HTTPステータスコード401や403などをアクセス集計

401(認証失敗)や403(禁止領域へのアクセス)は通常好ましくはないので、攻撃とみなしてIPを収集しよう。

というわけで標準状態のアクセスログであれば以下のコマンドでIPごとの出現回数を取得できる。

 awk '{ print $9,$1}' access_log | grep 401 | sort | uniq -c | sort -r

パイプを何回も重ねているので解説すると、まずawkでステータスコードとアクセス元IPを取得して、401(絞りたいステータスコード)でgrepし、いったんソートする。

uniqは重複行除去命令だが、ソートされていなければならない。-cオプションで重複行の件数を出せる。その後重複件数の多い順(-rが降順)で表示する。

定期的に不正アクセスをチェックしよう。

カテゴリー: 便利なコマンド タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.