【WordPress】不正アクセスしてくるヤカラを拒否る方法

不正にアクセスしようとしてくる輩がいるわけですよ。意味もなくwp-login.phpにアクセスする輩が。

これはアクセス解析ツールwassupのログです。

ログインしようとしないでください
ログインしようとしないでください

初歩的な方法としては、パスワードを難しくしておくという手がありますが、他にもいろいろと手はあります。

adminというユーザ名をやめる

とにかくユーザ名adminでアタックしまくってくるので、adminをやめることでだいぶリスクが下がります。

adminでログインして新規ユーザを権限グループを管理者で作ります。メルアドが一緒だと登録できないので、一時的に捨てアドで登録するかadminのほうを捨てアドにしておくかしておきます。

そのあと新IDでログインして、adminを削除します。削除するときにadminで書いたものを新IDに移動出来ますので心配無用です。

削除するときにアサインできる
削除するときにアサインできる

まずは予防系。wp-login.phpというファイル名を変更。

このプラグイン、rediretの処理があやしいので、現在は使用していません。

WordPressの場合、ログインはwp-login.phpに決まっています、だからそこを狙ってくるんです。それを全然わけわからないファイル名にしてしまえば、アタックされることもありません。

(お約束)ご利用は自己責任でお願いします

手動でファイル名を変えるのはダメです。アクセスできなくなります。このプラグインを使います。(厳密にいうとファイル名を変えるわけではありません。)

WordPress › Stealth Login Page « WordPress Plugins

設定は簡単です。

  • URL to redirect unauthorized attempts to
    wp-login.phpに直接アクセスされたときにジャンプするURLを入れます。
  • String used for the “question”
    問題をいれます。
  • String used for the “answer”
    答えを入れます。便宜上question/answerとなっているだけで、適当な文字列でもOKです。
  • Email login URL to admin
    ログインURLを管理者にメールしてくれます。

すると下にログインフォームが出るURLが表示されるので、そこからログインするだけです。

ただしこのプラグインはサーバーにFTPでもログインできる環境でしか使ってはいけません。もしトラブルが起きたときにこのプラグインを消せなくなり、一切ログインできなくなります

設定はこんな感じ
設定はこんな感じ

これも予防。ログイン失敗すると待ちぼうけ。

(お約束)ご利用は自己責任でお願いします

ATMなんかでも3回失敗すると次の日までダメとかそういう仕組みがありますが、これはそれです。

WordPress › Limit Login Attempts « WordPress Plugins

Limit Login Attemptsの日本語化をしてみた

この設定の場合、2回失敗したら9999分待ちぼうけになります。これは自分しかログインしないのでそういう設定にしています。同じようなLogin LockDownというプラグインもありますが、こっちほうがログも取れるしお薦めです。

このプラグインもサーバーにFTPでもログインできる環境でしか使ってはいけません。もしトラブルが起きたときにこのプラグインを消せなくなり、一切ログインできなくなります。

ログイン失敗は許さない!
ログイン失敗は許さない!

次は監視系。ファイルの書き換えを監視。

WordPress › WordPress File Monitor Plus « WordPress Plugins

ファイルの書き換えを検知してメールを送信してくれるプラグインです。運悪く突破されたときにも素早く分かります。

(お約束)ご利用は自己責任でお願いします

キャッシュを使うフォルダとかsitemap.xmlとかは除外しておくとよいです。

設定はこんな感じ
設定はこんな感じ

最初に手動検索でテストします。

書き換えが見つかると警告が表示されます
書き換えが見つかると警告が表示されます

確認して解除します。見えないときはブラウザのエンコーディングをUTF-8に。

警告はこんな感じ
警告はこんな感じ

.htaccessファイルでアクセス拒否

アクセスされなければ、パスワード突破されることもない。というわけでIPから弾いてやりましょう。Ψ(`∀´)Ψケケケ

(お約束)ご利用は自己責任でお願いします

特定のIPのアクセスを制限する方法です。普通はこれを使います。

order allow,deny
allow from all
deny from 111.222.333. 		# 1111.222.333.xxxを拒否
deny from 55.66.		# 55.66.xx.xxを拒否
deny from .mcbrain.jp		# xxx.mcbrain.jpを拒否

これをWordPressのインストールされているディレクトリにある.htaccessファイルに追加します。もともとWordPress用に何か書かれているので、それを消さないように気をつけて下さい。バックアップを取って慎重に作業するようにします。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
・・・
・・・
・・・
</IfModule>

order allow,deny
allow from all
deny from 111.222.333. 		# 1111.222.333.xxxを拒否
deny from .mcbrain.jp		# xxx.mcbrain.jpを拒否

# END WordPress

これはWordPressの機能ではなく、サーバー(Apache)の機能なのでくわしくはアクセス拒否 htaccessでググって見てください。

コメント

タイトルとURLをコピーしました