在CentOS上安全配置Apache涉及多个步骤,以下是一个详细的指南:
sudo yum update
httpd.conf文件:
ServerRoot为Apache的安装目录。User和Group为特定的非root用户和组。LoadModule php7_module modules/libphp7.so
Require指令限制特定IP地址或IP段的访问。<Directory "/var/www/html">
Require all granted
Require ip 192.168.1.0/24
</Directory>
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
Options -Indexes
.htaccess文件:AllowOverride None
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/server.key -out /etc/pki/tls/certs/server.crt
httpd-ssl.conf文件:<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
</VirtualHost>
firewalld:sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
ServerSignature Off
ServerTokens Prod
通过上述配置,可以显著提高CentOS上Apache服务器的安全性。需要注意的是,安全配置是一个持续的过程,需要定期审查和更新以应对新的安全威胁。