为了防止Debian上的Nginx服务器被攻击,可以采取以下几种措施:
隐藏版本号信息:
/etc/nginx/nginx.conf
,添加或修改以下行:server_tokens off;
配置安全HTTP响应头:
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Content-Security-Policy "default-src 'self'; http: https: data: blob: 'unsafe-inline'";
限制连接数和请求频率:
limit_conn addr 100;
limit_req zone $binary_remote_addr zone=req_zone:10m rate=10r/s burst=20 nodelay;
配置白名单:
location /admin/ {
allow 192.168.1.0/24;
allow 10.0.0.0/8;
deny all;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
}
启用HTTPS:
listen 443 ssl;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
if ($scheme != "https") {
return 301 https://$server_name$request_uri;
}
add_header Strict-Transport-Security "max-age=31536000" always;
优化SSL配置:
ssl_protocols TLSv1.2 TLSv1.3;
sudo ufw allow 'Nginx Full'
sudo ufw allow 22/tcp
sudo ufw enable
定期更新Nginx:
sudo apt-get update
sudo apt-get upgrade nginx
监控和日志管理:
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/access.log
通过以上措施,可以显著提高Debian上Nginx服务器的安全性,减少被攻击的风险。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Debian中如何利用Golang进行Web开发