在CentOS系统中,Apache2(通常称为httpd)的防盗篡改配置可以通过多种方式实现,包括使用mod_security模块、文件完整性监控工具以及配置合适的权限和访问控制。以下是一些基本的步骤和建议:
mod_security是一个开源的Web应用防火墙(WAF),可以帮助防止SQL注入、跨站脚本(XSS)和其他常见的Web攻击。
sudo yum install mod_security
编辑Apache配置文件(通常是/etc/httpd/conf/httpd.conf或/etc/httpd/conf.d/security.conf),添加以下内容:
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess On
SecAuditLog /var/log/httpd/modsec_audit.log
SecAuditLogParts ABIJDEFHZ
SecAuditLogRelevantStatus "^(?:5|4(?!04))"
SecDataDir "/var/cache/mod_security"
</IfModule>
文件完整性监控工具可以检测Web服务器配置文件和关键文件的未经授权更改。
sudo yum install aide
编辑AIDE配置文件(通常是/etc/aide.conf),添加需要监控的文件和目录:
FILESYSTEM
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
/var/www/html/*
初始化AIDE数据库:
sudo aide --init
定期检查文件完整性:
sudo aide --check
确保Web服务器的文件和目录权限设置正确,以防止未经授权的访问和修改。
sudo chown -R apache:apache /var/www/html
sudo chmod -R 755 /var/www/html
编辑Apache配置文件,添加或修改<Directory>指令以限制访问:
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
定期备份Web服务器的配置文件和关键数据,并设置监控系统以实时检测异常行为。
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
sudo cp -r /var/www/html /var/www/html.bak
可以使用工具如Prometheus和Grafana来监控服务器的性能和日志,及时发现异常行为。
通过以上步骤,可以大大提高CentOS系统中Apache2服务器的安全性,防止防盗篡改。