首页主机资讯centos下apache2安全设置

centos下apache2安全设置

时间2025-11-06 18:01:04发布访客分类主机资讯浏览218
导读:1. 系统与Apache软件更新 定期更新CentOS系统和Apache及其依赖模块,及时修补已知安全漏洞。执行命令:sudo yum update -y。 2. 配置防火墙限制访问 使用firewalld仅开放HTTP(80端口)和HTT...

1. 系统与Apache软件更新
定期更新CentOS系统和Apache及其依赖模块,及时修补已知安全漏洞。执行命令:sudo yum update -y

2. 配置防火墙限制访问
使用firewalld仅开放HTTP(80端口)和HTTPS(443端口),阻断其他不必要的网络访问。操作步骤:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

3. 禁用不必要的模块与服务
关闭Apache非必需模块(如mod_cgimod_status),减少攻击面。编辑/etc/httpd/conf/httpd.conf,注释或删除对应LoadModule行(例如#LoadModule cgi_module modules/mod_cgi.so)。

4. 隐藏Apache版本与敏感信息
修改Apache主配置文件(/etc/httpd/conf/httpd.conf),添加以下指令隐藏版本号和服务器签名,降低针对性攻击风险:

ServerTokens Prod
ServerSignature Off

5. 强化访问控制与权限管理

  • 限制目录列表:在/etc/httpd/conf/httpd.conf中为网站根目录(如/var/www/html)禁用自动索引,防止敏感文件泄露:
    <
        Directory "/var/www/html">
        
        Options -Indexes +FollowSymLinks
        AllowOverride None
        Require all granted
    <
        /Directory>
    
    
  • 设置合理权限:将网站目录所有者设为apache用户/组,权限设为755(目录)和644(文件):
    sudo chown -R apache:apache /var/www/html
    sudo find /var/www/html -type d -exec chmod 755 {
    }
         \;
    
    sudo find /var/www/html -type f -exec chmod 644 {
    }
         \;
        
    

6. 启用安全模块防护

  • mod_security:作为Web应用防火墙(WAF),拦截SQL注入、XSS等恶意请求。安装并启用:
    sudo yum install mod_security -y
    
    创建配置文件/etc/httpd/conf.d/security2.conf,添加基础规则:
    SecRuleEngine On
    SecRequestBodyAccess On
    SecAuditLog /var/log/httpd/security_audit.log
    
  • mod_evasive:防御DDoS攻击和暴力破解,限制同一IP的请求频率。安装并配置:
    sudo yum install mod_evasive -y
    
    编辑/etc/httpd/conf.d/evasive.conf,设置阈值:
    <
        IfModule mod_evasive20.c>
        
        DOSHashTableSize 3097
        DOSPageCount 2
        DOSSiteCount 50
        DOSPageInterval 1
        DOSSiteInterval 1
        DOSBlockingPeriod 10
    <
        /IfModule>
        
    

7. 配置SSL/TLS加密通信
使用certbot获取Let’s Encrypt免费SSL证书,启用HTTPS。操作流程:

sudo yum install certbot python2-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

证书自动配置后,Apache会自动重定向HTTP请求至HTTPS,确保数据传输安全。

8. 日志监控与审计
启用Apache详细日志记录,定期分析异常行为。在/etc/httpd/conf/httpd.conf中确认以下配置:

ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined

使用tail -f /var/log/httpd/access_log实时监控访问日志,或通过logwatch工具生成每日报告。

9. SELinux配置(若启用)
若SELinux处于Enforcing模式,需调整策略允许Apache访问必要资源。常见操作:

  • 允许Apache访问日志目录:
    sudo setsebool -P httpd_can_write_log 1
    
  • 允许Apache通过网络连接数据库(如MySQL):
    sudo setsebool -P httpd_can_network_connect_db 1
    
  • 更改网站目录的安全上下文:
    sudo chcon -Rt httpd_sys_content_t /var/www/html
    

10. 其他高级防护措施

  • 使用Fail2ban:监控Apache日志(如error_log),自动封禁多次尝试失败的IP地址。安装并配置:
    sudo yum install fail2ban -y
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    
    创建/etc/fail2ban/jail.local,添加Apache防护规则:
    [apache]
    enabled = true
    port = http,https
    filter = apache-auth
    logpath = /var/log/httpd/error_log
    maxretry = 3
    bantime = 600
    
  • 配置HTTP安全头:通过mod_headers模块添加安全响应头,防范XSS、点击劫持等攻击。编辑/etc/httpd/conf/httpd.conf,添加:
    <
        IfModule mod_headers.c>
        
        Header set X-XSS-Protection "1;
         mode=block"
        Header always append X-Frame-Options SAMEORIGIN
        Header set X-Content-Type-Options nosniff
    <
        /IfModule>
        
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos下apache2安全设置
本文地址: https://pptw.com/jishu/744187.html
apache2如何支持centos新特性 CentOS Apache2如何支持HTTPS协议

游客 回复需填写必要信息