跳转到内容

Security Configuration

此内容尚不支持你的语言。

Never commit API keys to version control:

.gitignore
.env
*.pem
*.key

Use environment variables:

Terminal window
export ANTHROPIC_API_KEY=sk-ant-xxxxx

Always verify webhook signatures:

# Telegram
import hmac
def verify_telegram_webhook(token, data, signature):
secret = hashlib.sha256(token.encode()).digest()
return hmac.compare_digest(
hmac.new(secret, data, hashlib.sha256).hexdigest(),
signature
)

Prevent abuse with rate limits:

Terminal window
RATE_LIMIT_ENABLED=true
RATE_LIMIT_REQUESTS=60 # requests per window
RATE_LIMIT_WINDOW=60 # window in seconds
RATE_LIMIT_BY=user # user, ip, or channel

Restrict access to specific users:

Terminal window
# Telegram
TELEGRAM_ALLOWED_USERS=123456789,987654321
# WhatsApp
WHATSAPP_ALLOWED_NUMBERS=+1234567890
# Discord
DISCORD_ALLOWED_GUILDS=123456789
Terminal window
# Only allow necessary ports
sudo ufw allow 22/tcp # SSH
sudo ufw allow 443/tcp # HTTPS (webhooks)
sudo ufw enable

Encrypt sensitive data:

Terminal window
# Enable encryption for stored sessions
ENCRYPTION_ENABLED=true
ENCRYPTION_KEY=your_32_byte_key_here
  • Use HTTPS for all webhooks
  • Claude API uses TLS by default

Enable comprehensive logging:

Terminal window
LOG_LEVEL=INFO
LOG_FILE=/var/log/clawdbot/audit.log
LOG_FORMAT=json
LOG_INCLUDE_USER=true