首页主机资讯怎样提升CentOS Apache2安全性

怎样提升CentOS Apache2安全性

时间2025-10-09 13:46:03发布访客分类主机资讯浏览341
导读:1. 更新系统与Apache软件包 定期更新CentOS系统和Apache相关软件包,修复已知安全漏洞。执行命令:sudo yum update -y(或CentOS 8及以上使用dnf update -y)。 2. 配置防火墙限制访问 使...

1. 更新系统与Apache软件包
定期更新CentOS系统和Apache相关软件包,修复已知安全漏洞。执行命令:sudo yum update -y(或CentOS 8及以上使用dnf 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

若使用iptables,可添加规则:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT(类似处理443端口)。

3. 正确配置SELinux
SELinux可强化系统权限控制。若处于Enforcing模式(默认),需调整相关布尔值以允许Apache正常运行:

sudo setsebool -P httpd_can_network_connect 1  # 允许Apache连接网络(如数据库)
sudo setsebool -P httpd_can_sendmail 1        # 允许Apache发送邮件
sudo chcon -Rt httpd_sys_content_t /var/www/html  # 设置网站目录安全上下文

避免直接禁用SELinux(setenforce 0),以免降低系统安全性。

4. 禁用不必要的Apache模块
减少攻击面,禁用不使用的模块(如mod_cgimod_status)。编辑/etc/httpd/conf/httpd.conf,注释或删除对应LoadModule行:

# LoadModule cgi_module modules/mod_cgi.so
# LoadModule status_module modules/mod_status.so

重启Apache使更改生效:sudo systemctl restart httpd

5. 启用并配置安全模块

  • mod_security:拦截SQL注入、XSS等常见Web攻击。安装并启用:

    sudo yum install mod_security -y
    sudo vim /etc/httpd/conf.d/security2.conf
    

    添加基础规则:

    SecRuleEngine On
    SecRequestBodyAccess On
    SecResponseBodyAccess On
    SecAuditLog /var/log/httpd/modsec_audit.log
    
  • mod_evasive:防范DoS/DDoS攻击。安装并配置:

    sudo yum install mod_evasive -y
    sudo vim /etc/httpd/conf.d/evasive.conf
    

    设置阈值:

    <
        IfModule mod_evasive20.c>
        
        DOSHashTableSize 3097
        DOSPageCount 2       # 单IP每秒请求页面数超过2次触发
        DOSSiteCount 50      # 单IP每秒请求站点总次数超过50次触发
        DOSPageInterval 1    # 检测时间窗口(秒)
        DOSSiteInterval 1
        DOSBlockingPeriod 10 # 触发后封锁10<
        /IfModule>
        
    

    重启Apache:sudo systemctl restart httpd

6. 配置SSL/TLS加密通信
使用Let’s Encrypt免费证书启用HTTPS,加密数据传输。安装Certbot:

sudo yum install certbot python2-certbot-apache -y

获取并安装证书:

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

强制HTTPS重定向(可选):编辑虚拟主机配置,在< VirtualHost *:80> 中添加:

RewriteEngine On
RewriteCond %{
HTTPS}
 off
RewriteRule (.*) https://%{
HTTP_HOST}
%{
REQUEST_URI}
     [L]

重启Apache:sudo systemctl restart httpd

7. 隐藏Apache敏感信息
修改配置文件/etc/httpd/conf/httpd.conf,关闭版本号和服务器签名,防止信息泄露:

ServerTokens Prod    # 仅显示"Apache",不暴露版本
ServerSignature Off  # 关闭错误页面的服务器信息

重启Apache:sudo systemctl restart httpd

8. 限制访问权限

  • 文件/目录权限:设置网站根目录权限,仅允许Apache用户(apachehttpd)访问:
    sudo chown -R apache:apache /var/www/html
    sudo chmod -R 755 /var/www/html
    
  • IP限制:通过.htaccess或主配置文件限制敏感目录的访问IP:
    <
        Directory "/var/www/html/admin">
        
        Order deny,allow
        Deny from all
        Allow from 192.168.1.100  # 仅允许指定IP访问
    <
        /Directory>
        
    

9. 禁用目录列表
防止攻击者通过目录遍历查看敏感文件,编辑配置文件:

<
    Directory "/var/www/html">
    
    Options -Indexes  # 关闭目录列表
<
    /Directory>
    

重启Apache:sudo systemctl restart httpd

10. 监控与日志记录
定期检查Apache日志(/var/log/httpd/access_log/var/log/httpd/error_log),使用工具(如fail2ban)监控异常访问(如频繁的404错误、暴力破解),及时阻断恶意IP。

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


若转载请注明出处: 怎样提升CentOS Apache2安全性
本文地址: https://pptw.com/jishu/721331.html
CentOS Apache2配置缓存策略 如何使用Apache进行Gzip压缩

游客 回复需填写必要信息