記事レベル
- 初心者
- 重要度
- 難易度
「WordPressサイトをハッキングされる」というのを知人から聞いて自分のサイトは大丈夫だろうか?なんて考えます。
自分には無縁の話だろうと思っているんじゃないですか?ちなみに筆者はそう考えている側でした(汗
しかし、自分のサイトを守るのもWordPressでサイトを作る上でとても重要なのです。今回紹介するのはセキュリティ強化に関して多くのユーザーが使用しているプラグイン「SiteGuard WP Plugin」の使い方を実践を交えて紹介します。
こんにちは! ryoです!
助手だよ!
「SiteGuard WP Pluginを使えば、初心者でも簡単にWordPressサイトを守れる!」と言われるほど便利な機能なので、インストールしただけでも高い効果を発揮します。この気にぜひ実装しましょう!
SiteGuard WP PluginのHPにも詳しく書いているので気になる方は確認しましょう!
この記事におすすめな方
・サイト運営を始めたばかり
・簡単にセキュリティを強化したい
SiteGuard WP Pluginのメリットはこんな感じだよ〜
・簡単に設定できる!
・日本製で初心者にも優しい設計
・WordPressサイトを使う上で、基本的なセキュリティはほぼカバーできる
その他、プラグインを設定するやり方も「WordPressプラグイン設定方法3選」で記載しておりますのでよければ確認してくださいね!
セキュリティ強化の第一歩!プラグインをインストールしよう
初めに「SiteGuard WP Plugin」と調べると一番上に表示されているので、インストールしましょう!
「今すぐインストール」を入力し、そのまま有効化しておきましょう!
有効化が完了しますと、メインの編集画面一覧に追加されています。もし追加されていなければ「SiteGuard WP Plugin」が「インストールされているのか?」「有効化はされているのか?」を確認しましょう!
デフォルトで既に設定されていますので、基本的にはこの段階でほぼ完了です!詳しく設定をしたい方用に解説も載せておきます
ここまででインストールは完了です!
次の章からは各種設定を解説していきましょう
管理ページアクセス制限
まずは、「管理ページアクセス制限」から説明しましょう!
一番上に「ダッシュボード」があると思いますが、こちらは今どの機能を使っているかを確認するページになっておりますので、今回は説明を省きます。
下記の画面になっていルカ確認しましょう。今回は「除外パス」の中身がサイト情報になるので白紙にしておりますが皆様の画面にはいくつか記入がされていると思います。
管理ページアクセス制限とは、「SiteGuard WP Plugin」が提供しているセキュリティ機能の1つで、WordPressの管理画面(wp-admin
やwp-login.php
)へのアクセスを特定のIPアドレスに限定する仕組みです。
簡単に説明すると、不正にアクセスされたり、サイトへ攻撃をするために管理画面に入る目的の人物に対して管理画面に入れなくするといった認識で問題ありません。
この機能を使うことにより、リスクを大きく下げることが出来るよ!
記入欄には、IPアドレスを入力し特定の人物のみ管理画面に入ることが許可されます。信用できるユーザーのIPアドレスを入力しチームでの作業を行う時によく使われることがあります。サイトの規模が上がり複数人で作業を行う場合必ず管理ページの対策をしましょう。
管理ページアクセス制限を使うべき人 | 管理ページアクセス制限を使わないほうが良い人 |
---|---|
外部からの攻撃リスクを軽減したい。 限られたメンバーでセキュアにサイト管理を行いたい。 個人運営などで、管理者のIPアドレスが固定されている。 | 動的IPやVPNを使っており、頻繁にIPが変わる。 複数人で運用していてIP管理が難しい。 外出先から頻繁にアクセスする必要がある。 サーバーやFTPの操作に自信がない。 |
注意しなければならない部分もあります。ご自身のIPアドレスを入力したときに「管理画面へ入れなくなった」などの報告もありました。
インターネット接続プロバイダによってはIPアドレスが頻繁に変わる(動的IP)の場合があります。IPアドレスが変わるたびに設定を更新する必要がありますので注意しましょう。
使用する場合には十分注意して使用しましょう!
セキュリティー効果が高いほど理解していないことで逆効果になってしまう事もあります
ログインページ変更
ログインページ変更とは、現在使っているログインページURL(例:wp-test.php)を変更することができる機能です。変更したことにより、ログインURLを利用した攻撃を仕掛けるのを防ぐことが出来ます。
それでは、実践していきましょう!
「ログインページ変更」画面へ行くと自身のURLと横にテキストフィールドがあり、こちらで変更を加えることが出来ます。
新しく設定するURLには特に制限がなく自由に設定できます。(例:test-login 等)出来るだけ短く覚えやすいものにした方が、後々トラブルがあった際、解決が早くなるので十分注意しましょう。
元々設定しているURLには変更を加えた場合アクセスできなくなるので注意しましょう!
変更を加えましたら「変更を保存」します。(新しいURLはしっかりメモしておきましょう)
この機能を使うことで起きるメリットとデメリットも紹介しておきましょう。
メリット | デメリット |
---|---|
1.セキュリティの向上 2.設定が簡単 3.サイト全体の安全性アップ | 1.新しいURLを忘れるリスク 2.URLをメンバーに共有する手間 3.互換性の問題 |
一人でサイト運用している場合はあまりいじらなくてもいい機能かもね!
必ずバックアップを取る
ログインページ変更の設定を行う前に、サイト全体のバックアップを取得してください。
他の管理者に伝える
複数人で運営している場合は、新しいURLを必ず共有してください。
定期的にアクセス確認
新しいURLが正常に動作しているか、定期的に確認することをお勧めします。
メリットやデメリット以外にも注意点があるのでしっかり把握した上で設定を考えましょう。
画像認証
画像認証とは、「私はロボットではありません」など皆様には馴染みが深い機能を追加するページになります。こちらを使うことで、フォームやログインページの保護が強化され、サイト全体の安全性が向上します。
設定画面は以下になります。
デフォルトでこのような画面になっっているかと思いますが、一つずつ確認しましょう。
ログインページ
ログインページに画像認証を使うのは、とてもおすすめです。ページはサイトの重要な入り口であり、不正アクセスやブルートフォース攻撃(パスワード総当たり攻撃)を受けやすいポイントだからです。
- 正規ユーザーが認証に失敗する場合がある
- 認証画像が読みづらいとログインが面倒になるため、画像はできるだけシンプルで分かりやすいものに設定するべきです。
- 視覚障害者対応
- 画像認証のみではアクセシビリティが低下するため、音声認証のような代替手段を用意すると良いでしょう。
- 管理者のログインの利便性
- 自分(管理者)が頻繁にログインする場合はやや手間になることもありますが、セキュリティ強化の方が優先です。
ログインページは特に狙われやすいからとても重要な機能だね
コメントページ
コメントページでは、スパム投稿や荒らし行為を防ぐために画像認証を導入することがあります。しかし、これにはメリットとデメリットがあるため、導入するかどうかを慎重に判断する必要があります。
メリット | デメリット |
---|---|
1.スパム投稿を防止 2.不適切なリンク投稿の阻止 3.サイトパフォーマンスの向上 4.簡単な導入 | 1.ユーザー体験の低下 2.視覚障害者への対応不足 3.頻繁なコメントには不向き 4.高いスパム対策がすでにある場合は不要 |
掲示板などの議論の場ではあまり使わない方がユーザーも楽にコミュニケーションをとれるね
パスワード確認ページ
パスワード確認ページについて、WordPressでは特定の操作(例:プロフィールの編集やユーザー設定変更)を行う際に、本人確認のためにパスワード再入力を求めるページが表示されます。この機能は、管理者権限や個人情報の安全性を確保するために重要です。
SiteGuard WP Pluginでも、このパスワード確認ページに追加のセキュリティ対策を適用できます。
導入が必要な場合 | 導入が必要ない場合 |
---|---|
2.サイトに重要なデータが含まれる場合 3.セキュリティリスクが高い場合 1.外部アクセスの多いサイト | 1.運営者が自分1人だけの場合 2.アクセスリスクが低い場合 3.既に強力なセキュリティ対策がある場合 4.頻繁にパスワード確認が必要な操作を行う場合 |
規模が大きくなってチームで運営する際にはしっかり知識をつけておいた方が良さそうだね!
複数人運営サイトやセキュリティリスクが高いサイトでは、画像認証を導入する価値があります。一方、自分だけが運営するシンプルなサイトであれば、無理に導入しなくても問題ありません。
ユーザー登録ページ
ユーザー登録ページに画像認証を導入することは、特にスパムアカウントの作成を防ぐために有効です。サイトに新しいユーザーが登録できる機能がある場合、ボットによる自動登録を防ぐために、画像認証を導入することを検討すべきです。
導入すべき場合 | 導入は避けるべき場合 |
---|---|
2.スパムや悪質なボット攻撃を防ぎたい場合 3.サイトの安全性や健全なコミュニティを重視する場合 1.ユーザー登録機能が公開されているサイト | 2.ユーザー登録が頻繁に行われない 3.UX(ユーザーエクスペリエンス)を重視したい 1.ユーザー登録ページを制限したい |
コミュニティーサイトや会員制サイトなどは特に導入をお勧めできるね
ログイン詳細エラーメッセージの無効化
ログイン詳細エラーメッセージの無効化機能は、ユーザーがログイン時に間違った情報を入力した場合に表示されるエラーメッセージを制御するセキュリティ機能です。
通常、WordPressなどのサイトでは、ユーザーがログインに失敗した際に、エラーメッセージが表示されます。例えば、「ユーザー名が正しくありません」や「パスワードが正しくありません」といった詳細なエラーメッセージが表示されます。
エラーメッセージは、攻撃者にとって重要な情報を提供することがあります。例えば、次のような情報を攻撃者に教えることになります:
- ユーザー名が存在するかどうか
- パスワードが正しいかどうか
これにより、攻撃者はパスワードクラック(ブルートフォース攻撃)を行う際に、ユーザー名が存在することを知ったり、パスワードが間違っていることを確認したりできます。そのため、ログインエラーメッセージを詳細に表示しないことで、攻撃者に有用な情報を与えないようにすることが重要です。
1.セキュリティの強化
- 詳細なエラーメッセージを表示しないことで、攻撃者に対してログイン情報を推測する材料を提供せず、攻撃者の攻撃を難しくします。
2.不正アクセスの防止
- 特にブルートフォース攻撃(パスワードを何度も試す攻撃)に対する防御になります。攻撃者がユーザー名とパスワードの組み合わせを試す際に、エラーメッセージが詳細であれば、次に何を試すべきかがわかってしまいますが、無効化しておくとその手がかりを得ることができません。
1.ログインページが公開されているサイト
- ユーザーがログインする必要があるサイト(会員制サイト、管理画面など)では、セキュリティを強化するためにエラーメッセージの無効化が特に重要です。
2.新規ユーザーの登録を受け付けているサイト
- 新しいユーザーが登録できる場合も、ログインエラーメッセージを無効にすることで、ボットや攻撃者からの攻撃を防げます。
ログイン詳細エラーメッセージの無効化機能は、セキュリティを向上させるための重要な対策の1つです。これを有効にすることで、攻撃者がログイン情報を推測する際の手がかりを減らし、不正アクセスを防ぐことができます。
特に、会員制サイトや管理者ログイン画面を運営している場合は、この機能を有効にすることを強くおすすめします。
ログインロック
ログインロックとは、不正ログインを防ぐためのセキュリティ機能の一つで、一定回数以上のログイン失敗があった場合に、そのIPアドレスやユーザーアカウントを一時的にロックしてログインできなくする仕組みです。この機能は、特にブルートフォース攻撃(パスワードを総当たりで試す攻撃)に対して効果的です。
昨今の携帯でも何回もパスワード入力を失敗すると一時的に使えなくなるアレだね!
- 期間(監視期間)
意味:ログイン試行をカウントする時間枠。
仕組み:例えば、「期間=5秒」と設定した場合、この5秒間にログイン失敗が一定回数(回数設定)を超えるとロックが適用されます。
期間を過ぎるとカウントがリセットされます。使い方の例:短い期間(数分~数十分)を設定しておくと、パスワードを総当たりで試すような不正アクセスに対して短時間で大量の試行を防げます。
- 回数(失敗回数の上限)
意味: ロックを発動するまでに許されるログイン失敗の回数。
仕組み:例えば、「回数=3回」と設定した場合、監視期間内に3回ログインに失敗するとロックが発動します。試行回数を制限することで、攻撃者が総当たり攻撃を試みるのを防ぐことができます。
3~5回程度に設定するのが一般的。あまりに少ない回数にすると、正規のユーザーも簡単にロックされるリスクがあります。
- ロック時間
意味: ロックが発動した後、その状態が維持される時間。
仕組み:例えば、「ロック時間=5分」と設定した場合、ログイン失敗したアカウントやIPアドレスは5分間ログインできなくなります。ロック時間が経過すると自動的に解除されます。
小規模サイト(個人運営の場合) | 大規模サイト(ユーザー数が多い場合) |
---|---|
・期間:5秒 ・回数:3回 ・ロック時間:5分 | ・期間: 30秒 ・回数: 5回 ・ロック時間: 5分 |
※上記はあくまで参考にしましょう
不正アクセスの試行を抑止
- 短時間で大量のパスワードを試されるリスクを軽減します。
サイトの安全性向上
- 管理画面やアカウント情報の不正使用を防ぎます。
管理者が攻撃を把握しやすい
- ロックの発生状況を通じて、不審なアクセスの兆候が見えやすくなります。
注意点
誤って正規ユーザーがロックされることもあるため、適切な回数と期間を設定しましょう。
複数人で運営している場合、ロック解除の手順を明確にしておく必要があります。
不正アクセス対策をしっかり行いつつ、ユーザーへの配慮も忘れずに運営できるね!
ログインアラート
ログインアラートは、ユーザーがログインした際にその情報を通知する機能です。この機能を利用することで、不正ログインの早期発見が可能になります。
設定しているメールアドレスに通知が届く機能だね
デフォルトで「サブジェクト」「メール本文」は記載されているので基本的に設定しなくても通知がきます。
ログインアラートの仕組み
- ログインが成功したタイミングで通知
ユーザーが管理画面にログインすると、その事実が指定されたメールアドレスに送信されます。 - 通知内容
通知メールには以下の情報が含まれることが一般的です。- ログインした日時
- ログインしたIPアドレス
- ログインに使用されたユーザー名
1.不正ログインの早期発見
自分や管理メンバー以外の不審なIPアドレスからログイン通知が届いた場合、不正アクセスの可能性にすぐ気付けます。
2.セキュリティ意識の向上
定期的にログイン通知を受け取ることで、サイトのセキュリティ状態を確認しやすくなります。
複数人で運営している場合、他ユーザーがアクセスしているかチェックできるのでとっても便利だよ!
注意点
- 通知の頻度
ログインのたびに通知が届くため、頻繁にログインする場合はメールが多くなる可能性があります。 - 複数人で運営している場合
管理者以外のログインも通知されるため、想定されるログインかどうかを確認しましょう。 - 通知メールのセキュリティ
通知メールが第三者に盗み見られないよう、メールアカウントのセキュリティを強化しておく必要があります。
個人運営でもログインした際の通知が来るのか確認はしておこうね
フェールワンス
フェールワンス は、セキュリティを強化するための機能で、一度目のログイン失敗に対してわざと失敗を返す仕組みです。この機能により、総当たり攻撃や不正ログイン試行を困難にします。
頻繁にログインする場合、手間が増える分いらないかも…
仕組みと動作
・一度目のログイン試行が必ず失敗
正しいユーザー名とパスワードを入力していても、最初の試行は失敗として処理されます。
・二度目以降で成功
正しい情報を再度入力することで、ログインが成功します。
効果
・攻撃者への妨害
総当たり攻撃を行うプログラムは、通常1回の試行で成功・失敗を判定します。この機能により、攻撃者は成功条件を判断できず、攻撃が無駄に終わります。
・ログインプロセスの難読化
不正ログインを試みる攻撃者がサイトの挙動を把握しづらくなります。
正規のユーザーは、初回の失敗に戸惑う可能性があるので注意しましょう!
セキュリティ重視のサイト
- 例えば、機密情報を取り扱うサイトや、会員情報を守る必要がある場合に効果的。
攻撃リスクの高いサイト
- 人気のあるサイトや外部からのアクセスが多いサイトでは、リスク軽減に役立ちます。
ユーザービリティの低下
- 正しい情報でも一度失敗するため、初心者ユーザーが混乱する可能性があります。
運用上の負担
- ユーザーから「ログインできない」といった問い合わせが増える可能性があるため、サポート体制を整える必要があります。
「フェールワンス」はセキュリティを高める強力な手段ですが、ユーザー体験を損なうリスクもあるため、導入前に対象ユーザー層を十分に考慮する必要があります。
個人運営の場合には、導入の必要性は低いかもしれませんが、大規模なサイトやリスクが高い場合には有効な対策です。
XMLRPC防御
XML-RPC防御は、WordPressのXML-RPC機能を悪用した攻撃からサイトを守るための機能です。この機能は、XML-RPCの機能を制限または無効化することで、セキュリティを強化します。
イメージとしては、WordPressに対して別のアプリなんかでパスワードを試行させないための防御って認識でいいかな
XML-RPCとは?
XML-RPCは、外部アプリやサービスとWordPressを通信させるための仕組みです。具体的には以下のような用途で使われます。
- リモート投稿
- 外部のブログエディタやアプリから記事を投稿。
- モバイルアプリ連携
- WordPress公式アプリでサイトを管理。
- ピンバック機能
- 他のサイトからのリンク通知を受け取る。
なぜ防御が必要なのか?
XML-RPCは便利な一方で、以下のような攻撃に悪用されるリスクがあります。
- 不正ログイン試行
- XML-RPCを介して大量のパスワードを試す攻撃。
- DDoS攻撃
- ピンバック機能を使い、他のサーバーへの攻撃に利用される。
- 情報漏洩
- XML-RPCを通じて不正な情報取得が行われる可能性。
- XML-RPCの完全無効化
- XML-RPCの機能をすべて停止します。
- メリット: 攻撃リスクを完全に排除。
- デメリット: リモート投稿やモバイルアプリ連携が使えなくなる。
- 特定の機能のみ制限
- ピンバック機能だけを無効化するなど、必要な部分だけを制御。
- メリット: 必要な機能は残しつつセキュリティを向上。
- デメリット: 設定が少し複雑になる。
- ログ監視
- XML-RPCのリクエストログを監視し、不審なアクセスがないかチェックします。
個人運営のサイトでは、ピンバック機能は交流やSEO、トラフィックの向上を重視する場合に有効ですが、セキュリティや管理面を重視する場合は無効にする方が適しています。
設定すべきケース
個人運営サイト(リモート投稿不要の場合)
- 完全無効化が最適。リスクを大幅に減らせます。
外部アプリを使う必要がある場合
- 完全無効化せず、ピンバック機能だけを無効にするなど部分的な防御を推奨。
攻撃を受けやすいサイト
- 大規模サイトやアクセスが多いサイトでは、XML-RPCを完全無効化するのが安全。
ユーザー名漏えい防御
ユーザー名漏えい防御は、サイトのセキュリティを強化するための重要な機能で、特に攻撃者に自分のユーザー名を知られたくない場合に有効です。これを使うことで、コメント欄やURLなどでユーザー名が露出することを防ぎ、より安全な運営が可能になります。
この機能は、ログインページや管理ページなどでユーザー名が誤って公開されるリスクを減らすために有効だね
1.攻撃者による推測攻撃の防止
- 攻撃者は、知っているユーザー名に対してパスワードを試す「辞書攻撃」や「ブルートフォース攻撃」を行うことがあります。ユーザー名漏えい防御を有効にすることで、攻撃者が最初からユーザー名を知ることがなく、攻撃の成功率を低くできます。
2.URLでのユーザー名漏えい防止
- WordPressでは、コメントや投稿者情報がユーザー名を含むURLとして表示されることがあります(例:
https://example.com/author/username/
)。この場合、URLを見ただけでユーザー名がわかってしまいます。ユーザー名漏えい防御を有効にすることで、こうしたURLの表示を防ぎます。
SiteGuard WP Pluginでは、ユーザー名漏えい防御機能を有効にすることができます。この機能が有効になっていると、以下のような点が保護されます。
1. コメントや投稿者ページのURLにユーザー名を表示しない
WordPressでは、デフォルトでコメント投稿者や投稿者ページのURLにユーザー名が含まれますが、これを無効にすることで、外部からユーザー名が知られるリスクを減らします。
例: 通常は「example.com/author/username/
」のようなURLが表示されますが、この機能を有効にすると、「example.com/author/
」などのようにユーザー名が含まれないURLに変わります。
2. ログインエラーメッセージのカスタマイズ
ログインエラー時に「ユーザー名またはパスワードが間違っています」というメッセージが表示されると、攻撃者はユーザー名が正しいことを確認することができます。ユーザー名漏えい
ユーザー名漏えい防御は、WordPressサイトのセキュリティ機能の一つで、サイトのユーザー名が漏れるのを防ぐことを目的としています。
ユーザー名が漏れると、不正ログインを試みる際に攻撃者がユーザー名をすでに知っていることになるため、攻撃の成功率が高まります。
セキュリティを強化したいと感じる場合や、今後のリスクを考慮するなら設定を有効にするのが賢明です。
更新通知
更新通知機能は、WordPressのセキュリティと機能を最新の状態に保つために非常に重要です。
SiteGuard WP Pluginは、プラグインやWordPress本体のアップデート通知を提供し、これによりサイトのセキュリティを保つことができます。自動更新の設定を活用することで、手間を減らしながら、常に最新の状態を維持することができます。
WordPressのセキュリティと機能を最新の状態に保つために非常に重要だね!
更新通知の主な目的
セキュリティアップデートの通知
- WordPress本体やプラグイン、テーマにセキュリティ上の修正が含まれている場合、そのアップデートを通知してくれる機能です。セキュリティ上の脆弱性が修正されるアップデートを見逃さないようにすることができます。
新機能や改善の通知
- プラグインやテーマの新しいバージョンに追加された新機能や改善点を通知することもあります。これにより、最新機能を取り入れてサイトをより便利にすることができます。
更新の失敗やエラーの通知
- 更新中に何か問題が発生した場合(例: 更新の失敗やエラーが発生した場合)、その情報も通知され、迅速に対処できるようになります。
ログインアラートの「更新通知版」と思ってもらえるとわかりやすいかも!
WAFチューニングサポート
WAF(Web Application Firewall)チューニングサポートは、Webアプリケーションファイアウォール(WAF)の設定や最適化をサポートする機能です。
WAFは、Webアプリケーションに対する攻撃を防ぐためのセキュリティ対策ですが、適切に設定・調整しないと、攻撃の検出精度やシステムのパフォーマンスに影響を与える可能性があります。このため、WAFチューニングサポートは、WAFが最適に機能するように支援するものです。
適切にチューニングされたWAFは、攻撃を効果的に防ぐだけでなく、サイトのパフォーマンスや可用性を維持するのにも役立つよ
有効にするべき場合 | 無効にしても問題ない場合 |
---|---|
1.セキュリティ強化が必要なサイト 2.アクセス数やトラフィックが多いサイト 3.攻撃のリスクを最小限に抑えたい場合 4.トラフィックの分析やログ監視を行いたい場合 | 1.小規模な個人ブログや趣味サイト 2.あまりアクセスがないサイト 3.手間をかけずに運営したい場合 |
WAFチューニングサポートは、特にサイトが攻撃にさらされるリスクが高い場合やアクセス数が多い場合に有効です。
もし自分のサイトが一般的なブログや趣味サイトで、攻撃のリスクが低いと感じるのであれば、無理に有効にする必要はないかもしれません。
今後サイトが成長したり、セキュリティを強化したいと思った場合に備えて、導入を検討するのは良い選択です。
まとめ:サイトを守る為のSiteGuard WP Pluginを導入しよう!
SiteGuard WP Pluginは、WordPressサイトを強力に保護するための多機能なセキュリティプラグインです。
ログインページの変更、画像認証、管理画面アクセス制限、ログイン履歴の記録など、さまざまなセキュリティ対策を一手に提供します。特に、ログインロックやXMLRPC防御、WAFチューニングなどの高度な機能を活用することで、サイトを悪意ある攻撃から守ることができます。
個人運営のブログから、商業サイトや会員制サイトまで、幅広いサイトでのセキュリティ強化に有効です。
WordPressサイトのセキュリティを強化したい方は、ぜひSiteGuard WP Pluginを導入し、万全の対策を行いましょう。
この方法を試してみて、是非よければ皆様の結果を教えてください!