温馨提示×

centos apache2如何安全设置

小樊
77
2025-04-06 16:04:13
栏目: 智能运维

在CentOS系统上设置Apache2的安全配置,可以遵循以下步骤:

1. 关闭SELinux和防火墙

  • 关闭SELinux
    sudo setenforce 0
    sudo nano /etc/selinux/config
    # 将SELINUX=enforcing改为SELINUX=disabled,然后保存退出
    
  • 关闭防火墙
    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    

2. 安装Apache和SSL模块

sudo yum install httpd mod_ssl

3. 配置Apache

  • 修改Apache配置文件: 编辑 /etc/httpd/conf/httpd.conf 文件,设置用户和用户组为 webuser
    User webuser
    Group webuser
    
  • 限制资源使用: 编辑 /etc/systemd/system/multi-user.target.wants/httpd.service 文件,限制Apache使用的内存:
    memory_limit_in_bytes=500*1024*1024
    
    然后重启Apache:
    sudo systemctl daemon-reload
    sudo systemctl restart httpd
    

4. 启用TLS访问

  • 创建SSL证书和密钥:
    sudo openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt
    
  • 配置Apache使用SSL: 在 /etc/httpd/conf.d/ssl.conf 中添加或修改以下内容:
    <VirtualHost *:443>
        ServerName www.example.com
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/apache-selfsigned.crt
        SSLCertificateKeyFile /etc/pki/tls/private/apache-selfsigned.key
        SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt
    
        <Directory "/var/www/html">
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
  • 强制HTTPS重定向: 在网站根目录下创建或编辑 .htaccess 文件,添加以下内容:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
    

5. 配置防火墙

  • 开放必要的端口
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    sudo firewall-cmd --reload
    
  • 设置防火墙开机自启
    sudo systemctl enable firewalld
    sudo systemctl start firewalld
    

6. 隐藏Apache版本信息

/etc/httpd/conf/httpd.conf 中添加或修改以下行:

ServerTokens Prod
ServerSignature Off

7. 创建认证口令文件

使用 htpasswd 命令创建认证口令文件:

sudo htpasswd -cm /etc/httpd/conf/passwd users

然后在 httpd.conf 中配置认证:

<Directory "/var/www/html">
    AuthName "Restricted Access"
    AuthType Basic
    AuthUserFile /etc/httpd/conf/passwd
    Require valid-user
</Directory>

8. 重启Apache服务

完成所有配置后,重启Apache服务以应用更改:

sudo systemctl restart httpd

以上步骤可以帮助你增强CentOS上Apache2服务器的安全性。请根据实际需求调整配置,并定期更新和检查安全设置。

0