Davieshttpdのアクセスログが酷い事になる・・・このブログはさくらインターネットのVPS上にwordpressをインストールして運営しています。アクセス解析は気が向いた時にhttpdのaccsess.logを加工編集・統計などしています。サイト運営者の方なら当たり前の事ですが、まぁ不正アクセスの多い事、多い事ww良くある不正アクセスはwp-login.phpに対するブルートフォースアタックですね。スポンサードリンクtcpdump等で見ていると辞書によるパスワード総当たりが多いようで、apacheのaccess.logから統計すると同一のIPアドレスからのアタックは、多い日には数万件になります。Lockdown」等のプラグインでログイン試行回数でのブロックは出来るので、実際にログインされるまでの心配はあまりしていませんが、httpdのログがもう大変(>_<)うちみたいな弱小ブログだと、本当のアクセスログより不正アタックのログの方が多くなっちゃいそうな勢いですwそんな訳でhttpdのログにすら残らない様にiptablesでアクセスそのものを自動ドロップする仕組みを作ってみました。大した事してませんが同じような悩みの方の参考になれば幸いです。access.logから不正ログインの形跡を探せ!!!正当なアクセスがどのくらいあるかによって値は変えないと行けないですが、ざっくりと以下の考えで不正アクセスをあぶりだします。access.logの直近の数百レコードからwp-login.phpへのアクセスレコードのみ抽出する抽出したレコードからアクセス元IPアドレス毎のアクセス数をカウントするカウントした値がある閾値を超えたら不正アクセスとみなす1の「数百レコード」と3の閾値は実アクセス数や実ログイン数によって変更が必要ですが、上記の考えで不正アクセス元のIPアドレスを特定します。IPアドレスさえ特定できれば後はiptableにDROPの設定を追加してしまえばapacheのログにも残らない完全シャットアウトができます。簡単なシェルを組んで不正アクセス元をシャットアウト!具体的には以下のようなシェルを作成して、cronで定期的に呼び出します。/var/log/login_drop.logfi2行目の「-500」が上で説明した検索母体(数百レコード)で4行目の「100」が閾値ですね。ご自分の環境に合わせて値を調整してください。5行目でiptablesにDROP設定を追加して、6行目で「/var/log/login_drop.log」にドロップのログを記録しています。cronで自動実行しましょう!上で用意したシェルをcronで呼び出してあげます。restartうちでは上の様に設定しました。1行目が先ほどのシェルを実行してる設定です。シェルを「opt/kansi/login_chk.sh」として、そのシェルを10分間隔で実行しています。2行目は永遠にDROP設定が増えるのもなんですし、アタックは一定時間で終わるようなので、日に1度、iptabelsを再起動して初期化しています。7をインストールしたときの手順です。