当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

AWS bitnami (LAMP)環境でmod_security(WEB APPLICATION FIREWALL)の導入

AWS bitnami (LAMP)環境でmod_security(WEB APPLICATION FIREWALL)の導入


AWSの環境でLAMP入れている環境でWAF(mod_security2)を導入する作業があった。bitnamiのLAMPは最初からWEBサーバがチューニングされていて手っ取り早く下手なコンフィグをユーザ自身が行うより全然良いものです。一方ではやはりオリジナリティが高いため、AWSのbitnami特有のディレクトリ構成になっている。また、bitnami固有のコマンドで操作するためUbuntuの標準的なWEBサーバのコマンドは利用できない。有効にするのに少し面倒くさくa2enmodは使えません。

mod_securityのインストール

標準的なインストールは簡単です。AWSのLAMPはUbuntuが古いためmod_securityが古く最新のCRSも使えなく、新しいバージョン入れたい人はコンパイルしたほうが良い。今回は面倒くさいのでOS標準をそのまま使うことにした。

パッケージインストールは至ってシンプルでこれだけ。

設定をイネーブルするには?

bitnami環境はフォルダー構造やはり独特ですね。パッケージをインストールするとconfファイルがbitnami配下と/etc/modsecurityの両方にできる。/home/bitnami/stack/apache2/confの配下にあるhttpd.confがグローバル設定の本体なのでまずはこの設定の中を編集してゆく。bitnami直下のmodesecurity.confは無視とする。

細かいルール用読み込み設定をmodsecurity2に施す。

WEBサーバを再起動します。

再起動後に反映がうまく行ってれば/home/bitnami/stack/apache2/logsの配下にmodsec_audit.logが出来ているはずです。初期はデバッグログも有効にしてmodsec_debug.logも閲覧できるようにしたほうが設定ミスや失敗がわかりやすくて良いと思います。

モジュールのロード状況の確認

タグ: , , ,

超軽量WAF Raptor WAFのご紹介


軽量で簡単に設定できそうなWAF(Web application Firewall)を探していたところ「Raptor WAF」と言うソフトを見つけた。仕組み的にはリバースプロキシーを使ってインジェクション対策やらCSRF対策、マッチリスト、BLACKリストでブロックしてくれる。

様々なフレームワークを使用していると、おおよそ自前WEBサーバがついてくる。テスト用のWEBサーバなので完全に内部でやるなら外界からシャットアウトしてテストするといいのだが場合によっては、ちょっと本番的な使い方をしたい時にお気軽にWAFができたらと探していたところでした。使ってみたところ中々レベル的にはちょうどいい感じがします。SSLが現在非対応

導入方法

C言語やmake関連のユーティリティを事前にインストールしてください。コンパイルはあっという間に終わります。

WAF起動

raptor_wafのフォルダー直下で実行する必要があります。

  • -h : 接続先ホスト(ユーザがアクセスするIP or ホスト名)
  • -p : オリジナルのホストのポート番号
  • -r : WAFのポート番号(ユーザが実際にアクセスするポート番号)
  • -o : 不正アクセスした際に記録するログファイルの出力先
  • -w : WAFの検知レベルの強度を指定 levelは 1-4 まである。

ブラウザから次のように入力してテストしてみます。テストプログラムサイトはご自分でパラメータ引数があるプロ グラムを用意してください。

以下のようなページが表示できたら成功です。

BLACKリスト、マッチリスト

RaptorはBLACKリスト、マッチリストでもブロックが可能だ。

  • ブラックリスト:blacklist_ip.txt
  • マッチリスト:match_list_request.txt

タグ: , ,