在Ubuntu上配置Apache服务器以防止盗篡改,可以通过以下几种方法来实现:
mod_rewrite模块可以用来重写URL,从而防止直接访问敏感文件。
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html <Directory /var/www/html> Options FollowSymLinks AllowOverride All Require all granted </Directory> RewriteEngine On RewriteCond %{REQUEST_FILENAME} \.(htaccess|htpasswd|ini|conf)$ RewriteRule ^ - [F,L] </VirtualHost> mod_security是一个强大的Web应用防火墙(WAF),可以防止各种攻击,包括SQL注入、XSS等。
首先,安装mod_security和libapache2-mod-security2:
sudo apt-get update sudo apt-get install libapache2-mod-security2 然后,启用mod_security:
sudo a2enmod security2 编辑/etc/modsecurity/modsecurity.conf文件,配置规则:
SecRuleEngine On SecRequestBodyAccess On SecResponseBodyAccess On SecAuditEngine RelevantOnly SecAuditLog /var/log/modsec_audit.log 在网站的根目录下创建或编辑.htaccess文件,添加以下内容:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} \.(htaccess|htpasswd|ini|conf)$ RewriteRule ^ - [F,L] </IfModule> <FilesMatch "\.(php|pl|py|jsp|asp|sh|cgi)$"> Order Allow,Deny Deny from all </FilesMatch> 如果你的系统启用了SELinux或AppArmor,可以进一步限制Apache的权限,防止恶意访问。
sudo apt-get install selinux-basics selinux-policy-default sudo setenforce 1 然后,配置SELinux策略以限制Apache的访问。
sudo apt-get install apparmor apparmor-utils sudo aa-enforce /etc/apparmor.d/usr.sbin.apache2 定期备份网站文件和数据库,并设置监控系统(如Fail2Ban)来检测和阻止恶意访问。
sudo apt-get install fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban 通过以上方法,你可以大大提高Ubuntu Apache服务器的安全性,防止盗篡改。