以下是在CentOS上配置Apache安全策略的关键步骤:
更新系统与软件
sudo yum update -y
sudo yum install httpd -y # 安装Apache
安装安全模块
sudo yum install mod_security -y
sudo yum install mod_evasive -y
配置防火墙
使用firewalld
开放HTTP(80)和HTTPS(443)端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
强化Apache配置
/etc/httpd/conf/httpd.conf
,添加:ServerSignature Off
ServerTokens Prod
<Directory "/var/www/html">
Options -Indexes
</Directory>
<Directory "/var/www/html">
Require ip 192.168.1.0/24
</Directory>
启用SSL/TLS加密
mod_ssl
并配置证书:sudo yum install mod_ssl -y
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
/etc/httpd/conf.d/ssl.conf
,启用HTTPS:<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
</VirtualHost>
配置SELinux(可选)
若启用SELinux,需允许Apache访问网络:
sudo setsebool -P httpd_can_network_connect 1
定期备份与监控
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
/var/log/httpd/access_log
和/var/log/httpd/error_log
。注:配置后需重启Apache使生效:
sudo systemctl restart httpd