yum update
或 apt-get upgrade
保持系统最新sudo apt-get install unattended-upgrades
(Debian/Ubuntu)sudo apt-get autoremove
systemctl disable [service-name]
netstat -tulnp
检查开放端口,关闭非必要端口# 在httpd.conf或apache2.conf中添加:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
FileETag None
Header always append X-Frame-Options SAMEORIGIN
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
# 在nginx.conf中添加:
server_tokens off;
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'";
expose_php = Off
display_errors = Off
log_errors = On
allow_url_fopen = Off
allow_url_include = Off
session.cookie_httponly = 1
session.cookie_secure = 1
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑/etc/fail2ban/jail.local
配置适当的封禁规则和期限
sudo apt-get install libapache2-mod-security2
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
启用OWASP核心规则集(CRS):
sudo git clone https://github.com/coreruleset/coreruleset /etc/modsecurity/crs
sudo cp /etc/modsecurity/crs/crs-setup.conf.example /etc/modsecurity/crs/crs-setup.conf
nikto -h yourdomain.com
lynis audit system
sudo nano /etc/ssh/sshd_config
修改以下参数:
Port 2222 # 更改默认端口
PermitRootLogin no # 禁止root登录
PasswordAuthentication no # 仅允许密钥认证
MaxAuthTries 3 # 最大尝试次数
sudo htpasswd -c /etc/apache2/.htpasswd adminuser
sudo apt-get install ossec-hids
# 使用cron定时备份
0 3 * * * /usr/bin/rsync -avz /var/www/ /backup/web-$(date +\%Y\%m\%d)
0 4 * * * /usr/bin/mysqldump -u root -p[password] --all-databases > /backup/db-$(date +\%Y\%m\%d).sql
sha256sum backup-file.tar.gz
通过实施这些措施,您可以显著提高Linux服务器上Web接口的安全性。请记住,安全是一个持续的过程,需要定期审查和更新防护措施。