Wordpressというのは、記事を書いて、投稿すると、その記事をコンテンツとしてWEBページに表示できるというWEBアプリケーションのことで、記事や画像などのコンテンツを管理できるシステムであることからコンテンツマネージメントシステムと呼ばれます。
簡単で便利で、カスタマイズも敷居が低いので、多くの人が利用しています。それ故に、脆弱性を突いた事件が多発して、ものすごくバージョンアップが早いソフトウエアでもあります。
もともとはブログ用のシステムとして開発されましたが、現在では企業のホームページやECサイト、ポートフォリオサイトなど幅広い用途に活用されています。
ワードプレスで作成したサイトは、管理画面から記事を投稿できるようになる。ブログ記事を投稿するようにページを追加できる。ページは、あらかじめ固定ページをカスタマイズしておいたり、カテゴリを決めてカテゴリごとに一覧や記事ごとのカスタマイズページを用意しておくことで、目的にあったテーマとしてサイト全体をつくることもできます。
ここからは、セキィリティリスクを考えていくため、ワードプレスのデメリットを掘り下げていきます。
⚠️ セキュリティリスクがある
人気のCMSなので、攻撃の標的になりやすい。定期的な更新やセキュリティ対策が必要。この記事はワードプレス最新のバージョン6.8で書いていますが、見ている部分はワードプレスではないのです。Laravelで書いたシステムがワードプレスのDBから記事を取得して表示しています。
⚠️ 設定やカスタマイズを把握していなくてもいじれてしまう
あまりよくわかっていない人でも使えてしまうので、把握できていない箇所がセキュリティホールを生み出してしまう可能性もあります。
⚠️ プラグインの互換性問題
異なるプラグインを組み合わせると、競合して動作しないことがある。
⚠️ ページの表示速度が遅くなることがある
プラグイン自体のデータ構造の問題や、画像・動画へのアクセスするためのSQLの問題などで処理時間がかかりサイトが重くなる場合もある。
⚠️ 定期的なメンテナンスが必要
WordPress本体やプラグインの更新、バックアップの管理などをしないと不具合が発生する可能性を高める。
WordPressは柔軟性が高くて便利ですが、運用には管理能力と適切な対処能力が必要です。また、デザイナやコーダーだからといって、セキュリティに関して無頓着ではいけません。
プログラミング技術が低い人でもカスタマイズはできてしまいますが、そこからセキュリティホールになる可能性は非常に高いです。
🔹問題のあるプラグインをインストールする
プラグインの中には適切に管理・更新されていないものもあります。特に公式ではないプラグインを使うと、悪意のあるコードが含まれている可能性は非常に高い。
🔹 テーマやプラグインを最新にしない
古いバージョンには既知の脆弱性が含まれることがあり、攻撃者に狙われる原因になります。
🔹 適切な権限管理をしない
管理者と一般ユーザーの権限を適切に分けず、すべてのユーザーに編集権限を与えてしまうと、不正な変更を許してしまうことがあります。
🔹 簡単なパスワードを設定する
パスワードの強度が低いと、ブルートフォース攻撃(総当たり攻撃)により簡単に突破される危険があります。
🔹 ファイルやディレクトリの権限設定ミス
WordPressの「wp-config.php」などの重要なファイルに適切なアクセス権限を設定しないと、外部から読み取られる可能性があります。
例えば、Linux上へのファイル転送をFTPで行っているなど、それ自体も問題です。FTPは暗号化されていないので、セキュリティ的にかなりリスクがあります。
🚨 暗号化されていない
🚨 パスワードが容易に盗まれる
🚨 アクセス権限の管理ミス
🚨 バックドアを設置される可能性
🔹 SFTP(Secure FTP)を使用する → SFTPはSSHを利用して暗号化通信をするため、セキュアにファイル転送が可能。
SSH自体を利用できるIPを制限したり、認証鍵をつかうなどセキュリティをたかめた運用が要求されます。
FTPを使うのは非常に危険なので、セキュリティを意識して安全な方法に切り替えたほうがいいですね。
そもそもFTPなんて、最近のOSにはインストールしてないし、そもそもFTPがインストールされているサーバってどういうことだよ?
確かに、今どきFTP(File Transfer Protocol)がインストールされているサーバってちょっと気になりますね。FTPは古くから使われているプロトコルですが、セキュリティ的には脆弱性が多いため、現代のサーバ環境ではSFTPやFTPSを使うのが一般的です。
古いバージョンには脆弱性が存在する可能性があるため、必ず最新のものを使用。
wp-config.php
のアクセス権限を適切に設定:chmod 600 wp-config.phpxmlrpc.php
を無効化してブルートフォース攻撃を防ぐ:# XML-RPCを無効化する
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
WordPressの運用で最も重要なのは、定期的な更新・バックアップ・適切な権限管理です。 また、不審なファイルやアクセスがないか、ログを確認するのも大切です。