wp-login.phpをアクセスすると即banします

他人のBLOGに来てログインを試みようなんてのは邪悪な人1に決まってます.

そこで,wp-login.phpにアクセスすると,一発でレッドカード,1か月間アクセス不能になるように設定しました.

間違えてクリックする,あるいはクローラーがリンクをたどることのないように,表にはログインのリンクは出さないようにしました.

万一間違ってアクセス不能になったら,何らかの方法2でその状況に陥った経緯をお知らせ下されば解除の検討を加速します.

  1. あるいは邪悪な機械. ↩︎
  2. 考えれば方法はあると思います. ↩︎

通常運用に戻りました

本年1月19日(月)からサーバー切り替え作業を敢行し,不安定な運用をしてきましたが,いちおう落ち着きました.

内容についてはほぼこれまでのものを引き継げましたが,陳腐化したプラグインがいくつか新サイトでは使えず,一部表示やリンク等に欠損がある可能性があります.大目に見てください.

移転作業に直接は関係ないのですが既出のように3日前の夜Apache httpdへの大量な不正アクセスを発見し,一昨日からFail2Banの導入・設定・テストを行ってきました.

その機能も概ね満足がいくようになりましたので,今後は10分以上にわたるシステムダウンはない見込みなのでここに「通常運用」を宣言いたします.

早速不正アクセス

昨日の夜9時頃でしたか,何気なくサーバーのコンソールからtopコマンドを実行してみると,上から下までapache2のプロセスが並びました.これは尋常ではないことが起きていると,/var/log/apache2/access.logを見てみると,ものすごい勢いで/wp-login.phpにアクセスがかけられています.間違いなく辞書を使ったbrute-forceアタックです.

その時はIPアドレスをプロバイダーのルーターに登録して止めましたが,次に記すセキュリティーアプリのインストール中に,5万件のアクセスだったことが解りました.

そういう訳で今朝はGeminiにDebianでiptablesを使ったブロックの仕方を教わっているうちに,WordPressのデフォルトのログインを止めるpluginのインストールと,Fail2Banというソフトのインストールを勧められました.

WordPressのpluginはWPS Hide Loginというもので,ログインのURL内のパスを任意の文字列に設定できます.そこで迷うことなくUUIDにしました.それでwp-login.phpを指定してきたアクセスは404 not foundになります.これはこれでめでたしめでたしです.

次のFail2Banは,ログを解析して,怪しいアクセスをしてきたところからのIPを無視するように設定するソフトです.設定が複雑なので,Geminiと相談しながらやってみました.その過程で昨夜のログを分析させたら5万件もの “不正アクセス” が検知できたわけです.これは,以前のRaspberry Pi 4 Model B (RPi4)ではそこまで行かなかったと思います.RPi4より体感や簡単な計測で4〜8倍速いRaspberry Pi 5 (RPi5)ならではの被害です.

sendmailもこれを使って防御しつつIPv4のポートも開こうかななどと少し考えています.