WebサーバApacheのモジュールmod_security2を使って、アクセス制御をしてみました。
環境 : Ubuntu 14.04
インストール
apt-get install libapache2-mod-security2
下記設定を /etc/apache2/mods-enabled/security2.confに追記します。
1 2 3 4 |
<Location /sec > SecRuleEngine On SecRule ARGS_GET "passwd" "log,deny,id:10000" </Location> |
“passwd”という文字列を含んだURLリクエストだと、アクセス拒否することを意図しています。
/var/www/html/sec/index.htmlにテストページを配置して、アクセスしてみます。
Ubuntuだとこのような簡単にインストールから動作確認ができました。(RedHatのときはもう少し大変だった..)
このmod_security2は、大変高機能でデフォルトでたくさんの設定が用意されています。(今回はそれらを使っていません)
また、前回使った組み込み言語Luaにも対応しており、かなりの拡張性を持っています。(mod_luaという手もありますが・・これもまたの機会に)