アクセスログとエラーログを出力しよう!


こんにちは、三木谷です!

ログを出力しておくことがセキュリティ対策になることはご存知でしょうか?

ログは問題発生時における切り分けや、サイバー攻撃が行われた場合の調査用として活用できるため、ログは必ず取得し、一定期間保存しましょう。

また、ログファイルは外の人が安易にアクセスできないよう、公開領域以外の場所に配置しましょう。

〇ログは外の人が安易にアクセスできない場所に配置

エックスサーバーの場合、下記リンクに記載があります。
アクセスログ:https://www.xserver.ne.jp/manual/man_server_log.phpf
エラーログ:https://www.xserver.ne.jp/manual/man_server_logerror.php

Apacheの場合、デフォルトでは下記が保存場所となります。
アクセスログ:/var/log/httpd/access_log
エラーログ:/var/log/httpd/error_log

ログには様々な種類がありますが、この節ではWebサイトを運営するうえで重要な「アクセスログ」と「エラーログ」を紹介していきます。

〇アクセスログ

アクセスログとは、Webサイトに「誰が」「いつ」「どこから」「何をしたか」を記録するファイルとなります。

今回はヘルデリーカフェ(Apache)のアクセスログ1行を使って見方を解説します。

<例>
①65.38.200.219 – – ②[22/Mar/2019:13:21:14 +0900] ③”GET /security/security-article-2 HTTP/1.1″ ④200 ⑤972 ⑥”-” ⑦”Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko”

①アクセス元IPアドレス
ヘルデリーカフェにアクセスして来たPCのIPアドレスとなります。

②タイムスタンプ
ヘルデリーカフェにアクセスして来た時刻です。

③リクエスト
クライアントは、HTTPプロトコルバージョン1.1を利用して「https://healthy-deli.com/security/security-article-2」にGETメソッドでアクセスしてきたことを表します。

④ステータス
「200」はレスポンスを返すことに成功したことを表します。

⑤転送量
ヘルデリーカフェが返したレスポンスサイズで、単位はバイトになります。

⑥リファラ(アクセス元URL)
「‐」はアクセス元なし(リンクをたどってきたのではなく直接アクセスしてきたこと)を表します。

⑦ユーザエージェント
クライアントのOSはWindows 10で、ブラウザはIEを利用してアクセスしてきたことが分かります。

〇エラーログ

エラーログは、クライアントがWebサイトにアクセスしてきた時にエラーが発生すると記録されるログです。

ログの最初に出力されるログレベルで問題の深刻度を把握することができ、具体的なエラー内容は後ろの英文を見ます。

<例>
①[error] ②[client 63.27.120.33] ③client denied by server configuration: /home/t_jizo/public_html/index.html

①エラーレベル
例は「error」となり、他には下記種類があります。
emerg:Emergencyの略で、Webサイトを利用できない状況を表します。
alert:直ちに対処が必要な問題が発生している状況を表します。
crit:Criticalの略で、致命的な問題が発生している状況となります。
error:ファイルアクセスエラーなど普通に有り得る問題となります。
warn:Warningの略で、問題ではないが通常あまりない状況を表します。
notice:システム設定変更をした場合などに出力されるお知らせとなります。
info:システムの状態に関する情報となります。
debug:専門家が調査するときに使う細かい情報です。

②アクセス元IPアドレス
エラーが発生したクライアントのIPアドレスとなります。

③エラー内容
「/home/t_jizo/public_html/index.html」に対してのアクセスが拒否されたことを表します。
許可していない場所へのアクセスとなるため、もし大量に出力されているようであれば不正アクセスを試みている可能性が高いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA