2014.07.02

Apacheのエラーログについて

Apacheにはアクセスログ(access_log)とエラーログ(error_log)というログを取得しているファイルがあります。
アクセス(access_log)は、Apacheサーバーで提供している情報に外部からアクセスがある都度、ログを取得しています。また、エラーログ(error_log)は、設定によるエラーやアクセスされたファイルが見つからないなどのエラーが発生した場合にそのログを取得しています。
今回は、当サイトで発生したApacheのエラーを参考に、エラーログを説明していきます。

①File does not existのエラーについて

存在しないファイルへのアクセスを要求された場合に記録されるエラーです。
例えば、サイトのページが削除されていたり、ページ内の画像がリンク切れを起こしている場合などに発生します。
いくつかのFile does not existのエラー例を見てみましょう。

[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/example.com/image.gif, referer: http://example.com/index.html

上記エラーは、index.htmlのページで使用されているimage.gifという画像が存在しないというエラーです。
このエラーが発生している場合には、ページに設定してある画像の名前やリンクが正しいか、または画像自体が存在しているか確認してください。

[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/example.com/sample.html

上記エラーは、sample.htmlというページにアクセスしようとしたが、そのページが存在しなかったというエラーです。現在使用しているページでエラーが発生している場合には、ページが削除されていないかなど確認する必要があります。
また、過去に使用していたページで発生してる場合には、過去に使用していたファイル名で「このページは移動しました」といった表示設定することで、ユーザーを新しいページへ誘導することができます。

[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/example.com/favicon.ico

上記エラーは、IEやFirefoxなどのブラウザでアクセスするとアイコンファイルを自動的に読み込もうとするのですが、その際アイコンファイルが見つからなかった場合に発生するエラーです。
アイコンファイルを設定していない場合には、全く気にする必要がないエラーですが、エラーログを不要に記録したくない場合には、アイコンファイルを設置するか、またはhttpd.confでicoファイルに関するエラーを記録しない設定をします。

[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/example.com/robots.txt

上記エラーは、検索エンジンのロボットがクロールした際にrobots.txtファイルを見つけられなかった場合にエラーとして記録されます。
このエラーも気にする必要はありませんが、回避する場合にはrobots.txtファイルを設置してください。

[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/.ssh
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/.ssh
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/.ssh
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/.ssh
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/.ssh
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/passwd
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/passwd
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/password
[日付] [error] [client 接続元IPアドレス] File does not exist: /var/www/html/passwords.txt

このように連続して複数回エラーが発生している場合、攻撃者が不正アクセスを試みようとしていると考えられます。
しかし、ファイルが見つからず不正アクセスが失敗したというエラーですので、エラーログとしては正常なものとなります。

②client denied by server configurationのエラーについて

これはアクセス制限がかかっているエリアへのアクセス失敗や、IPアドレスなどによるアクセス制限によりアクセスが失敗した場合に記録されます。
File does not existエラーはファイルが見つからない場合に発生しますが、このエラーはファイルやエリアへのアクセスを拒否した場合に発生します。

[日付] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/example/

上記エラーは、/var/www/example/にアクセスしようとしたが、アクセス制限などによりアクセス失敗したエラー例です。
/var/www/example/へのアクセス制限を設定している場合には、アクセス制限が成功しているという正常なエラーログとなりますが、設定ミスによるアクセス失敗でも同様のログが残ります。
アクセス制限を設定していないディレクトリやページでこのエラーが発生する場合は、httpd.conf内のorder allow,denyなどの設定が不足しているか、間違っている可能性がありますので確認してください。

[日付] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/html/, referer: http://知らないドメイン

知らないドメインのDNSをアクセス制御する」のような設定を行った場合には、上記のエラーが記録されました。

[Mon Jul 01 05:32:43 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:43 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:43 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:43 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:43 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:45 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:45 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/
[Mon Jul 01 05:32:45 2014] [error] [client 接続元IPアドレス] client denied by server configuration: /var/www/httpdocs/

上記のように短時間に何度もアクセスを試みようとしている場合、DOS攻撃やDDOS攻撃と考えられますので注意が必要です。

まとめ

エラーログは、サイトの状況や問題点を報告してくれる重要な情報です。
その情報を基にVPSサーバーの設定やサイトの構成を改善することで、ユーザーのアクセシビリティを向上させることにも繋がります。
VPSサーバーを運営する上では、ログを監視することは重要は作業ですので、ぜひ活用してください。

記事カテゴリー:apache