多くの企業や個人がウェブサイトを作る際に利用しているワードプレス(WordPress)。しかし、ワードプレスで作ったウェブサイトはセキュリティ的には危険と言われることも少なくありません。本当にワードプレスは危険なのでしょうか?
結論から言えば、ワードプレスで作ったサイトでも安全なサイトを作ることは可能です。確かにワードプレスならではのセキュリティリスクもありますが、ほとんどが設定や管理・使い方に不備があることでサイバー攻撃を受けています。
ここでは、ワードプレスを利用した際に、必要なセキュリティ対策をまとめてみます。
ワードプレスサイト最低限必要なセキュリティ対策
ワードプレスを安全に運用するためのセキュリティ対策は非常に重要です。以下に、ワードプレスのセキュリティを強化するための基本的な方法と推奨される対策をいくつかまとめました。特に、誰でも可能で重要な対策を中心にまとめています。
常に最新のバージョンに更新する
WordPressのコア、プラグイン、テーマを常に最新の状態に保つことが重要です。バージョンの更新は、機能的なアップデートのためという観点もありますが、サイバー攻撃が可能な脆弱性を補完するためにも重要です。
強固なパスワードを設定する
管理者アカウントやデータベース、FTPアカウントなどに強固なパスワードを設定してください。短いパスワードや簡単に推測できるものは避けるようにしましょう。多くの場合、予測しやすいパスワードを破られてサイバー攻撃の被害にあっているようです。
ユーザー名“admin”の使用を避ける
新しい管理者アカウントを作成して、デフォルトの「admin」ユーザーを削除すると良いでしょう。他にも、「user」や「root」など、よく使われるものはハッカーも狙いやすくなります。
プラグインの選択
信頼性のある開発者から提供されるプラグインのみを使用し、不要なプラグインは削除してください。多くのサードパーティープラグインが存在するからこそ自由に機能を作りやすいワードプレスですが、すべての開発者がセキュリティ対策を十分にできているとは限りません。必要最小限、かつ、できるだけ利用者の多いプラグインを選択するようにしましょう。
セキュリティプラグインの利用
Wordfence, Sucuri Security, iThemes Securityなどのセキュリティプラグインを使用して、サイトの保護を強化することができます。
バックアップの定期実施
サイトのバックアップを定期的に取得し、安全な場所に保存しておくことが重要です。バックアップがあれば、万が一の場合もすぐに復旧可能なため、大きくリスクを抑えることができます。難しそうという方もバックアップ用のプラグインを利用すれば簡単にバックアップを残すことができます。
ディレクトリのパーミッション設定
不適切なパーミッション設定はセキュリティのリスクとなるため、ディレクトリやファイルのパーミッションを適切に設定しましょう。設定は少し難しいと感じる方もいるかもしれません。その場合は、開発したエンジニアなどに相談してみてください。わかる人なら簡単な作業です。
パーミッション設定するべきディレクトリやファイルの推奨設定
ファイル | 推奨設定 |
---|---|
ディレクトリのパーミッション | 755 が推奨されます。この設定では、所有者は読み/書き/実行が可能で、グループと公開のユーザーは読み/実行のみが可能となります。 |
ファイルのパーミッション | 644 が推奨されます。この設定では、所有者は読み/書きが可能で、グループと公開のユーザーは読み取りのみが可能となります。 |
wp-config.php | このファイルは、ワードプレスの設定情報やデータベースの接続情報など、非常に重要な情報が含まれるため、特別な注意が必要です。440 や 400 に設定して、他のユーザーによる読み取りや書き込みを制限することが推奨されます。 |
.htaccess | このファイルも重要なので、644 やそれよりも厳格なパーミッション(440など)に設定すると良いでしょう。 |
uploadsディレクトリ | このディレクトリはメディアファイルなどが保存される場所なので、特に書き込みのパーミッションが必要です。755に設定するのが一般的です。 |
※注意
ホスティング環境やサーバーの設定によって、推奨されるパーミッションが異なる場合があります。ホスティングプロバイダーのガイドラインやサポートを参照するか、専門家に相談することをおすすめします。
wp-config.phpの保護
wp-config.phpファイルには重要な情報が含まれるため、アクセス制限を行うなどして保護することが重要です。作業としては、上記のディレクトリのパーミッション設定にかなり近いので、同時に行ってしまう方がいいでしょう。
管理画面へのアクセス制限
サーバー設定やプラグインを使うことで、IPアドレスを指定して、管理画面へのアクセスを制限することができます。会社オフィスIPからしか管理画面へアクセスできない、などに設定することで、外部からの侵入を防ぐことができます。
SSLの導入
SSL証明書を使用してサイトをHTTPS化し、通信を暗号化することで、データの安全性を高めることができます。SSL化していない場合、Googleの検索エンジン的にも不利になりますので、SSL化は必ず実施しましょう。
XML-RPCの無効化
もし必要ない場合は、XML-RPCの機能を無効化して、不正なアクセスを防ぐことができます。これらの基本的なセキュリティ対策を適用することで、ワードプレスのサイトをより安全に運用することができます。少し難しいので、わからない人は、詳しい人に相談してみてください。
サーバー側で設定するべきセキュリティ対策は?
ワードプレスサイトのセキュリティを向上させるためには、サーバー側での対策も非常に重要です。以下に、サーバー側で考慮すべきセキュリティ対策をいくつか挙げます
ファイアウォールの導入
サーバーレベルでのファイアウォールを導入して、不正なアクセスをブロックします。
DDoS対策
DDoS攻撃からの保護を行うためのツールやサービスを導入します。
最新のソフトウェア
サーバー上のソフトウェア(OS, PHP, webサーバーなど)を常に最新のものに更新して、セキュリティのリスクを減少させます。
PHPの設定
php.ini で disable_functions を用いて、不要なPHP関数を無効化します。
display_errors を Off にして、エラー内容が画面に表示されないようにします。
SSHのセキュリティ
デフォルトの22番ポートではなく、異なるポート番号を使用します。
パスワード認証の代わりに鍵認証を使用します。
rootユーザーでのログインを禁止します。
ユーザーアカウントの管理
必要最低限のアカウントのみをサーバーに作成し、不要なアカウントは削除します。
それぞれのユーザーに適切な権限を与えるようにします。
データベースのセキュリティ
データベースのアクセスをローカルホストのみに制限します。
不要なデータベースユーザーやテストデータベースを削除します。
モニタリングと監視
サーバーのアクセスログやエラーログを定期的にチェックし、異常なアクセスや攻撃を検知します。
これらの対策は、サーバー環境やホスティングサービスによって異なる場合があるので、具体的な設定方法や対策を行う前に専門家の意見やホスティングプロバイダーのガイドラインを参照することをおすすめします。
XML-RPCを無効にした場合にトラブルが起きるのはどんな時?
WordPressのXML-RPC機能は、外部アプリケーションからのWordPressサイトへの接続をサポートしています。しかし、過去にはこの機能を使った攻撃も確認されており、セキュリティのリスクとして指摘されることもありました。
XML-RPCを無効にすることで、以下のようなトラブルや機能制限が発生する可能性があります。XML-RPCを無効にする前に、サイトの必要性や使用しているプラグイン、テーマの互換性を検討することが重要です。また、セキュリティの観点からXML-RPCを無効にしたい場合、XML-RPCの機能のみを制限するセキュリティプラグインの利用も検討すると良いでしょう。
モバイルアプリからの投稿・編集ができなくなる | WordPressの公式モバイルアプリは、XML-RPCを通じてサイトに接続します。この機能を無効にすると、アプリからの投稿や編集ができなくなります。 |
リモート投稿や編集ツールの制限 | 一部の外部エディターやブログクライアントツールは、XML-RPCを利用してWordPressサイトと通信します。この機能を無効にすると、これらのツールを利用する際に問題が発生する可能性があります。 |
Jetpackプラグインの一部機能が利用できなくなる | Jetpackは、XML-RPCを使用してWordPress.comとの通信を行います。XML-RPCを無効にすると、Jetpackの一部の機能が制限される場合があります。 |
トラックバックとピンバックの機能制限 | トラックバックやピンバックは、他のサイトからのリンク通知を受け取るための機能です。これもXML-RPCを利用していますので、無効化するとこれらの機能も使用できなくなる可能性があります。 |
一部のプラグインやテーマの機能制限: | XML-RPCを利用するプラグインやテーマの一部機能が制限される場合があります。 |
ワードプレスがセキュリティ的に弱いと言われる理由
WordPressがセキュリティ的に弱いと言われる背景には、いくつかの要因が考えられます。ただし、実際にはWordPressコア自体は、数多くの開発者とコミュニティの協力により、定期的に更新され、セキュリティの向上が図られています。以下は、WordPressがセキュリティ的に弱いと言われる理由の主な点です。
高い普及率
WordPressは世界中で非常に多くのウェブサイトで利用されているため、攻撃者のターゲットとなりやすいのです。
プラグインやテーマの問題
WordPressの大きな魅力は、多数のプラグインやテーマが利用できる点です。しかし、これらの中には十分にセキュリティ対策がとられていないものや、更新が停止しているものも存在します。これらがセキュリティの脆弱点となる場合があります。
不適切な設定
ユーザーが適切なセキュリティ設定を行わないことも、攻撃の原因となることがあります。例えば、デフォルトの「admin」のような容易に推測されるユーザー名やパスワードを使用する、不要なファイルへのアクセス許可を与えるなどの設定ミスが挙げられます。
未更新のシステム
WordPressやプラグイン、テーマのアップデートを適切に行わないことは、セキュリティリスクを増加させます。古いバージョンは、既知のセキュリティの脆弱性を持つことが多いです。
特定の機能の利用
例えば、上記で触れたXML-RPCのような機能が、過去にDDoS攻撃やブルートフォース攻撃の対象となることがありました。
ホスティング環境の問題
使用しているホスティングサービスが十分なセキュリティ対策をとっていない場合、それが攻撃の原因となることもあります。
知名度の高さ
WordPress自体の名前が広く知られているため、攻撃者がWordPress特有の脆弱性を狙って攻撃を行うことがあります。
ただし、上記のリスクは、適切なセキュリティ対策や管理を行うことで大幅に軽減できます。安全なプラグインやテーマの選択、定期的なシステムの更新、強固なパスワードの設定など、基本的なセキュリティ対策を遵守することが重要です。
ワードプレスサイトがサイバー攻撃受けた際のリスク
ワードプレスで作成されたサイトがサイバー攻撃の被害に遭った場合、以下のようなリスクや悪影響が考えられます。
情報の窃盗
サイトに保存されている個人情報やクレジットカード情報、顧客データなどが盗まれる可能性があります。
サイトの改ざん
攻撃者によってサイトの内容が変更されたり、不適切な内容が掲載される可能性があります。
マルウェアやウイルスの感染
サイト上でマルウェアが配布され、訪問者のコンピュータに感染するリスクがあります。
ブラックリスト掲載
Googleなどの検索エンジンやセキュリティツールによって、マルウェアを配布するサイトとしてブラックリストに登録されることがあります。これにより、検索ランキングが下がったり、サイトへのアクセスがブロックされることがあります。
サービスの停止
ホスティングプロバイダやISPが攻撃を検知し、サイトを一時的に停止することが考えられます。
ブルートフォース攻撃によるサービスの遅延
多数のログイン試行がサーバーに負荷をかけ、サイトの動作が遅くなったり、停止する可能性があります。
SEOスパム
サイトが検索エンジン最適化(SEO)のためのスパムリンクや不適切なキーワードで溢れることがあります。
データの消失
攻撃者によってサイトのデータが削除されるリスクがあります。
信頼性の低下
攻撃によりサイトの信頼性やブランドの評価が低下することが考えられます。
法的・契約上のリスク
顧客やパートナーのデータが漏洩した場合、法的な責任や契約上の罰則が適用される可能性があります。これらのリスクを軽減するためには、予め適切なセキュリティ対策を施すことが重要です。また、被害に遭った場合に迅速に対応するための対策プランやバックアップの取得などの備えも必要です。
ワードプレスのセキュリティ対策としてオススメのプラグイン
WordPressのセキュリティ対策として、以下のプラグインが一般的に推奨されています。これらのプラグインは、多くのサイトで使用されており、高い評価を受けています。
Wordfence Security
トラフィック監視、ブルートフォース攻撃防止、マルウェアスキャン、ファイアウォールなどの機能を備えています。リアルタイムのトラフィック監視が可能で、危険なアクセスをすぐにブロックすることができます。
iThemes Security (旧:Better WP Security)
データベースのバックアップ、ファイルの変更監視、不正ログインの試行ブロック、SSLの強制などの機能を提供しています。
All In One WP Security & Firewall
ユーザーアカウントのセキュリティ、ログイン試行の監視、データベースセキュリティ、ファイアウォール設定などの機能があります。ユーザーフレンドリーで、セキュリティレベルをグラフィカルに表示してくれます。
Sucuri Security
サイトの監視、マルウェアの検出・除去、アクティビティログの記録、ファイアウォールの提供などを行っています。Sucuriはセキュリティの専門会社で、追加料金を支払うことでプロフェッショナルな対応を受けることもできます。
SecuPress
インターフェースがわかりやすく、アンチブルートフォースログイン、移動や隠蔽されたログインページ、セキュリティキーの保護などの機能を提供しています。
Loginizer
不正なログイン試行をブロックするプラグイン。ブルートフォース攻撃の対策として特化しています。
これらのプラグインは、それぞれが異なる機能や特長を持っているため、自分のサイトのニーズや状況に合わせて選択することが重要です。また、プラグインを導入しただけでは十分なセキュリティが確保されるわけではなく、設定や継続的な更新・管理が必要です。
まとめ
ワードプレスで作ったから危険、そうじゃないから安全、ということはありません。どちらにしても運営上しっかりセキュリティ対策の状況を確認しておくことが重要です。