WordPressのセキュリティ対策をして、安全なサイト運用をする
Wordpressは、世界でのトップシェアのCMSです。オープンソースであり、無料で利用できるトップシェアCMSであることで、世界中に多くの情報が公開されており分からないことがあってもGoogle検索で大抵のことは調べられ解決できることが強みです。
たくさんのプラグインが揃っていて、様々な機能をワンクリックで追加できるお手軽さもWordpressを使うことで受けられる恩恵の一つです。
ですが、Wordpressの利点であるトップシェアであることが、セキュリティ面では裏目に出ることもあります。
まず、最初に強調しておきたいのは、オープンソースであることがセキュリティ上の弱点ではないということです。実際にはオープンソースであるため、世界中の人々の目でしっかりとコードのメンテナンスがされており、その点においては脆弱性に対しての対応力が非常に高いソフトウェアです。
ただ、それらの堅牢性はWordpressやプラグインを最新に保つ必要がある点と、安全なプラグインの選定などによります。
メンテナンスが必須なので、疎かにしたWordpressで構築されたWebサイトが狙われ、その結果セキュリティが弱いという印象を与えているのだと思われます。
実際Wordpressのサイトは多く、それらを標的とした方が効率が良いため、日々攻撃が行われています。
しっかりアップデートしメンテナンスしておけば恐くないWordpressですが、最低限のセキュリティ対策は必要です。本記事では、それらをまとめていますのでご覧ください。
- WordPressのセキュリティ対策が分かる
- WordPressを安全に運用できる
基本中の基本「アップデート」しましょう
くどいようですが、何はなくともアップデートは必須です。メジャーバージョンアップは少し戸惑いますが、しっかりテストの上アップデートしましょう。
テーマやプラグインのアップデートも必須です。
最新版のWordpressに対応できていないプラグインは、別のプラグインを検討するなどが必要です。
定期的なバックアップ
常にバックアップを取り続けましょう。復元ポイントは多い方が良いです。バックアップ用のプラグインはたくさんありますが、弊社ではBackWPupというプラグインを利用し、Wordpressのバックアップを外部サーバへ保存しています。
管理画面へのアクセスをIPアドレスで制限する
サーバの設定が必要ですが、接続元のIPアドレスを制限することで他社が管理画面へアクセスすることが難しくなります。下記のような内容を.htaccessに追記することで実現可能です。IPアドレス部分は、それぞれの環境に書き換えてください。
<FilesMatch "wp-login.php|wp-admin">
Order deny allow
Deny from all
Allow from xxx.xxx.xxx.xxx
</FilesMatch>
複数のIPアドレスを登録したい場合は、Allow from xxx.xxx.xxx.xxx
の部分を必要な分追加してください。
.htaccessの設定ができるかどうか、接続元のIPアドレスが固定されているかどうかなどの確認が必要です。
また、Xserverなどのレンタルサーバサービスでは、サーバ管理の画面からIPアドレス制限を設けることができる機能を提供していますので、そちらの利用も検討してください。
https://www.xserver.ne.jp/manual/man_server_wpsecurity.php
ログイン画面のURLを変更する
WordPressのログイン画面のURLを変更するのも、セキュリティ対策の一つです。
SiteGuard WP Pluginを使って、簡単にログイン画面を変更することができます。ログイン画面の変更をしても問題ない場合は積極的に導入しましょう。
ログインの試行回数を制限する
ブルートフォース攻撃への対策として、ログインの試行回数を制限することを検討しましょう。先ほどのSiteGuard WP Pluginを使って、簡単にログイン試行回数を制限することができます。
また、Xserverなどのレンタルサーバサービスでは、IPアドレス制限などと同様に試行回数の制限を設けることができる機能を提供していますので、そちらの利用も検討してください。
https://www.xserver.ne.jp/manual/man_server_wpsecurity.php
WordPressの不要なタグを削除
「Wordpressを使っている」というのは、実はソースコード見れば結構分かります。それらを少しでもカモフラージュする方が良いです。不要なタグは削除していきましょう。
下記の内容をfunctions.phpに記述することで削除が可能です。
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script'); JavaScript
remove_action('admin_print_styles', 'print_emoji_styles');
しっかりメンテナンスし、安全なサイト運用を
WordPressは使い勝手が良く、情報量もあり多くの方が利用しています。コンテンツ作成などは非常に簡単なのですが、メンテナンス部分に少々手を掛ける必要があるCMSです。
メンテナンスをする場合には、これらの中から実施可能な対策を取り入れましょう。