インストールしたらLoginセキュリティー対策を – phase-02

INDEX

世界中からランダムに攻撃を受け始めてます

WordPressをインストールした途端です。意識をしないうちから世界中からログイン画面にアクセスしようと攻撃を受け始めます。利用者の多いWordPress。セキュリティーが弱いと言われることもしばしば。でも、それは何も対策をしないからだと感じます。しっかり対策をしてればいつだってサイトを守れますよね。
毎回書きますが、私はセキュリティーはガチガチに固めたい派です。サーバーはもちろん利用するワードプレスもDrupalもCインストール後に一番にやるのがこのログイン管理なんです。
人気が高まるにつれて、一般の利用者のために導入までどんどん便利になりました。
レンタルサーバーも利用者獲得のためにWordPressの簡単導入ができるところがほとんどです。
これは、そもそも多くのレンタルサーバー企業が管理画面に使うcPanelというGUI操作のサーバーソフトウエアによる仕様によるもの。そういう一般的なインストールに対して攻撃者は容赦してくれません。

簡単だからこそ狙われる危険が

「契約から10分でWordPressが利用できます」

面倒な技術的なことはすっ飛ばし、サイトを立ち上げたらどんどん記事を書いていきたいと気持ちは逸るかもしれません。
でもね、まだ公開から1月ほどのここ『百聞』だって1日になんと5億回を超える攻撃があるんです。そして必ずセキュリティーの甘いところを突いて攻撃されるんです。
ここで
、インストール時にデータベースの接頭辞を変更してインストールしました。それもそういう改ざん目的から守るため。面倒がらずに管理画面にアクセスできないようにガッチリ固めていきましょう。

一番はセキュリティー専用プラグイン

過去には自分でPHPファイルを作成して独自にログインURLを変更してました。ただ、最新のバージョンの6になってからログアウト時にうまく処理できないトラブルなども発生します(サーバ環境にもよるのかも知れませんが)
そういうコアのアップデートでもトラブルに巻き込まれたくはないでですね。なので、信頼性の高いセキュリティープラグインを使用することが一番。メンテナンスの面においても圧倒的に便利になります。

最低でもログイン画面への対策はとるべし

そしてもひとつ、管理画面へのログイン以外にも『XML-RPC』対策。この遠隔的な操作を可能にする機能も攻撃の的になります。ここからも守らないといけません。実際にアクセスログを見るとこの機能を実践するxmlrpc.phpへの攻撃が世界中から毎日何百とあるここをぜひ知っておいてくださいね。まだまだ記事数の少ないここ百聞だって例外ではありません。
レンタルサーバーによっては初期設定で海外からのアクセスをサーバーサイドで制限をかけているところもあるようですね。ただ、渡航先や赴任先の方のアクセスもきっとありますよね。だから、海外全部を締め出すことには私は否定的です。ただ、こういうブルートフォースという『総当たり攻撃』やDos攻撃、DDos攻撃というものは海外から行われることがほとんど。
この種のプラグインには国別でアクセス制限をかけられる優秀なものも揃ってます。ちゃんと自分の意識のもとでの設定ができるものを導入するといいと思いますね。

百聞お勧めのセキュリティープラグイン2022

  1. Wordfence Security

もうこれ絞ってお勧めします!
いくつも羅列しても悩ませるだけでしょう
私がよく読ませてもらう海外のマネージドサーバーの技術報告でもこのプラグインは2022年度のお勧めリストに入ってます。
日本では過去には『SiteGuard WP Plugin』という人気のものもありましたね。ただ、私の印象ではNginxでは不具合が出たり使い辛かった印象。日本のメジャーなレンタルサーバーはNginxでリバーシプロキシをして裏ではApacheで稼働させるサーバーが多いので問題なかったのかも知れませんが、完全なNginxで稼働させているWordPressは要注意です。そして、他のプラグインやテーマとの相性でも問題が報告されています。

世界的シェアから見ても上の2つの信頼性の高さは圧倒的。百聞でも自信を持ってお勧めしたいです。
2022年の夏の現在の一番は『Wordfence Security』です!

Wordfence Securityの特徴

2つのプラグインの中でもイチオシがこれです。以下にその機能をご紹介しましょう。

https://www.wordfence.com/

2要素認証が可能なWordfence

今ではGoogleやAmazonなどでお馴染みになったログイン時において『2要素認証(2FA=Two-Factor Authentication)』を実装できることです。

2要素認証とは

認証に用いられる要素としては、
・IDとパスワードなどといった本人だけが知っている知識
・あるいはICカードやスマートフォンなど本人だけが持っている物
・そして指紋や顔、虹彩といった本人の身体的特徴
これらをそれぞれ知識認証、所有物認証、生体認証と呼びます。

このうちから2種類を使って認証することを『2要素認証』と呼び、パスワードを解析して総当たり攻撃をするブルートフォースからワードプレスを守ります。

コミュニティーサイトやネットショッピングを構築する場合などは絶対に欲しい機能。

また、特定のIPで接続するとこの2要素認証をスキップすることも可能になります。これも欲しかった機能ですよね。
常にVPNなどの固定IPでアクセスできる環境でなくても、自宅の契約プロバイダーのグローバルIPをサブネットマスクで指定しておけば、ある程度の範囲からこれをスキップさせられます。
そして、出先で緊急にアクセスしたい場合などはやっぱりこの2要素認証でログインしておきたいところ。 そういう使い分けができるんです。
この『2要素認証』はGoogle Authenticator や Authy といった認証に定評のあるものを利用できます。

