Posts Tagged ‘Apache’

Webアプリケーションファイアウォール mod_security を導入した上でmuninでApacheのグラフを表示させる方法

中々、mod_securityを導入した中でmuninでApacheのグラフを表示させてる人がいないのか対策方法が紹介されていないのでメモします。

muninはApacheのデータを取得するためlocalhostのserver-statusにアクセスする。
しかし、mod_securityを導入している環境だとError 406 で取得できない。
(wget http://127.0.0.1 と実行すると分かりやすい。)
そのため、muninが通るようにWebアプリケーションファイアウォールに穴を開ける。

対象となるルール ユーザエージェントでボットを判別している。
# /etc/httpd/modsecurity.d/base_rules/modsecurity_crs_35_bad_robots.conf
アクセス規制対象のロボット一覧から対象のボット名を探し削除する。
# vi /etc/httpd/modsecurity.d/base_rules/modsecurity_35_bad_robots.data

削除対象
perl
libwww-perl
wget ←必要があれば削除

Apacheに設定適用
# service httpd restart

Apache 2 Test Page powered by CentOS を表示させない

ずいぶん前にサンプルページが表示されないように設定していたはずなのに何故か度々表示されるようになったので調べてみたところ、設定ファイルwelcome.confが復活していた。

削除してもバージョンアップすれば自動で作成されるとのこと。
一応表示させない為に下記のコマンドを実行した。

mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.backup

Apacheのアクセスログを一斉にIPからHOSTへ変換する方法 CentOS

Apacheのアクセスログ(/var/log/httpd/access_log)に含まれるIPアドレスを一斉にHOST名に変更したいと思うことがしばしばある。
しかし、あまり方法が紹介されていないようなので今回書いておこうと思った。

Apachjeにはログに含まれるIPアドレスを自動的にHOST名に変換してくれるlogresolveというコマンドがある。今回これを使い一括して変換を行なおうと思う。

コマンドの形式
# logresolve < 生ログのファイル > 変換した出力先ファイル
例:
# logresolve < /var/log/httpd/access_log > ./laccess_log

これにより/var/log/httpd/access_logに含まれるIPアドレスを一括して変換し./laccess_logへ結果を保存することができる。

特定のサイトからのアクセスを強制転送させる

リファラから特定のサイトからのアクセスか判断し、指定したページにリダイレクトする.htaccessを公開します。

例:2chからのアクセスをhttp://jump.orsp.net/リファラに転送させてジャンプ確認画面を表示させます。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*ime.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} .*2ch.*$ [NC]
RewriteRule ^(.*)$ http://jump.orsp.net/%{HTTP_HOST}/$1
</IfModule>