アクセス解析" />

俺通信「で?」

最近話題の俺通信。勝手気ままに書いています(笑)

wordpressでwp-login.phpへのaccess.logがウザイ(>_<)

      2015/08/13

この記事は約 3 分で読めます。

httpdのアクセスログが酷い事になる・・・

このブログはさくらインターネットのVPS上にwordpressをインストールして運営しています。

アクセス解析は気が向いた時にhttpdのaccsess.logを加工編集・統計などしています。

サイト運営者の方なら当たり前の事ですが、まぁ不正アクセスの多い事、多い事ww

良くある不正アクセスはwp-login.phpに対するブルートフォースアタックですね。

 

スポンサードリンク

tcpdump等で見ていると辞書によるパスワード総当たりが多いようで、apacheのaccess.logから統計すると同一のIPアドレスからのアタックは、多い日には数万件になります。

「Simple Login Lockdown」等のプラグインでログイン試行回数でのブロックは出来るので、実際にログインされるまでの心配はあまりしていませんが、httpdのログがもう大変(>_<)

うちみたいな弱小ブログだと、本当のアクセスログより不正アタックのログの方が多くなっちゃいそうな勢いですw

そんな訳でhttpdのログにすら残らない様にiptablesでアクセスそのものを自動ドロップする仕組みを作ってみました。

大した事してませんが同じような悩みの方の参考になれば幸いです。

access.logから不正ログインの形跡を探せ!!!

正当なアクセスがどのくらいあるかによって値は変えないと行けないですが、ざっくりと以下の考えで不正アクセスをあぶりだします。

  1. access.logの直近の数百レコードからwp-login.phpへのアクセスレコードのみ抽出する
  2. 抽出したレコードからアクセス元IPアドレス毎のアクセス数をカウントする
  3. カウントした値がある閾値を超えたら不正アクセスとみなす

1の「数百レコード」と3の閾値は実アクセス数や実ログイン数によって変更が必要ですが、上記の考えで不正アクセス元のIPアドレスを特定します。

IPアドレスさえ特定できれば後はiptableにDROPの設定を追加してしまえばapacheのログにも残らない完全シャットアウトができます。

簡単なシェルを組んで不正アクセス元をシャットアウト!

具体的には以下のようなシェルを作成して、cronで定期的に呼び出します。

2行目の「-500」が上で説明した検索母体(数百レコード)で4行目の「100」が閾値ですね。

ご自分の環境に合わせて値を調整してください。

5行目でiptablesにDROP設定を追加して、6行目で「/var/log/login_drop.log」にドロップのログを記録しています。

cronで自動実行しましょう!

上で用意したシェルをcronで呼び出してあげます。

うちでは上の様に設定しました。

1行目が先ほどのシェルを実行してる設定です。

シェルを「opt/kansi/login_chk.sh」として、そのシェルを10分間隔で実行しています。

2行目は永遠にDROP設定が増えるのもなんですし、アタックは一定時間で終わるようなので、日に1度、iptabelsを再起動して初期化しています。

スポンサードリンク

必要とする人が居るのかいないのか解りませんが、自分的にはこれのおかげでaccessログが見やすくなりましたよっと!

 - bash, IT関連, wordpress, テクニック

スポンサードリンク

SNSリンク

  • このエントリーをはてなブックマークに追加

  関連記事

bash入門?bashを使ったシェルスクリプトを書いてみよう!

この記事は約 2 分で読めます。 シェルスクリプトとは? シェルスクリプトの前にシェルって何でしょう? UNIXライクなOSで言うシェルとはOS(カーネル)とユーザのインターフェースを司るコマンドラインプログラムの事です。 そのコマンドラインプログラムに毎回決まった処理を実行させる目的で書かれた物を …

Windows10をVMWare Playerにインストールしてみた

この記事は約 4 分で読めます。Windows 10 Enterprise Insider Preview版をVMWare Player7.1にインストールした手順を公開   先日公開された「Windows 10 Enterprise Insider Preview版」をVMWare Pl …

VMwarePlayerにCentOS7をインストールする手順その2

この記事は約 5 分で読めます。CentOS7をVMwarePlayerにインストールする手順(2)「OSのインストールからパッケージアップデートまで」 前回の「VMwarePlayerにCentOS7をインストールする手順その1」で構築した仮想マシンにRedhatクローンのlinuxOS「Cent …

VMwarePlayerにCentOS7をインストールする手順その1

この記事は約 5 分で読めます。 CentOS7をVMwarePlayerにインストールする手順(1)「仮想マシンの構築」 前回の「VMware Player7.1.0のダウンロードとインストール手順」で構築したVMwarePlayerにRedhatクローンのlinuxOS「CentOS7」をインス …

tailやhead,awkなどログ監視で役に立つコマンドの使い方。

この記事は約 3 分で読めます。自分的にログ監視等でよく使う役立つコマンド Linux編 職業柄、LinuxやUNIXで各アプリケーションやミドルウエアのログ監視等を良くやります。 ログ監視以外にも設定ファイルの確認などでも役に立つと思われるコマンドを紹介します。 と、言ってもそれなりの経験がある方 …

VMware Player7.1.0のダウンロードとインストール手順

この記事は約 4 分で読めます。Windwos8.1にVMwarePlayer7.1.0をインストール手順 自分のPC(Windows8.1)にVMware Player 7をインストールしたときの手順です。 VMwarePlayerは所謂「OS仮想化ソフト」でWindowsPC上にインストールする …