スマホと連携すれば生体認証もOK


このようにQRコードをスマホで読み込んでユーザごとの設定が可能です。Google Authenticator や Authyは専用アプリをインストールすれば自分のWordPress以外にも利用可能。これによって、パスワード漏洩の恐怖から解放されますよね。
まぁ、海外アプリなので日本語化してない部分も多くあリますけどね。でもね、今はChromeは自動翻訳機能もかなり進歩してきましたよね。これを使えばほぼ設定で迷うことはありませんでした。

詳細なブロッキングリストとアクセスログ

ダッシュボードの画面
アクセスログの一部

こんな感じで詳細なブロックリストを表示してくれます。
アクセスの時のユーザー名が無効なものだと即時ブロック。それから『XML-RPC』対策ではxmlrpc.phpへアクセスを許しません。まだ始めたばかりのサイトにこれだけの攻撃があるんです。
Wordfenceの良いところはこの詳細なリストだと思っています。目に見える形で脅威を知ればいつも対策を練れますよね。

リバースプロキシを設定している時

レンタルサーバーの中でNginxのWebサーバーと表記されていても『.htaccess』が使えますというところはリバースプロキシにNginxを使っているだけですね。実際はバックヤードではApacheがワードプレスの処理を賄っています。
それでも分散処理に長けたリバースプロキシのメリットは大きいので大丈夫。ただ、海外のマネージドサーバーはNginxでリバースプロキシさせてバックヤードもNginxという構成が多いんです。NginxはApacheに比べると処理スピードは圧倒的に速いとされてます。一般的にブログを始める人がサーバーの技術的なことまであまり深く考えないかも知れません。

私は独自のサーバーで運用しています。独自にNginxからリバースプロキシをしてバックヤードのNginxのワードプレスに飛ばすか、はたまたLiteSpeedのサーバーに飛ばすかと色々です。
この時フロントエンド(Nginxのリバースプロキシ)にアクセスしたクライアントのIPをバックエンドに上手に手渡されないとせっかくの『Wordfence』のIP制御が効かなくなります。
『All In One WP Security & Firewall』という同じく無料の素晴らしいセキュリティプラグインもリバースプロキシにした場合、うまく制御ができないんですよね(私の技術不足もありますけど…)

IP取得方法の選択が可能

そんな時には

全ての設定から『Wordfence の一般的なオプション』で一番上の(推奨)から4つ目の『X-Real-IP HTTP ヘッダーを使用します。フロントエンドプロキシーを使用している場合のみ使用し、スプーフィングが発生する可能性があります』に変更して対応が可能です。
ただし、(推奨)設定でうまくいく場合もあります。ただmこういう設定で対策がとれることがとても重要だって思ってます。
やりたいことを諦めずにこのおかげでしっかりWebサイトを守れるんです。

さらにログインURLも変更しましょう

残念ながら、WordfenceにはログインURLの変更の設定はありません。でも、このブルートフォースの脅威数を実感してもう一つ対策を追加します。『WPS Hide Login』というプラグイン追加してログインURLを変更しています。
WPS Hide LoginWordfenceも世界的に利用者が多く、これを共に使う利点を海外ではたくさん報告されていました。
非常にシンプルで他のプラグインにも影響のないありがたいプラグインです。

WPS Hide Login

お分かりになるかと思いますが、ここまでするか?というほど気が小さいんです。
なお、Wordfenceで変更したURLの設定最初の4文字以降にアクセスは禁止しています。
例えば
https://xxdomain.com/wp-login.php → https://xxdomain.com/sakurasakura
に変更したとしたら、
ファイアウォールの詳細オプション
「これらの URL にアクセスするIPを即座にブロックする」ここで、
/saku*
こんな感じでアスタリスク(*)をつけて設定してます。これで実際のURL想像できないように設定しておけばなお安心でしょう。

単体で2要素認証を可能にするプラグインも

もうすでにセキュリティープラグインを使っていてそこそこ満足している。
でも『2要素認証』だけ欲しい。
そんな場合は独立した単体のプラグインが用意されていました。

Wordfence Login Security

まとめ

今回無料のバージョンでのご紹介でした。『Wordfence』には年額99USDからのプレミアムバージョンもあります。99ドルの追加で国別ブロッキングなどの追加ができるようです。
ただ、国別ブロッキングだけならシンプルなら
『IP2Location Country Blocker』もあるので無料バージョンで十分に満足できるプラグインです。

IP2Location Country Blocker

ログインにIP制限をかけた場合はほぼ必要ないかと思いますけどね。
便利でセキュリティーアップに繋がるありがたいプラグインは、この後もどんどんご紹介していきますね。

とにかく『Wordfence』は素晴らしいイチオシのセキュリティープラグインです。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

著者紹介

過去に"MOMO'S Web Design"というPerlで書いたCGIの配布サイトを運営。開設から半年で40万ダウンロード達成しました。 現在は東京都内の某大学で講師とWeb系で研究とお仕事をしています。得意なものはWordPressとDrupal。PHPやJavaScriptであれこれと。今までの研究を活かして自分のブログやってます。

INDEX