mod_security 2.5系

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

2.5.10系から?デフォルトのコンフィグの位置がまた変わってますね。。。
あとなんかrulesフォルダにutilなるものが。
これも後で触って見ますか

インストール

cd /usr/local/src wget http://www.modsecurity.org/download/modsecurity-apache_2.5.13.tar.gz tar zxvf modsecurity-apache_2.5.13.tar.gz cd modsecurity-apache_2.5.13/apache2 ./configure --with-apxs=/usr/local/apache2/bin/apxs \ --with-pcre=/usr \ --with-libxml=/usr \ --with-curl=/usr \ --with-apr=/usr/bin/apr-1-config \ --with-apu=/usr/bin/apu-1-config make make install mkdir /usr/local/apache2/conf/modsec2 cd ../rules cp -r * /usr/local/apache2/conf/modsec2

次に設定です。

2.5.12

またコアルールセットが新しくなってglobalなのが消えました。
ということで動くようになったらやり方のこしておきます

2.5.10~2.5.11

LoadModule security2_module modules/mod_security2.so include conf/modsec2/modsecurity_crs_10_config.conf include conf/modsec2/modsecurity_crs_10_global_config.conf include conf/modsec2/base_rules/*.conf include conf/modsec2/optional_rules/*.conf SecAuditLog logs/security/modsec_audit.log

virtual hostを使用する場合、modsecurity_crs_10_global_config.confはVirtualHostの中へ設定すると怒られます。

このファイルはVirtualHostの外へ設定して、必要に応じてVirtualHost内で
base_rulesやoptional_rulesの中の設定をincludeしましょう。

検知のみする設定(変更分のみ記載)

modsecurity_crs_10_config.conf

SecRuleEngine DetectionOnly SecResponseBodyLimit 1073741824 SecAuditLogRelevantStatus "^[2345]" #SecAuditLog logs/modsec_audit.log LogFormat "%V %h %t %{UNIQUE_ID}e \"%r\" %>s %X | %I %O | %<{mod_security-time1}n %<{mod_security-time2}n %<{mod_security-time3}n %D" mperformance CustomLog logs/modsec_performance.log mperformance SecRequestBodyInMemoryLimit 131072000 SecDebugLogLevel 0

とりあえず2.5.10から?デフォルトで拒否(optional_rulesの一部を除いて?)
しないようになったようです。

後は適当に設定を見てまた、暇なときにこっそり更新しておきます。

2.5.x~2.5.9

/usr/local/apache2/conf/httpd.conf

LoadModule security2_module modules/mod_security2.so include conf/modsec2/modsecurity_crs_10_config.conf include conf/modsec2/modsecurity_crs_20_protocol_violations.conf include conf/modsec2/modsecurity_crs_21_protocol_anomalies.conf include conf/modsec2/modsecurity_crs_23_request_limits.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/optional_rules/modsecurity_crs_20_protocol_violations.conf include conf/modsec2/optional_rules/modsecurity_crs_21_protocol_anomalies.conf include conf/modsec2/optional_rules/modsecurity_crs_40_generic_attacks.conf include conf/modsec2/optional_rules/modsecurity_crs_42_comment_spam.conf include conf/modsec2/optional_rules/modsecurity_crs_42_tight_security.conf include conf/modsec2/optional_rules/modsecurity_crs_55_marketing.conf SecAuditLog logs/modsec_audit.log

そしたらApacheの再読み込みを行います。

なんかデフォルトで付いてくるルールセットはがちがちすぎで、
中見ても良くわからないっていうのが本音だとおもいます。
そこで、最適化?されたルールセットをhttp://www.gotroot.com/からDLしてきます。

常に最新のものがほしい!という人はお金を払って購読してください。
既知の問題だけ有る程度防げればいいやと言う人は以下を探してDLしてください。

Free Rules (Delayed 30 days)
All in one downloads for modsec 2.5

色々編集した後に導入するとなにやら設定関連で怒られますが、
初期導入直後にこれだけIncludeするとうまく動くようです。

ModSecurityのサイトに色々とサードパーティ製のツール類の紹介があったんですねぇ
Web上で設定が出来るようになるものとか
クライアント上(XとかWindows上)で色々出来るものとかあるみたいです
これも動作は未検証なので、今度暇なときに遊んでみますか。

modsecurity-consoleを使ってみる

ということで以下でユーザ登録をしてmodsecurity-consoleを拾ってきます
https://bsn.breach.com/

拾ってきたら解凍して適当な場所においておきます。
ここでは/optに展開したとします。

cd /opt/modsecurity-console ./modsecurity-console start

http://HOST名:8886/
にアクセスをしてID:admin PASS:adminでログインします。

設定はいつの日か。。

rblを使ってみる

適当にmodsecurity_crs_30_http_policy.confあたりに追加しておくといいです。

SecRule REMOTE_ADDR "@rbl all.rbl.jp" "log,deny,status:400"

~~以下常に編集中~~

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.