OWASP CSRは大体どんなルールなのかを把握

OWASP CSR

# cd /etc/httpd/modsecurity.d/activated_rules/
# ls
modsecurity_35_bad_robots.data
modsecurity_35_scanners.data
modsecurity_40_generic_attacks.data
modsecurity_41_sql_injection_attacks.data
modsecurity_50_outbound.data
modsecurity_50_outbound_malware.data
modsecurity_crs_20_protocol_violations.conf
modsecurity_crs_21_protocol_anomalies.conf
modsecurity_crs_23_request_limits.conf
modsecurity_crs_30_http_policy.conf
modsecurity_crs_35_bad_robots.conf
modsecurity_crs_40_generic_attacks.conf
modsecurity_crs_41_sql_injection_attacks.conf
modsecurity_crs_41_xss_attacks.conf
modsecurity_crs_42_tight_security.conf
modsecurity_crs_45_trojans.conf
modsecurity_crs_47_common_exceptions.conf
modsecurity_crs_48_local_exceptions.conf.example
modsecurity_crs_49_inbound_blocking.conf
modsecurity_crs_50_outbound.conf
modsecurity_crs_59_outbound_blocking.conf
modsecurity_crs_60_correlation.conf


大体こんな感じ(あんまり中身は見ず適当)なのです。
あくまでもだいたい。

modsecurity_crs_20_protocol_violations

# Validate request line against the format specified in the HTTP RFC
 リクエストラインがhttpのrfcに沿っているか
# Identify Invalid URIs Blocked by Apache 
 ApacheによるURI不正チェック
# Identify multipart/form-data name evasion attempts 
 ヘッダのfilename-parmのチェック
# Verify that we've correctly processed the request body.
 request bodyのパースチェック
# Strict Multipart Parsing Checks
 マルチパートのパースチェック
# Multipart Unmatched Boundary Check
 マルチパートのバウンダリーチェック
# Accept only digits in content length 
 content length は数値か
# Do not accept GET or HEAD requests with bodies
 GET、HEADの場合BODYを含んでいないか
# Require Content-Length to be provided with every POST request.
 POSTの場合Content-Lengthを含んでいるか
# Deny inbound compressed content
 Content-Encodingヘッダのチェック
# Expect header is an HTTP/1.1 protocol feature
 HTTP/1.1でヘッダのチェック
# Pragma Header requires a Cache-Control Header
 Pragma HeaderがCache-Controlを含んでいるか
# Range Header Checks
 リクエストヘッダのRangeチェック
# Broken/Malicous clients often have duplicate or conflicting headers
 ヘッダの重複がないか
# Check URL encodings
 URLエンコードのチェック
# Check UTF enconding
 UTFエンコードのチェック
# Disallow use of full-width unicode as decoding evasions my be possible.
 全角ユニコードのデコードが可能か
# Restrict type of characters sent
 ASCIIコードの範囲か

modsecurity_crs_21_protocol_anomalies.conf

# Missing/Empty Host Header
 hostヘッダが空でないか
# Missing/Empty Accept Header
 Acceptヘッダが空でないか
# Missing/Empty User-Agent Header
 User-Agentヘッダが空でないか
# Missing Content-Type Header with Request Body 
 Content-Typeヘッダが空でないか
# Check that the host header is not an IP address 
 hostヘッダがIPアドレスでないか

modsecurity_crs_23_request_limits.conf

# Limit argument name length
 URLパラメータ名の上限長
# Limit value name length
 URLパラメータ値のの上限長
# Maximum number of arguments in request limited
 URLパラメータ数の上限
# Limit arguments total length
 URLパラメータ全体の上限長
# Individual file size is limited
 ファイルサイズの上限
# Combined file size is limited
 入力ファイルサイズの上限

modsecurity_crs_30_http_policy.conf

# allow request methods
 許容するリクエストメソッド
# Restrict which content-types we accept.
 許容するcontent-type
# Restrict protocol versions.
 許容するHTTPプロトコルバージョン
# Restrict file extension
 許容するファイル拡張子
# Restricted HTTP headers 
 許容するHTTPヘッダ

modsecurity_crs_35_bad_robots.conf

User-Agentでスキャナとか許容しないロボットをチェック

modsecurity_crs_40_generic_attacks.conf

いろんなインジェクションをチェック

# OS Command Injection Attacks
# Coldfusion Injection
# LDAP Injection
# SSI injection
# UPDF XSS
# Email Injection
# HTTP Request Smuggling
# HTTP Response Splitting
# RFI Attack
# Prequalify Request Matches
# Session fixation
# File Injection
# Command access
# Command injection
# PHP injection

modsecurity_crs_41_sql_injection_attacks.conf

SQLインジェクション

modsecurity_crs_41_xss_attacks.conf

XSS

modsecurity_crs_42_tight_security.conf

# Directory Traversal
ディレクトリトラバーサル

modsecurity_crs_45_trojans.conf

トロイの木馬チェック

modsecurity_crs_47_common_exceptions.conf

# Exception for Apache SSL pinger
# Exception for Apache internal dummy connection
# Exception for Adobe Flash Player

modsecurity_crs_49_inbound_blocking.conf

modsecurity_crs_50_outbound.conf

modsecurity_crs_59_outbound_blocking.conf

modsecurity_crs_60_correlation.conf