在CentOS系统上配置Apache 2.4的安全设置,可以遵循以下步骤来提高服务器的安全性:
1. 定期更新系统和软件包
- 确保系统和Apache软件包保持最新,以修补已知的安全漏洞。
sudo yum update
2. 配置防火墙
- 使用
firewalld
管理防火墙,允许必要的端口(如HTTP的80端口和HTTPS的443端口)。sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
3. 禁用不必要的服务和模块
- 禁用不需要的服务和Apache模块,减少攻击面。
sudo a2dismod module_name
4. 隐藏Apache版本信息
- 编辑
httpd.conf
文件,设置ServerTokens Prod
和ServerSignature Off
来隐藏版本信息。sudo vi /etc/httpd/conf/httpd.conf # 修改以下行 ServerTokens Prod ServerSignature Off
5. 强化认证和授权
- 使用
.htaccess
文件或直接在配置文件中设置认证和授权,如基本认证(Basic Authentication)。AuthType Basic AuthName "Restricted Access" AuthUserFile /etc/apache2/dav_auth.passwd Require valid-user
6. 配置SSL/TLS
- 为网站配置SSL/TLS证书,启用HTTPS。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/server.key -out /etc/pki/tls/certs/server.crt sudo vi /etc/httpd/conf.d/ssl.conf # 确保以下配置存在 SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key
7. 限制资源使用
- 通过配置Apache的
LimitRequestBody
指令来限制上传文件的大小,防止资源耗尽攻击。LimitRequestBody 52428800
8. 监控和日志
- 启用详细的日志记录,并定期检查日志文件以发现异常行为。
9. 使用SELinux
- 如果系统支持SELinux,可以进一步配置SELinux来限制Apache的访问权限。
sudo setenforce 1
10. 定期审计
- 定期审计Apache配置和系统设置,确保没有安全漏洞。