及时更新系统:定期应用安全补丁
# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
# RHEL/CentOS
sudo yum update -y
最小化安装原则:仅安装必要的服务和软件包
bash
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
server {
# 禁用不必要的HTTP方法
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 405;
}
# 安全头部设置
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header Content-Security-Policy "default-src 'self'";
add_header Referrer-Policy "strict-origin-when-cross-origin";
# 隐藏服务器信息
server_tokens off;
# SSL配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384...';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
}
# 禁用服务器签名
ServerSignature Off
ServerTokens Prod
# 安全头部
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
# 限制HTTP方法
<LimitExcept GET POST HEAD>
Deny from all
</LimitExcept>
ModSecurity:开源的WAF解决方案
# Ubuntu安装示例
sudo apt install libapache2-mod-security2 -y
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sudo systemctl restart apache2
Naxsi:Nginx的WAF模块
速率限制:防止暴力破解
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
location /api/ {
limit_req zone=api burst=20 nodelay;
}
JWT验证:确保API请求经过认证
bash
# OSSEC安装示例
sudo apt install ossec-hids-server -y
sudo /var/ossec/bin/ossec-control start
非root用户运行容器
FROM alpine
RUN adduser -D myuser
USER myuser
只读文件系统
docker run --read-only -d myapp
定期扫描镜像漏洞:使用Trivy或Clair
通过综合应用这些策略,可以显著提高Linux服务器Web接口的安全性,应对当前复杂的网络威胁环境。