在CentOS系统中配置Apache2以防止盗劫持,可以采取以下措施:
确保你的系统和Apache2都是最新版本,因为新版本通常包含安全修复和增强功能。
sudo yum update
sudo yum install httpd
使用firewalld或iptables来限制对Apache服务的访问。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
sudo service iptables save
sudo service iptables restart
使用SSL/TLS证书来加密数据传输,防止中间人攻击。
sudo yum install mod_ssl
sudo systemctl enable httpd
sudo systemctl start httpd
编辑/etc/httpd/conf.d/ssl.conf文件,配置SSL证书和密钥路径。
<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /path/to/your/certificate.crt
SSLCertificateKeyFile /path/to/your/private.key
SSLCertificateChainFile /path/to/your/chainfile.pem
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Apache有一些模块可以帮助防止盗劫持,例如mod_rewrite和mod_security。
sudo yum install mod_rewrite
在httpd.conf或apache2.conf中启用mod_rewrite:
LoadModule rewrite_module modules/mod_rewrite.so
sudo yum install mod_security
编辑/etc/httpd/conf.d/security2.conf文件,启用mod_security并配置基本规则:
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess On
SecAuditLog /var/log/httpd/modsec_audit.log
SecAuditLogParts ABIJDEFHZ
SecAuditLog /var/log/httpd/modsec_audit.log
SecAuditLogParts ABIJDEFHZ
在网站的根目录下创建或编辑.htaccess文件,添加防盗劫持规则。
RewriteEngine On
# 防止目录列表
Options -Indexes
# 防止文件下载
RewriteCond %{REQUEST_FILENAME} \.(php|jsp|asp|exe|sh|cgi)$ [NC]
RewriteRule ^(.*)$ - [F,L]
# 防止SQL注入
RewriteCond %{QUERY_STRING} (.*)(?:\'|\"|;|\)|\(|\)) [NC]
RewriteRule ^(.*)$ - [F,L]
# 防止XSS攻击
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+[>|%3E] [NC]
RewriteRule ^(.*)$ - [F,L]
定期备份你的网站文件和数据库,并设置监控系统来检测异常流量和攻击行为。
通过以上步骤,你可以大大提高CentOS系统中Apache2的安全性,防止盗劫持和其他常见的网络攻击。