【完全保存版】WordPressセキュリティチェックリスト〜究極の対策ガイド〜
WordPressサイトのセキュリティを強化したいと思ってネットで検索すると、数え切れないほどのアドバイスが見つかります。しかし、その中には役立つ情報もあれば、善意で書かれたものの実際には害を及ぼしかねない情報も混在しているのが実情です。
WordPressのセキュリティ対策において重要なのは、信頼できる情報源から、正確であると同時に実行可能な情報を得ることです。2020年だけでマルウェア攻撃は150%以上増加しており、この傾向は今後も続くと予想されます。だからこそ、WordPressサイトのセキュリティ対策を最優先事項として取り組むべきなのです。
WordPressサイトを守る最善策は、セキュリティプラグインを導入して重い作業を任せることです。しかし、プラグインを使わなくても、これから紹介するWordPressセキュリティチェックリストに従うことで、かなりのレベルまでサイトを安全に保つことができます。
要点: MalCareのようなセキュリティプラグインを導入すれば、日々のセキュリティメンテナンスの手間から解放されます。WordPressのセキュリティは、埋めるべき隙間が無数にある迷路のようなもの。以下のチェックリストを参考に、重要な対策を見逃さないようにしましょう。
WordPressサイトを守る最も簡単な方法
前述の通り、WordPressサイトを守る最良の方法はセキュリティプラグインの導入です。特におすすめなのがMalCareです。MalCareなら、WordPressセキュリティチェックリストの項目を自動的に処理してくれるため、細かい作業を一つひとつ管理する必要がありません。
MalCareには、サイトの安全を維持するために連携して動作する複数の機能が備わっています。中でも特に重要なのが、スキャン、ファイアウォール、クリーンアップの3つです。MalCareを使えば、WordPressサイトの自動スキャンをスケジュール設定でき、不審なものが検出されるとアラートで通知されます。さらに、ほとんどの攻撃をブロックするインテリジェントなファイアウォールでサイトを保護します。そして何より重要なのは、どんなサイトでも完璧な防御はあり得ないため万が一ハッキングされた場合でも、ワンクリックで数分以内にサイトを復旧できる点です。
MalCareを選ぶべきもう一つの理由は、手動でのセキュリティ対策にはどうしても人為的ミスのリスクが伴うことです。セキュリティ上のミスがもたらす損失は金銭的なものだけでは済みません。ハッキング被害が悪化すれば、データ窃取、サイト改ざん、顧客の流出、そして何よりビジネスへの信頼喪失につながりかねません。
究極のWordPressセキュリティチェックリスト
WordPressサイトには多くの要素があり、すべてを把握し続けるのは大変な作業です。そこで今回は、対応頻度別に整理したWordPressセキュリティチェックリストを作成しました。
毎日行うべきセキュリティ対策
Webサイトのセキュリティは継続的なプロセスであり、一度やれば終わりというものではありません。ただし、日常的なタスクは自動化することも可能です。これらのタスクによって、予期せぬ問題や脅威からサイトを守ることができます。
サイトをスキャンする
毎日のマルウェアスキャンは非常に重要です。インターネット上では38秒に1回、どこかのWebサイトがハッキングされており、あなたのサイトもその標的になる可能性は十分にあります。定期的なスキャンを行えば、脅威やマルウェアの存在にいち早く気づき、攻撃者が被害を拡大する前に対応できます。
毎日手動でスキャンするのは面倒だと感じる場合は、MalCareのようなセキュリティソリューションの利用がおすすめです。毎日の自動スキャンをスケジュール設定できるため、スキャンのし忘れや手動実行の手間から解放されます。
サイトをバックアップする
WordPressサイトのバックアップを取るべき理由はいくつもありますが、最も重要なのはセキュリティ対策のためです。マルウェアは早期に発見されないと、データ消失やサイト改ざんといった深刻な被害をもたらします。また、ホスティング業者が感染サイトをサーバーから削除することも少なくありません。独立したバックアップがない場合、ゼロからの再構築を余儀なくされます。
価値の高いサイトは毎日のバックアップが不可欠です。特にWooCommerceサイトではリアルタイムバックアップが必要になります。BlogVaultのような便利なツールを使えば、このプロセスを簡単に自動化できます。BlogVaultでは、ニーズに応じて毎日またはリアルタイムでバックアップをスケジュールでき、バックアップは外部サーバーに保存されるため、仮にWebサーバーがハッキングされてもバックアップは安全に保たれます。
毎月行うべきセキュリティ対策
アクティビティログを確認する
ハッキングやマルウェア・アドウェアなどの不正プログラムの侵入は、通常こっそりと行われます。その痕跡が残る唯一の場所が、サイトのアクティビティログ(操作履歴や変更内容の時系列記録)であることも多いのです。そのため、毎月一度はアクティビティログを確認し、不整合や不審な活動がないかチェックしましょう。万一サイトがハッキングされた際、どのIPアドレスが関与していたのか、どのように侵入されたのかなど、重要な手がかりを追跡できます。
コンテンツを日次または週次で公開している高頻度更新サイトの場合、変更箇所が多すぎて月1回の確認では負担が大きいかもしれません。そのような場合は、週1回または2週間に1回のペースで確認するとよいでしょう。
WordPressにはデフォルトでアクティビティログ機能がないため、プラグインに頼る必要があります。あるいは、MalCareを使えば、詳細で分かりやすいアクティビティログ機能と包括的なWordPressセキュリティを同時に得られます。
サイトをアップデートする
理想的には、新しいアップデートがリリースされたらすぐに適用すべきですが、月1回の定期アップデートでも十分に効果があります。月次のアップデートスケジュールを守れば、サイトがしっかり保護され、新たな脆弱性もパッチ適用されている状態を保てます。
アップデートはサイトが壊れる原因になることもあるため、不安に感じる方も多いでしょう。BlogVaultのようなプラグインを使えば、ステージング環境でアップデートをテストしてから、本番サイトへシームレスに反映できます。
Search Consoleを確認する
WordPressサイトをGoogle Search Consoleに登録すると、SEO面でさまざまなメリットがあるだけでなく、セキュリティ対策にも役立ちます。Search Consoleの「セキュリティの問題」タブでは、サイトで検出されたマルウェアが通知されるため、定期的に確認することでマルウェア感染の早期発見につながります。
MalCareで定期的にスキャンしていれば、マルウェアはすでに検出できているはずですが、Googleがサイト上の不審な活動を検知していないか確認しておくのも良い習慣です。
未使用のテーマとプラグインを削除する
古い未使用のテーマやプラグインを削除することには、2つのメリットがあります。1つ目はサイトの高速化です。ファイルが多すぎるとサイトが肥大化し、サーバーの処理速度が低下します。2つ目は攻撃経路の遮断です。未使用のテーマやプラグインは放置されがちで、アップデートもされないため、脆弱性が放置され、格好の攻撃対象となります。毎月、使用中のすべてのテーマとプラグインを見直し、不要になったものは削除しましょう。
注意: 偽プラグインの存在もチェックしてください。マルウェアはしばしばプラグインフォルダに偽装されています。本物のプラグインフォルダに見えても、ファイルが1〜2個しかなく、WordPress公式ディレクトリに存在せず、「azzz」や「tiff」のような不審な名前を持つものは偽物の可能性が高いです。
認証情報を更新する
同じパスワードを長期間使い続けたり、複数のアカウントで使い回したりするのは大きなリスクです。WordPressサイトを守るために、パスワードは最低でも月1回は更新しましょう。こうすることで、万が一パスワードを盗まれていても、それが使用不能になり、同時に全デバイスからログアウトされるため安全性が高まります。多少の手間はかかりますが、サイトへのアクセス権を確実にコントロールできます。
ユーザーロールと権限を確認する
WordPressサイトの各ユーザーアカウントは、管理者アカウントと同じくらい重要です。ハッカーがいずれかのアカウントにアクセスできれば、サイトにマルウェアを仕込み、自身の権限を昇格させ、さらには管理者を締め出すことさえ可能です。
すべてのユーザーに必要最小限の権限のみを付与し、使われていない古いアカウントは削除しましょう。また、許可なくユーザーの権限が昇格していないかも確認してください。それはマルウェアの兆候である可能性があります。
悪意のあるIPアドレスをブロックする
悪意のあるIPアドレスをブロックまたは制限すると、運営が大幅に楽になります。ハッキングを受けている場合、攻撃元のIPアドレスを特定してブロックすれば、そのIPからのアクセスを一切拒否できます。この手法は、ハッカー対策、ボットや荒らしの排除、不正ユーザーのシャットアウトに活用されます。ファイアウォールを使用していれば、悪意のあるIPは自動的にブロックされます。
特定の地域から繰り返し攻撃を受けている場合は、地域単位でブロックすることも可能です。
バックアップをテストする
最悪の事態でWordPressサイトがダウンしても、バックアップがあれば復旧できます。しかし、そのバックアップ自体の安全性を確認する必要があります。バックアップが既に改ざんされていたら、復元しても意味がありません。同様に、バックアップが正常に動作するかもテストしておかないと、壊れたサイトを復元することになりかねません。BlogVaultを使えばバックアップのテストも簡単に行え、信頼性を確保できます。
WordPressソルトを更新する
WordPressは暗号化プロセスの一環として「ソルト」を使用しています。ソルトとは、パスワードを暗号化する前に追加されるランダムな文字列のことです。パスワードとソルトを組み合わせて生成された文字列はハッシュとなり、データベースにはこのハッシュが保存されます。これにより、仮にハッカーがデータベースからハッシュ化されたパスワードを盗み出し、解読できたとしても、どの部分が実際のパスワードで、どの部分がソルトなのかを知ることはできません。それを知る唯一の方法は、設定ファイル内のソルトとセキュリティキーにアクセスすることだけです。
これはブラウザのCookieにパスワードが保存される仕組みにも似ています。任意のサイトにログインし続けられるのは、セッション情報がCookieに保存されているからです。もし平文のパスワードがそこに保存されていたら危険極まりないため、WordPressは代わりにソルト化・ハッシュ化されたバージョンを保存しています。ソルトへのアクセスは即座にハッシュ解読につながるわけではありませんが、セキュリティレベルは低下します。そのため、WordPressのソルトは定期的に更新することが重要です。
長期的なセキュリティ対策
SSL証明書を確認する
SSLは、Webサイトサーバーとの通信を暗号化するために設計されたセキュリティプロトコルです。これにより、攻撃者が転送中の情報にアクセス、閲覧、改ざんすることを防ぎます。
通常、SSLはドメイン取得時やホスティング契約時に設定します。しかし、SSL証明書の有効期限は約2年ごとに訪れるため、速やかに更新することが大切です。特に、サイト上で決済を行っている場合は重要度が倍増します。セキュリティ侵害が発生すれば、クレジットカード情報や銀行口座情報の漏洩につながりかねません。
ホスティングプランを確認する
ホスティングプランの更新を忘れると、WordPressアカウントが停止されます。これにより、トラフィックの減少、顧客の流失、さらにはデータ損失など、さまざまな問題が発生します。ホスティングサービスを定期的に確認することは、サイトのトラフィック分析やサーバー使用状況の把握にも役立ちます。異常に高いサーバー使用率はブルートフォース攻撃(総当たり攻撃)の典型的な兆候であり、早期に発見できれば対処の余地が大きく広がります。ブルートフォース攻撃を早期に検知できれば、ハッカーがサイトに侵入する前に防御措置を講じられます。
一度だけ行えばよい完全対策
WordPressのセキュリティは継続的な見直しが必要ですが、一度設定すれば頻繁なメンテナンスが不要な対策もあります。
強力なファイアウォールを導入する
ファイアウォールは、悪意のあるトラフィックをフィルタリングし、攻撃がサイトに感染する前に大半を阻止することでWordPressサイトを守ります。ファイアウォールには、Webアプリケーションファイアウォール(WAF)、ネットワークファイアウォール、クラウド型ファイアウォールなど、いくつかの種類があります。MalCareの強力なWebアプリケーションファイアウォールなら、サイトへのトラフィックをフィルタリングし、ログイン試行回数や地理的位置に基づいて訪問者をブロックできます。
HTTP認証を実装する
HTTP認証は、本来アクセスを許可された人だけがWebリソースにアクセスできるようにするプロトコルです。特定のWebページがリクエストされた際にユーザー名とパスワードを要求することで、アクセスを制限します。もちろんサイト全体に適用することはできませんが、管理画面やログインページに実装すれば、ボット攻撃の数を大幅に減らせます。
二要素認証(2FA)を活用する
二要素認証は、アカウントへのアクセスに2つの異なるキーを要求する認証方式です。例えば、メールにアクセスする際、通常はユーザー名とパスワードだけで済みますが、二要素認証を導入すると、ワンタイムパスワードやPINなど、リアルタイムで生成されるキーの入力も求められます。これによりログイン試行回数が減り、サーバーが大量のログインリクエストに圧迫されることを防げます。ブルートフォース攻撃からの保護にも有効です。「2FA」などのプラグインを使えば、サイトに二要素認証を簡単に導入できます。
ログイン試行回数を制限する
ログイン試行回数の制限については前述しました。WordPressはデフォルトでログイン試行回数を無制限に許可しているため、ハッカーにとってブルートフォース攻撃の絶好の機会となります。ログイン試行を制限する最も簡単な方法は、MalCareのようなセキュリティプラグインを使うことです。あるいは、functions.phpファイルにカスタムコードを追加する方法もあります。
XML-RPCを無効化する
XML-RPCはWP REST APIと同様に、リモートでコンテンツを公開できるようにするWordPressの機能です。WordPressアプリの利用やトラックバック・ピンバックの有効化に便利ですが、それ以外の用途では、ハッカーがブルートフォース攻撃でサイトに侵入する手段として悪用される恐れがあります。最も簡単な対策は、プラグインまたは手動で無効化することです。
ディレクトリリスティングを無効化する
サーバーがサイトのindexファイルを見つけられない場合、ディレクトリ内の内容一覧(index)が表示されます。ハッカーがこの情報にアクセスできると、サイトに脆弱なファイルがないか調査されてしまい、重大なセキュリティリスクにさらされます。
これを防ぐには、.htaccessファイルに1行のコードを追加してディレクトリリスティングを無効化します。以下の手順に従ってください。
- FTPクライアント経由でサイトの.htaccessファイルをダウンロードする
- ファイルを開き、末尾に以下のコードを追加する
Options All -Indexes
- ファイルを保存し、元のファイルをサイトから削除してから再アップロードする
ファイルパーミッションを制限する
サイトのファイルパーミッションは、誰がサイトのどの部分にアクセスでき、誰が変更できるかを決定します。通常はWebホスト側で設定してくれますが、ファイルパーミッションの仕組みを理解し、最適な設定になっているか確認しておくのは良い習慣です。
ファイルパーミッションの仕組みと、サイトセキュリティのための最適化方法について詳しく知りたい方は、初心者向けに丁寧に解説したガイドを参照してください。
wp-configファイルを隠す
サイトのwp-configファイルには、パスワード、キー、ソルトなどの機密情報が詰まっています。ハッカーにこのファイルへアクセスされると、サイトへの侵入口を自ら差し出すようなものです。wp-configファイルはデフォルトでpublic_htmlフォルダに配置されているため、ハッカーは探す場所を知っています。しかし、ファイルの場所を変更しても正常に機能するため、機密情報を効果的に隠蔽できます。
特定フォルダでのPHP実行を無効化する
ハッカーは、WordPressコアファイルに偽装したPHPファイルをサイトにアップロードし、アクセス権を得ようとすることがあります。wp-uploadsなどの一部のフォルダには、そもそもPHPファイルが存在してはいけません。このような場合、どうすればよいのでしょうか?
これらのフォルダでPHP実行を無効化すれば、仮にハッカーがバックドア経由でファイルを設置できたとしても、サイトへのアクセス権を得ることはできません。
Webサイトのセキュリティが重要である理由
WordPressは安全なプラットフォームですが、そのあまりの人気ゆえにあらゆる注目を集めています。その中には悪意のあるものも含まれます。ハッカーにサイトを乗っ取られないためには、Webサイトのセキュリティを最新の状態に保つ必要があります。そうしなければ、以下のような深刻な結果を招きかねません。
- 顧客の流失
- データ損失
- 個人情報・認証情報の漏洩
- 売上の減少
- 法的問題
- ブランドイメージの毀損
- 信頼の喪失
まとめ
WordPressのセキュリティ対策は決して難解なものではありません。いくつかのステップを踏んでサイトを守れば、攻撃やマルウェアを防ぎ、被害を回避できます。このWordPressセキュリティチェックリストが、皆さんのセキュリティ対策強化の一助となれば幸いです。
セキュリティを妥協しない手間のかからないソリューションをお探しなら、MalCare一択です。自動スキャン、高度なファイアウォール、ワンクリッククリーンアップを備えたMalCareは、サイトを360度守る総合セキュリティソリューションです。
よくある質問
WordPressサイトのセキュリティ対策はどうすればいいですか?
最も簡単な方法は、MalCareのようなセキュリティプラグインを導入することです。MalCareは毎日サイトをスキャンして安全を確認し、高度なファイアウォールでサイトを保護します。万一ハッキングされた場合のワンクリッククリーンアップ機能も備えています。
WordPressにセキュリティ上の問題はありますか?
WordPressは、インターネット上のWebサイトの半数以上が利用する安全なプラットフォームです。しかし、その人気ゆえにハッカーの標的にもなりやすいという側面があります。セキュリティプラグインを導入すれば、こうした脅威からサイトを守れます。
プラグインを使わずにWordPressサイトを保護する方法はありますか?
プラグインを使わずにサイトを守りたい場合は、複数のセキュリティチェックを定期的に実施する必要があります。サイトスキャン、バックアップ、アクティビティログでの不審な動きの監視、そして検出したマルウェアの手動除去などを自分で行わなければなりません。ハッカーの侵入経路は無数にあり、常時警戒なしでサイトを守る唯一の現実的な方法は、セキュリティプラグインの利用です。
-
WordPressサイトを守る最強ウイルス対策プラグイン5選(ボーナス1つ付き)
はじめに:WordPressセキュリティプラグイン選びの難しさWordPressのウイルス対策プラグインは、「何を選べばいいのか分からない必須ツール」の代表格です。だからこそ、この記事では以下の内容をまとめました。本当に効果的な保護を提供する最強のセキュリティプラグインコストパフォーマンスに優れたWordPressセキュリティプラグイン無料で使える優秀なWPセキュリティプラグインあまりおすすめできない「参考記載」レベルのプラグイン人気は高いが、実は価値がないと言えるプラグインそれでは早速、詳しく見ていきましょう。要点(TL;DR): マルウェア検知・駆除、WordPressハードニング、ログイ
-
Sucuri vs Wordfence:WordPress ウェブサイトに最適なセキュリティ プラグインはどれか
Wordfence と Sucuri はどちらも、WordPress セキュリティ プラグインの強力なチャンピオンです。どんな会話でも、それらは必然的に出てきて、どれが最高のセキュリティ プラグインかについて意見が分かれます。 Sucuri には人気のあるオンライン スキャナーがあり、Web サイト管理者がマルウェアを検出するために広く使用されています。彼らのプラグインには、サーバー側のスキャナー、ファイアウォール、その他多くのセキュリティ機能もあります。 Sucuri は、どのプランでも無制限のマルウェア除去を提供しています。 Wordfence は、WordPress セキュリティ