不正ログインを防ぐ「Limit Login Attempts」の導入

この1週間ほどの間に「Limit Login Attempts」から「Too many failed login attemptsで24時間ブロックした」と言う知らせが、既に5回ほどあった。パスワード総当たり攻撃(ブルートフォースアタック)なのか?ログをチェックして末尾の数字が違うIPアドレスだけを、取り合えずPeerBlockに登録して遮断。

このプラグインはWordPressのログイン画面に対するログイン試行回数を制限できるプラグインで、ログイン認証に複数回失敗すると、ログイン画面を一定時間ロックし、管理画面への不正ログインを防ぐ効果がある。ログイン試行回数やログイン画面のロック時間は、プラグインの管理画面で自由に設定できるし、「基本設定」だけでも十分機能を果たせる。

*日本語化も対応していて「GitHub 」からZIPをダウンロード、解凍して「limit-login-attempts-ja.mo」をwp-content\plugins\limit-login-attemptsに入れればOK!

とにかくWordPressはコンテンツ管理システム(CMS)で利用者が多いから当然悪さをしようとする輩も多いはず、なのでサイトのSSL化だけでなくこのプラグインの利用でセキュリティを向上させるのが必須のようだ。

Xampp for WinのapacheにGit BashでSubject AltName(SAN)

現在のプライベート認証局(CA)のサーバ証明書(WWW)が大手ブラウザ(Chrome等)で「Common Name (CN)」対応が廃止されたので拡張機能の「Subject Alternative Name (SAN)」が必要になっている。ただ単に拡張機能なので再度作り直しで済むかな?と思っていたら、「Firefox(iPhone)ではどんな自己署名証明書も認証されない」らしい。PCのMozillaFirefoxであれば、例外に登録すればOK!だけど、iPhoneのブラウザではNO!

サイトを巡って見つけた耳寄りな情報だけど、opensslコマンドを使える「Git Bash 」であればXamppのApacheに拡張機能付けたサーバー証明書を素早く作成できる。又、ServerNameをドメインで作成できること、当然のこと別途httpd-vhost.confとhttpd-ssl.confの設定が必要。
例)localhost ➡ www.example.com

【準備】

1)php.ini
;extension=php_openssl.dll ➡ ;コメントアウト
2)apacheのconfにあるopenssl.cnfをコピー、ファイル名をopenssl-san.cnfに変更
3)openssl-san.cnfの末尾に追記
・[ SAN ]
subjectAltName = @alt_names
・[ alt_names ]
DNS.1 = ドメイン ➡ CN
DNS.2 = <認証したいドメイン>
DNS.3 = <認証したいドメイン>
例)2~ *.xxxxxxx.xxx可 ➡ A

【apacheに設定】

[httpd-ssl.conf]
<VirtualHost *:443>
DocumentRoot “C:/xampp/htdocs/xxxxx” ➡ 指定
ServerName ドメイン
~ ~ ~ ~
</VirtualHost>
SSLEngine on
SSLCertificateFile “conf/ssl.crt/xxxxxxx.crt”
SSLCertificateKeyFile “conf/ssl.key/xxxxxx.key”
作成した.crtと.keyをconfのサブフォルダーにコピー

【サーバー証明書の作成】

[GitBash]
・ C:\xampp\apache\conf へ移動
$ cd /c/xampp/apache/conf
・ xxxxxxr.crt, xxxxxxr.key の2つのファイルを生成

$ openssl req \
-newkey rsa:4096 \
-keyout xxxxxx.key \

# For the CA policy ➡初めての作成時に?
・pass phrase
・[ req_distinguished_name ]

-x509 \
-nodes \
-out xxxxxxx.crt \
-subj “//CN=ドメイン” \
-reqexts SAN \
-extensions SAN \
-config openssl-san.cnf \
-days 3650

・-subjオプションでの書き方はGitBashのみ有効。GitBash以外の端末では「-subj “/CN=ドメイン” \」と、スラッシュをひとつ減らす。
・CRT証明書の登録は、信頼されたルート機関へ登録する。

プライベート認証局(CA)とサーバ証明書(WWW)の再構築は次の機会に挑戦する予定。