パーソナルツール
現在の場所: ホーム zope apache Apache 2のログ出力設定
書いた本
Plone 完全活用ガイド の Chapter 1, 2, 3, 11 を執筆しました。
plone のインストール、使い方から、機能・デザインのカスタマイズ、プロダクトの作り方まで、 plone のすべてがぎゅっと詰まっている書籍になっていると思います。
plone に興味がある人から、すでに使いこなしている方まで、ぜひ読んでみてください。
Plone 完全活用ガイドのサポートページ
ナビゲーション

 
文書操作

Apache 2のログ出力設定

作成者 takanori 最終変更日時 2005年01月19日 01時10分

Apache 2とZopeサーバを連携させた場合に、より安全で便利に運用を行なうための設定について説明します。内容的にはワームをはじく設定、ログをバーチャルホストごとに出力設定などです。

目次

  • ワームをはじく設定[worm]
  • バーチャルホストごとのログ出力設定[log]

ワームをはじく設定[worm]

Webサーバを外部に公開すると、いろいろなワームがやってきます。そのようなワームからのメッセージをはじいて、アクセスログに出力しないようにする設定について説明します。

  1. setenvif_module の有効化

    wormをはじく設定を記述できるようにするために、setenvif_module を有効にします。以下の行がコメントアウトされていたら有効にします。:

         LoadModule setenvif_module modules/mod_setenvif.so
    

  2. ワームの設定

    ワームとなるURIのパターンを SetEnvIf を使用して指定します。:

         SetEnvIf Request_URI "default\.ida" worm !log
         SetEnvIf Request_URI "cmd\.exe" worm !log
         SetEnvIf Request_URI "root\.exe" worm !log
         SetEnvIf Request_URI "Admin\.dll" worm !log
         SetEnvIf Request_URI "NULL\.IDA" worm !log
    

  3. アクセスログログの設定

    アクセスログとして保存するHTTPのメソッドを指定します。:

         SetEnvIf Request_Method "(GET)|(POST)|(PUT)|(DELETE)|(HEAD)" log
    

    画像ファイルやCSS等をログとして保存しないように設定します。:

         SetEnvIf Request_URI "(\.gif|\.jpe?g|\.png|\.css|\.js)$" !log
    

    また、内部のネットワークからのアクセスはログとして保存しないように設定します。:

         SetEnvIf Remote_Addr "^192\.168\." !log
         SetEnvIf Remote_Addr "^127\.0\." !log
    

  4. ワームログ出力の設定

    アクセスログとワームログに振り分けて保存するために、以下のように記述します。:

         CustomLog /var/log/httpd/access_log combined env=log
         CustomLog /var/log/httpd/worm_log combined env=worm
    

設定が終了したらApache 2を再起動し、ログが分離して保存されていることを確認します。

バーチャルホストごとのログ出力設定[log]

Apache 2とZopeの組み合わせで、簡単に複数のバーチャルホストを運用することが出来ます。アクセスログ解析をするときに、それらのログがホストごとに分かれていた方が後々都合がよいので、そのような設定をします。

バーチャルホストの設定に、以下のように CustomLog の記述を追加します。:

    NameVirtualHost *
    <VirtualHost *>
      ServerName www.example.com
      RewriteEngine On
      RewriteRule ^/Zope(.*) http://localhost:8080/VirtualHostBase/http/www.example.com:80/VirtualHostRoot/_vh_Zope/$1 [L,P]
      CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/example_log.%Y%m%d 86400 +540" combined env=log
    </VirtualHost>
    <VirtualHost *>
      ServerName blog.example.com
      RewriteEngine On
      RewriteRule ^(.*) http://localhost:8080/VirtualHostBase/http/blog.example.com:80/blog/VirtualHostRoot/$1 [L,P]
      CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/blog_log.%Y%m%d 86400 +540" combined env=log
    </VirtualHost>

また、ここでは rotatelogs コマンドを使用して、ログファイルを日付が付いたファイル名で作成するように設定しています。

設定が終了したらApache 2を再起動し、バーチャルホストごとのアクセスログが出力されていることを確認します。


Powered by vine linux, python, zope, plone, coreblog