1. 慢速攻击防护
SecConnEngine
- Description:Connection控制的总开关
- Scope: Any
- Syntax: SecConnEngine On|Off|DetectionOnly
- DetectionOnly:只检查并记log,不做其他处理
SecReadStateLimit
- Description:Apache在SERVER_BUSY_READ (接收request header) 状态下对per-ip 连接数限制,防Slowloris (slow header)攻击。
- 支持版本:< v2.8.0
- Scope: Main
- Syntax: Syntax: SecReadStateLimit LIMIT
- 默认值为0,没有限制
SecConnReadStateLimit
- Description:Apache在SERVER_BUSY_READ (接收request header) 状态下对per-ip 连接数限制,防Slowloris (slow header)攻击。
- 支持版本:>= v2.8.0
- 支持黑白名单
- Scope: Main
- Syntax: SecConnReadStateLimit LIMIT OPTIONAL_IP_MATCH_OPERATOR
SecConnReadStateLimit 50 "!@ipMatch 127.0.0.1"
SecWriteStateLimit
- Description: Apache在SERVER_BUSY_WRITE (接收request body) 状态下per-ip 连接数限制,防Slow DoS request body攻击.
- 支持版本:< v2.8.0
- Scope: Main
- Syntax: SecWriteStateLimit LIMIT
- 默认值为0,没有限制
SecConnWriteStateLimit
- Description: Apache在SERVER_BUSY_WRITE (接收request body) 状态下per-ip 连接数限制,防Slow DoS request body攻击.
- 支持版本:>= v2.8.0
- 支持黑白名单
- Scope: Main
- Syntax: SecConnWriteStateLimit LIMIT OPTIONAL_IP_MATCH_OPERATOR
SecConnWriteStateLimit 50 "!ipMatch 127.0.0.1"
2. 消息完整性认证
SecHashEngine
- Description:开启MAC功能.
- Scope: Any
- Syntax: SecHashEngine On|Off
- 默认Off
SecHashKey
- Description:定义用于HMAC的key。
- Scope: Any
- Syntax: SecHashKey rand|TEXT KeyOnly|SessionID|RemoteIP
SecHashKey "this_is_my_key" KeyOnly
SecHashParam
- Description: 定义将接收 MAC 哈希的参数名称。
- Scope: Any
- Syntax: SecHashParam TEXT
SecHashMethodRx
- Description: 基于正则表达式匹配,对HTML元素进行签名,必须使用 @validateHash 运算符来强制执行数据完整性。
- Scope: Any
- Syntax: SecHashMethodRx TYPE REGEX
- TYPE:
- HashHref: Used to sign href= html elements
- HashFormAction: Used to sign form action= html elements
- HashIframeSrc: Used to sign iframe src= html elements
- HashframeSrc: Used to sign frame src= html elements
- HashLocation: Used to sign Location response header
- REGEX
- TYPE:
SecHashMethodRx HashHref "product_info|list_product"
SecHashMethodPm
- Description: 基于字符串匹配,对HTML元素进行签名,必须使用 @validateHash 运算符来强制执行数据完整性。
- Scope: Any
- Syntax: SecHashMethodPm TYPE "string1 string2 string3..."
- TYPE: 与SecHashMethodRx的参数TYPE一致
- 字符串列表
SecHashMethodPm HashHref "product_info list_product"
3. PDF XSS防护
Version: < v2.5.0
SecPdfProtect
- Description: 启动PDF XSS包括功能
- 将请求从定向到包含one-time tokens的链接
- 带有有效tokens的请求被允许通过
- 带有无效tokens的请求,强制下载PDF文件
- Scope: Any
- Syntax: SecPdfProtect On|Off
SecPdfProtectMethod
- Description: PDF保护方式
- Scope: Any
- Syntax: SecPdfProtectMethod method
- method:
- TokenRedirection: 默认值
- ForcedDownload: 更安全
- method:
SecPdfProtectTokenName
- Description: 定义token名字
- Scope: Any
- Syntax: SecPdfProtectTokenName name
SecPdfProtectSecret
- Description: 定义将用于构造 one-time token的secret。
- Scope: Any
- Syntax: SecPdfProtectSecret secret
SecPdfProtectTimeout
- Description: 定义token失效时间。
- Scope: Any
- Syntax: SecPdfProtectTimeout timeout
4. DoS防护 & IDS
SecGuardianLog
- Description: 配置一个外部程序,通过piped logging接收关于每个transaction的消息。
- Guadian logging:发送每个请求的消息到一个第三发程序;
- httpd-gardian使用blacklist与iptables/pf防护墙交互,提供动态的黑名单防护;
- SnortSam: 开源的入侵检测系统
- Scope: Main,不能再VirtualHost中配置
- Syntax: SecGuardianLog |/path/to/httpd-guardian
SecGuardianLog |/usr/local/apache/bin/httpd-guardian
5. XEE
SecXmlExternalEntity
- Description: 启用或禁用 XEE processing。在没有正确验证过程的情况下加载外部实体会导致安全问题。当使用@validateSchema 或者 @validateDtd operators时必须启用XEE。
- Scope: Any
- Syntax: SecXmlExternalEntity On|Off
6. 基于地理位置的IP地址过滤
SecGeoLookupDb
- Description: 与geolocation集成,配置path to the database,根据地理位置进行访问控制。只支持legacy GeoIP格式。
- Scope: Any
- Syntax: SecGeoLookupDb /path/to/db
7. 安全浏览
SecGsbLookupDb
- Description: 定义将用于 Google 安全浏览 (GSB) 查找的数据库的路径。安全浏览可以对响应中不安全的连接进行消毒。
- Scope: Any
- Syntax: SecGsbLookupDb /path/to/db
8. Honeypot Project
SecHttpBlKey
- Description: 配置用户注册的Honeyport Project HTTP BL API Key, 与@rbl一起使用。
- Scope: Main
- Syntax: SecHttpBlKey [12 char access key]
SecHttpBlKey whdkfieyhtnf
Reference:
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual