WordPressのログイン画面へのアタックはプロキシーサーバーで対応

戯言(たわごと)

WordPressのログイン画面へのアタックはすごい数が来ますよね。
プラグイン等でレポートを出すと、滅入るしパスワード破られたら嫌ダナーと思いますよね。
本来は複雑な長いパスワードにすればいいのですが、ちょっと苦手なんです。

そのため?過去にいくつかのワードプレスで作ったブログを乗っ取られた経験があります^^;

そこで、今回はログイン画面への不正アタックの対応として、自サーバーにプロキシーサーバーを立てて、そこから経由のみアクセスを出来るようにする対応を行いました。

CentOS7 だと

1.プロキシサーバー(Squid)を構築

1-1. Squidインストール
# yum -y install squid
1-2. Squidの設定
# vi /etc/squid/squid.conf

# And finally deny all other access to this proxy
http_access deny all
 ↓
#http_access deny all ← 下でパスワード認証の記述をするためコメントアウト

---ファイルの最後に追記
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

acl CONNECT method CONNECT
acl password proxy_auth REQUIRED

http_access allow password
http_access deny all

1-3. Squidの起動
# squid -z ← キャッシュディレクトリ作成
# systemctl start squid ← Squid起動
# systemctl enable squid ← squid自動起動設定

2. WordPressの管理画面のアクセス制限

2-1. .htaccessの編集
# vi /var/www/html/.htaccess

---ファイルの最初に追記
<Files wp-login.php>
	Order deny,allow
	Deny from all
	Allow from 127.0.0.1 ← 自サーバーからのアクセスのみ許可
	Allow from localhost ← 自サーバーからのアクセスのみ許可
 </Files>

※外部のプロキシーサーバーを利用する場合は
	Allow from XXX.XXX.XXX.XXX
とする

これによりWordPressのログイン画面にアクセスが出来ないので、ぐっとアタックが減りました。
(WordPressが関知出来るレベルではゼロのなっています)

VPS等で自サーバーでプロキシーを立てられない人でも、外部の無料プロキシーサーバーを指定してアクセス制限をかけるといいと思います。

プロキシーサーバーで制限をかけるWordPressへのアタック対応はおすすめです。

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