新しいバージョン

参考情報

インストール作業

libxml2の確認

# rpm -qa | grep libxml2

ダウンロードと解凍

# wget http://www.modsecurity.org/download/modsecurity-apache_2.1.1.tar.gz
# tar -xzvf modsecurity-apache_2.1.1.tar.gz
# cd modsecurity-apache_2.1.1

MakeFileの編集

  • top_dirの指定を削除する
  • 次を追加
    top_dir   = /etc/httpd
    APXS      = /usr/sbin/apxs
    APACHECTL = /usr/sbin/apachectl

コンパイル

# make 
# make install

ルールファイルの準備

# mv rules /etc/httpd/conf/modsec2

security2.confの作成

LoadFile /usr/lib/libxml2.so
LoadModule security2_module    modules/mod_security2.so
LoadModule unique_id_module    modules/mod_unique_id.so
<IfModule mod_security2.c>
  include conf/modsec2/modsecurity_crs_10_config.conf
  include conf/modsec2/modsecurity_crs_20_protocol_violations.conf
  include conf/modsec2/modsecurity_crs_30_http_policy.conf
  include conf/modsec2/modsecurity_crs_35_bad_robots.conf
  include conf/modsec2/modsecurity_crs_40_generic_attacks.conf
  include conf/modsec2/modsecurity_crs_45_trojans.conf
  include conf/modsec2/modsecurity_crs_50_outbound.conf
  include conf/modsec2/modsecurity_crs_55_marketing.conf
  include conf/modsec2/blocking/modsecurity_crs_20_protocol_violations.conf
  include conf/modsec2/blocking/modsecurity_crs_21_protocol_anomalies.conf
  include conf/modsec2/blocking/modsecurity_crs_40_generic_attacks.conf
</IfModule>

古いバージョン

参考情報

注意

  • apxsがインストールされている必要がある(httpd-develパッケージ)
  • mod_rewriteなど、このモジュールが動作する前に実行されるモジュールがある事に注意
  • httpd.conf内にLoadModuleの指定がないとエラーが起きるが、別ファイルで指定すれば問題ない
  • CustomLogディレクティブに「env=!mod_security-relevant」とするとapacheログに拒否されたリクエストは記録されない

インストール方法

# wget http://www.modsecurity.org/download/modsecurity-apache_x.x.X.tar.gz
# tar -xzvf modsecurity-apache_x.x.X.tar.gz
# cd modsecurity-apache/apache2 ←Apache2の場合
# apxs -cia mod_security.c
# /etc/init.d/httpd configtest ←設定ファイルを検証
# /etc/init.d/httpd restart ←apacheを再起動

conf.d/security.confの内容

LoadModule security_module modules/mod_security.so

SecFilterEngine On
SecFilterDefaultAction "deny,log,status:404"

SecFilterScanPOST Off
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding On
SecFilterForceByteRange 1 255

SecAuditEngine RelevantOnly
SecAuditLog /var/www/logs/audit_log
SecFilterDebugLevel 0

SecFilterCookieFormat 1
SecFilterNormalizeCookies On

SecFilterSelective REQUEST_METHOD "!^(GET|POST|HEAD)$"

SecFilter "\.(exe|cmd|bat|htw|ida|idq|htr|idc|printer|ini|pol)"
SecFilter "\.(EXE|CMD|BAT|HTW|IDA|IDQ|HTR|IDC|PRINTER|INI|POL)"
SecFilter "^http"

SecFilter "[Jj][Aa][Vv][Aa][Ss][Cc][Rr][Ii][Pp][Tt]:"
SecFilter "<[[:space:]]*[Ss][Cc][Rr][Ii][Pp][Tt]"

コンテンツは提供したいが、Apacheログに残したくない場合

SecFilter "^/server-status" "allow,setenv:mod_security-relevant"

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 19:27:03 (444d)