首页主机资讯CentOS下Apache安全配置指南

CentOS下Apache安全配置指南

时间2025-12-12 00:52:04发布访客分类主机资讯浏览1379
导读:CentOS 下 Apache 安全配置指南 一 基础加固 保持系统与应用为最新:执行 sudo yum update -y,及时修补漏洞。 精简与禁用不必要的模块:如非必需,禁用 mod_cgi、mod_status、mod_userd...

CentOS 下 Apache 安全配置指南

一 基础加固

  • 保持系统与应用为最新:执行 sudo yum update -y,及时修补漏洞。
  • 精简与禁用不必要的模块:如非必需,禁用 mod_cgi、mod_status、mod_userdir、mod_autoindex、mod_info、mod_version 等,减少攻击面。
  • 隐藏版本与系统信息:在全局或主配置中加入
    • ServerTokens Prod
    • ServerSignature Off
  • 禁止目录浏览:在站点或全局目录段设置 Options -Indexes
  • 限制 HTTP 方法与请求大小:在需要的虚拟主机或目录段加入
    • Require all denied
    • LimitRequestBody 10485760(示例为 10MB,按业务调整)。
  • 禁用危险或易被滥用的功能:
    • TraceEnable Off(禁用 TRACE)
    • 如不使用 CGI/SSI,注释或禁用 mod_cgi、mod_include
  • 运行身份最小化:确认 User apacheGroup apache,避免使用高权限账户运行。
  • 访问控制:对管理后台、配置文件目录等敏感路径,仅允许可信来源访问,例如:
    • < Directory “/var/www/admin”> Require ip 203.0.113.0/24
  • 文件与目录权限:网站根目录建议 chown -R apache:apache /var/www/htmlchmod -R 755 /var/www/html;禁止 Web 可写敏感目录。
  • 备份与变更管理:变更前备份配置 cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak,变更后校验并重载服务。

二 传输加密与证书

  • 启用 mod_ssl 并打开 SSLEngine on;准备证书与(可选)证书链文件。示例虚拟主机片段:
    • SSLCertificateFile /etc/pki/tls/certs/your_domain.crt
    • SSLCertificateKeyFile /etc/pki/tls/private/your_domain.key
    • SSLCertificateChainFile /path/to/chainfile.crt(如 CA 提供)
  • 自签名证书(测试环境可用):
    • 生成命令:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt
  • 防火墙放行:
    • sudo firewall-cmd --permanent --add-service=http
    • sudo firewall-cmd --permanent --add-service=https
    • sudo firewall-cmd --reload
  • 生产环境建议使用 Let’s Encrypt/Certbot 自动签发与续期:
    • 安装:sudo yum install certbot python2-certbot-apache -y
    • 申请并自动配置:sudo certbot --apache -d yourdomain.com
  • 证书与私钥文件权限:私钥建议 600,证书 644,属主 root:root

三 访问控制与请求限制

  • 目录与文件粒度的访问控制:
    • 对外公开目录:AllowOverride None(减少 .htaccess 风险),Require all granted
    • 管理或敏感目录:仅内网或白名单网段可访问,示例:
      • < Directory “/var/www/admin”> Require ip 203.0.113.0/24
  • 禁用 Web 根目录之外的访问:对敏感系统路径(如 /etc、/var/log、/root)返回 403
  • 限制 HTTP 方法:仅允许业务所需方法(如 GET/POST),对 PUT/DELETE/TRACE 等禁用。
  • 限制请求体大小:对上传或接口场景设置 LimitRequestBody,防止滥用导致资源耗尽。
  • 启用 mod_rewrite 做跳转与强制 HTTPS:
    • 例:将所有 HTTP 跳转至 HTTPS
      • RewriteEngine On
      • RewriteCond %{ HTTPS} off
      • RewriteRule ^(.*)$ https://%{ HTTP_HOST} $1 [L,R=301]

四 运行环境与 SELinux

  • 以最小权限运行:确认 User apache / Group apache;Web 内容属主 apache:apache,权限 755/644 分级设置。
  • 目录类型与上下文:对自定义目录设置正确的 SELinux 上下文,例如
    • sudo chcon -Rt httpd_sys_content_t /var/www/html
  • 按需开启布尔值(示例):
    • 若后端在 127.0.0.1:3306,可临时测试:sudo setsebool -P httpd_can_network_connect_db 1
    • 如需访问用户主目录内容:sudo setsebool -P httpd_enable_homedirs 1
  • 不建议直接禁用 SELinux(enforcing → disabled);应通过审计日志与策略调整解决权限问题。
  • 变更后使用 sudo systemctl restart httpd 重载服务,并观察 journalctl -xeu httpd/var/log/httpd/error_log

五 监控 日志与持续维护

  • 日志配置与轮转:确保启用访问与错误日志,使用 combined 格式便于分析;配置 logrotate 防止磁盘被占满。
  • 实时监控与告警:定期审计 /var/log/httpd/access_logerror_log,对异常状态码(如 4xx/5xx 突增)、可疑 UA/来源 IP、暴力访问等进行告警。
  • 防护扩展:
    • 部署 mod_evasive 缓解 DoS/DDoS
    • 部署 ModSecurity + OWASP Core Rule Set 作为 WAF 缓解 SQLi/XSS/文件上传 等常见漏洞。
  • 变更与备份:每次调整配置先备份,变更后用 httpd -t 做语法校验,再 systemctl reload httpd;保留多份历史配置与证书。
  • 持续更新:定期 yum update 与证书续期(如 certbot renew --dry-run 预演)。

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


若转载请注明出处: CentOS下Apache安全配置指南
本文地址: https://pptw.com/jishu/770009.html
CentOS中Filebeat如何实现日志过滤 Filebeat在CentOS上的日志加密方法是什么

游客 回复需填写必要信息