首页主机资讯Linux Apache2安全设置步骤

Linux Apache2安全设置步骤

时间2025-11-27 11:04:03发布访客分类主机资讯浏览461
导读:Linux Apache2 安全设置步骤 一 基础加固 更新系统与软件包:保持系统及 Apache2 为最新版本,及时修补漏洞。 最小权限运行:确保以非特权用户/组运行(如 www-data),避免使用 root。 精简模块:禁用不需要的...

Linux Apache2 安全设置步骤

一 基础加固

  • 更新系统与软件包:保持系统及 Apache2 为最新版本,及时修补漏洞。
  • 最小权限运行:确保以非特权用户/组运行(如 www-data),避免使用 root。
  • 精简模块:禁用不需要的模块以减少攻击面,例如 autoindex、status、userdir、cgi 等;需要时再启用。
  • 目录与权限:对网站根目录设置合理权限,禁止目录浏览,限制 .ht* 文件覆盖。
  • 隐藏版本信息:降低信息泄露风险,设置 ServerTokens Prod 等。
  • 日志与监控:启用并定期检查访问与错误日志,便于审计与告警。

二 网络与访问控制

  • 防火墙放行:仅开放必要端口(如 80/443)。
    • Ubuntu/Debian(UFW):sudo ufw allow 'Apache Full' & & sudo ufw enable
    • CentOS/RHEL(firewalld):sudo firewall-cmd --permanent --add-service=http --add-service=https & & sudo firewall-cmd --reload
  • 访问控制示例:对管理路径或敏感目录限制来源 IP。
    <
        Directory "/var/www/html/admin">
        
        Require all denied
        Require ip 203.0.113.0/24 198.51.100.10
    <
        /Directory>
        
    
  • 目录列表:全局或指定目录禁用列目录。
    <
        Directory "/var/www/html">
        
        Options -Indexes +FollowSymLinks
        AllowOverride None
        Require all granted
    <
        /Directory>
        
    
  • 可选端口变更:如需变更监听端口,修改 ports.confListen 80/443,并同步防火墙放行新端口。

三 加密与认证

  • 启用 HTTPS/TLS:优先使用 Let’s Encrypt 自动签发并配置证书。
    • Ubuntu/Debian:sudo apt install certbot python3-certbot-apache
    • CentOS/RHEL:sudo yum install certbot python2-certbot-apache(或 python3 版本)
    • 获取证书:sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
  • 手动配置 SSL(自签名,测试用):
    sudo a2enmod ssl
    sudo mkdir -p /etc/apache2/ssl
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
         -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
    
    在虚拟主机 VirtualHost 段启用:
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  • 基础认证示例:
    <
        Directory "/var/www/html/secret">
        
        AuthType Basic
        AuthName "Restricted"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    <
        /Directory>
        
    

四 安全头与请求限制

  • 安全响应头(建议启用):
    <
        IfModule mod_headers.c>
        
        Header always set X-Content-Type-Options "nosniff"
        Header always set X-Frame-Options "SAMEORIGIN"
        Header always set X-XSS-Protection "1;
         mode=block"
        Header always set Referrer-Policy "no-referrer-when-downgrade"
        Header always set Strict-Transport-Security "max-age=63072000;
         includeSubDomains;
         preload"
        Header always set Content-Security-Policy "default-src 'self';
         script-src 'self';
         object-src 'none';
        "
    <
        /IfModule>
    
    
  • 请求限制与抗 DoS:
    • 安装并配置 mod_evasive 缓解暴力与 DoS:
      sudo apt install libapache2-mod-evasive
      sudo mkdir -p /var/log/apache2/evasive
      sudo chown www-data:root /var/log/apache2/evasive
      
      示例参数(/etc/apache2/mods-available/evasive.conf 或相应加载配置):
      DOSHashTableSize 2048
      DOSPageCount 20
      DOSPageInterval 1.0
      DOSSiteCount 300
      DOSSiteInterval 1.0
      DOSBlockingPeriod 10.0
      DOSLogDir "/var/log/apache2/evasive"
      
    • 可选:安装 mod_qos 做连接速率与并发控制(按业务调优)。

五 运行时防护与审计

  • Web 应用防火墙:部署 mod_security 并加载规则集,增强对 SQLi、XSS 等的拦截能力。
    sudo apt install libapache2-mod-security2
    sudo a2enmod security2
    sudo systemctl restart apache2
    
  • 入侵防护:使用 Fail2Ban 监控日志并自动封禁恶意来源(SSH/HTTP 等)。
    sudo apt install fail2ban
    sudo systemctl enable --now fail2ban
    
  • SELinux/AppArmor:在 RHEL/CentOS 启用并调优 SELinux 布尔与上下文;在 Ubuntu/Debian 可使用 AppArmor 对 Apache 进程进行最小权限约束。
  • 日志与备份:
    • 日志级别与路径:
      LogLevel warn
      ErrorLog ${
      APACHE_LOG_DIR}
      /error.log
      CustomLog ${
      APACHE_LOG_DIR}
          /access.log combined
      
    • 定期备份配置与站点:
      sudo tar -czvf /backup/apache2-backup_$(date +%F).tar.gz /etc/apache2 /var/www/html
      
  • 变更生效与验证:每次修改后执行 sudo systemctl reload apache2(或 restart),并使用 apache2ctl configtest 检查语法;通过浏览器或命令行工具验证 HTTP/HTTPS 访问、响应头与安全策略是否生效。

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


若转载请注明出处: Linux Apache2安全设置步骤
本文地址: https://pptw.com/jishu/757686.html
Debian Java配置要注意啥 如何用Apache2搭建网站

游客 回复需填写必要信息