【ハウツー】

Webアプリケーションを守るApacheモジュール「ModSecurity」

1 リリース間もない新版の特長

    富田宏昭  [2009/09/29]

    ModSecurityとは

    Breach Security, Inc.は9月24日(米国時間)、ModSecurityの最新版であるModSecurity v2.5.10をリリースした。

    ModSecurityはWebアプリケーションファイアウォール(WAF)のひとつで、Apacheのモジュールとして動作する。リクエストヘッダや引数・表示するコンテンツなどから攻撃や脆弱性を検出し、悪意あるユーザの攻撃からWebアプリケーションを守ることができる。セキュリティフィルタは最初から用意されているもの以外にも、Luaを使用して自分で作成することもでき、柔軟な設定をおこなうことが可能だ。

    v2.5.10でのおもな変更点は次のとおり(CHANGES_2.5.10.txtより一部を抜粋)

    • Windowsビルドでのmlogcをクリーンアップ
    • フィルタ中の詳細なメッセージを"Unknown error"に置きかえ
    • SecUploadFileModeの実装をクリーンアップ
    • ビルドスクリプトのクリーンアップ
    • コンフィグ中でSecMarkerがほかのルールより前に使われていた場合、クラッシュする不具合を修正
    • ルールチェーン中でのSecRuleUpdateActionByIdの動作を修正
    • ほか約20項目の修正

    同プロダクトはGNU General Public License Version 2およびコマーシャルライセンスのデュアルライセンスのもとで公開されているオープンソースソフトウェア。本稿では、このModSecurityの使い方を簡単に紹介しよう。

    Hello, ModSecurity! - インストール手順

    ここでの動作環境は次のとおり。

    • OS: FreeBSD 9.0-CURRENT amd64
    • Webサーバ: Apache/2.2.13 (FreeBSD)
    • ドメイン: mintia.localhost
    • IPアドレス: 192.168.33.112

    ModSecurityはPortsに登録されているので、ここからインストールをおこなう。執筆時点でのPortsに登録されているバージョンは2.5.9。

    # cd /usr/ports/www/mod_security/
    # make install clean
    

    インストールが完了すると、次のメッセージが表示される。

    chmod 755 /usr/local/libexec/apache22/mod_security2.so
    
    The modsecurity 2 Core Rules have been installed in
    
      /usr/local/etc/apache22/Includes/mod_security2/
    
    and run in "DetectionOnly" mode as not to disturb operatings.
    
    Please read http://www.modsecurity.org/projects/rules/index.html
    
    ModSecurity requires mod_unique_id to be actived.
    This line must be present in your apache configuration file.
    
    LoadModule unique_id_module libexec/apache22/mod_unique_id.so
    
    You must add the following to your Apache configuration file for
    activate mod_security:
    
    LoadModule security2_module libexec/apache22/mod_security2.so
    
    Logging is done to /var/log/httpd-modsec2*.log
    ===>   Registering installation for mod_security-2.5.9_1
    ===>  Cleaning for mod_security-2.5.9_1
    

    指示にしたがい、mod_unique_id.soがロードされていない場合はmod_unique_id.soを。そしてmod_security2.so本体をロードするようにhttpd.confに追記する。

    LoadModule unique_id_module libexec/apache22/mod_unique_id.so
    LoadModule security2_module libexec/apache22/mod_security2.so
    

    追記後、Apacheを再起動する。

    # apachectl restart
    

    これでModSecurityのインストールは完了だ。

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン