Apache httpd的配置文件备忘录

总览

需要考虑的 Apache httpd 配置列表,以确保安全性。
最好至少设置以下配置。

安全

服务器令牌

仅显示HTTP响应头中的最少信息。

ServerTokens Prod

标题

点击劫持防范措施

Header always append X-Frame-Options SAMEORIGN

追踪功能

XST防范措施 (XST prevention measures)

TraceEnable Off

核心转储目录

用于获取核心(Core)的障碍发生时的操作

CoreDumpDirectory /var/log/core

目录

操作系统「/」访问默认禁止。

<Directory />
  Options None
  AllowOverride None
  Require all denied
</Directory>

限制预期

禁止使用除了「GET」、「POST」和「HEAD」之外的方法

<Directory />
  Options None
  AllowOverride None
  <LimitExpect GET POST HEAD>
    Require all denied
  </LimitExpect>
</Directory>

错误日志

指定错误日志文件

ErrorLog /var/log/httpd/error.log

日志级别

指定日志级别

LogLevel notice core:info

日志格式

日志格式定义

<IfModule log_config_module>
  LogFormat "%h %t \"%r\" %>s %b %D \"%{Host}i\" \"%{User_Agent}i\" %{pid}P %{tid}P %{SSL_PROTOCOL}x %{SSL_CIPHER}x %{SSL_CIPHER_USEKEYSIZE}x" fmt_accesslog
  SetEnvIf User-Agent "ELB-HealthChecker.*" fmt_healthchecklog
  Customlog /var/log/httpd/httpd_access.log fmt_accesslog env=!fmt_healthchecklog
  Customlog /var/log/httpd/httpd_healthchk.log fmt_accesslog env=fmt_healthchecklog
</IfModule>

关闭服务器签名

版本信息的隐藏

ServerSignature Off

SSLHonorCipherOrder: SSL加密算法顺序排序

在HTTPS连接中,将优先采用服务器配置的加密算法以防止降级攻击等。

SSLHonorCipherOrder on

SSL不安全重新协商

SSLInsecureRenegotiation Off

SSL压缩

对于“侧信道攻击”如CRIME或BEAST的防御措施。

SSLCompression Off

SSL协议

使用危险的老旧协议可能会遭受针对老旧协议的降级攻击等风险,因此只需启用新协议。

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

加密套件。

为了保持安全性,我们需要将加密算法限定在强度高的算法中。以下示例是基于最新浏览器保持安全强度的示例。

SSLCipherSuite HIGH:!RC4+RSA:!EXP:!eNULL:!aNULL:!SRP:!PSK:!MD5:!3DES

重写条件 xiě

禁止使用除了「GET」、「POST」和「HEAD」以外的其他方法

RewriteCond %{REQUEST_METHOD} !^(POST|GET|HEAD)$

远程IP标题

发送者控制

RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 10.0.0.0/8
<Location />
  <RequireAll>
    Require all granted
    Require no ip 1.2.3.4/32
  </RequireAll>
</Locatiion>
广告
将在 10 秒后关闭
bannerAds