program
セキュリティ担当者が知っておくべきWordPress用基本対策法6選
WordPressはオープンソースで最も有名なブログツールのひとつで、現在多くの法人・個人問わず様々なウェブサイトでCMS(コンテンツマネジメントシステム)として活用されています。
ただ、有名であるがゆえに”攻撃目標になりやすい”というデメリットもあります。
2013年には、レンタルサーバー大手の「ロリポップ」において、WordPressサイトの大規模改竄(ざん)被害が発生しました。2年前に発生した事件ですので、皆さんの記憶にも新しいかと思います。
今回は、WordPressサイトで実施できるセキュリティ対策をご紹介しますので、ぜひ参考にしてください。
目次
1.パスワード強度を上げる
1つ目の対策は、総当たり攻撃(ブルートフォースアタック)への対策として、パスワード強度を上げるというものです。
総当たり攻撃というのは、ID・パスワードとして想定されるすべての組み合わせを、総当たりで試す暗号解読方法のことです。
解読されることを防ぐために、ID・パスワードは最低限8文字以上12文字程度の長さにし、容易に想定されないようにしておくことが重要です。
SSL(Secure Sockets Layer)の利用も、パスワードを守るには効果があります。
なお、よく使用されるアカウントである「admin」などは、名称を変更した方がよいでしょう。
不必要なアカウントは削除し、アカウントの数は最小限に保つことも忘れないでください。
退職した社員のアカウントを停止するのも、重要なセキュリティ対策となります。
2.パーミッションを設定する
WordPressの各ディレクトリ/ファイルについて、適切なパーミッションを設定するようにしましょう。
特に、データベース接続情報など重要な情報が記載されている”wp-config.php”のパーミッションについては、必ず確認が必要です。
2013年に発生したロリポップへの大規模改竄(ざん)被害は、この”wp-config.php”ファイルのパーミッションが644だったことが原因、と発表されています。“wp-config.php”のパーミッションは400などに変更するようにしましょう。
また、他の各種ファイル・フォルダについても、適切なパーミッションを設定・保護するようにしてください。
“wp-config.php”へのアクセスを制限することも可能です。.htaccessファイルに下記の記述を追加すれば、外部から”wp-config.php”にアクセスできなくなります。
<files wp-config.php>
order allow,deny
deny from all
</files>
なお”wp-config.php”ファイルは、セキュリティ対策として活用することもできます。
例えば、管理画面からのテーマやプラグインの新規追加・編集をさせないよう設定することも可能です。
やり方は、”wp-config.php”に下記の1行を追加するだけです。
define('DISALLOW_FILE_MODS',true);
3.ディレクトリ一覧を表示させない
WordPressではさまざまなソースファイルを使用しています。
これらのファイルが格納されているディレクトリ構成がパブリックになっていることは、好ましくありません。
ディレクトリ構成が外部から閲覧できないよう設定することをオススメします。
この対策はとても簡単です。
下記の一行を.htaccessファイルに追加すれば、ディレクトリ一覧を非表示にできます。
Options -Indexes
4.セキュリティ関連のプラグインを利用する
WordPressには無数のプラグインが出まわっていますが、セキュリティ関連のプラグインも多く知られています。こういったプラグインを活用することも、セキュリティ対策としては有効です。今回は3つのプラグインをご紹介いたします。
■セキュリティ強化に”SiteGuard WP Plugin”
https://wordpress.org/plugins/siteguard/
こちらのプラグインを有効化することで、ログインページを変更したり、ログイン履歴を見ることができたり、ログインの失敗が繰り返されたりした際に一定期間接続元をロックしたりする機能を使うことができます。
詳しい機能一覧 http://www.jp-secure.com/cont/products/siteguard_wp_plugin/
デフォルト状態で使用すると、運用に支障をきたす恐れがありますので、下記項目については自分の運用に合うかどうかを判断して設定してみてください。ご参考までに弊社では現在、下記の設定を「OFF」にすることが多いです。
「ログインページ変更」
…デフォルトのログインURLでアクセスする方が多い状況下で。
「画像認証」
…ログイン時に入力項目が増えるため、手間が増えると判断した場合。
「ログインアラート」
…ログインの度に管理者宛にメールが届くため、大量のメールが届くことが問題と判断した場合。
「更新通知」
…不用意なバージョンアップによって、機能が損なわれてしまうリスクとの兼ね合いにより判断。
これから作業をしようと思っている方は、ぜひ設定変更の参考にしていただければと思います。
■送信パスワードを暗号化するプラグイン”Chap Secure Password Login”
https://wordpress.org/plugins/chap-secure-login/
こちらのプラグインは有効化することで、ログイン時のパスワードが暗号化されて送受信されるため、セキュリティの向上が見込めます。ただ、初めてログインする際にログインに失敗する傾向があるようなので、焦らず再入力してください。
※初めからwordPressに入っています。
“Akismet”はwordPressにもともとインストールされているプラグインで(※バージョン4.1現在)、悪質なコメントやトラックバックなどのスパム対策をしてくれます。日本ではあまり需要がないかもしれませんが、それでもスパムに困られている方は設定すると役に立つと思います。
メールアドレス等の情報を入力し、APIキーを取得することで利用できます。個人の利用では無料で使用することも可能ですが、ビジネスで使う場合には有料になります。
他にもさまざまなプラグインがありますが、あまりにもたくさんのプラグインを使用すると、表示速度や運用面で問題が発生してしまう恐れがあるため注意が必要です。
またトラブルが発生した際に、プラグインが原因で起こる可能性が高くなるので注意してください。
5.見ず知らずのテーマ・プラグインは使わない
WordPressのテーマやプラグインの中には、セキュリティに欠陥のあるものや、悪意のあるプログラムを含むものが存在します。
新しいテーマ・プラグインをインストールする時は、そのテーマやプラグインに問題がないか、チェックすることが必要です。
6.最新バージョンを保つ
WordPress本体やテーマ・プラグインのバージョンは、常に最新のものになるようしましょう。最新版の方が、安全性が高く、セキュリティ上の問題点を解消している場合が多いからです。
なお、アップデートを行う前には必ずバックアップを取ることを忘れないようにしましょう。
最後に
いかがでしたでしょうか。
これらの対策の中から、「運営・管理・更新」のことも考えて、弊社では状況に応じて可能な限り4の「セキュリティ関連のプラグインを利用する」という対策を行っております。案件によって対策が異なりますので、そのつど最善の対策を取るようにしていってください。
重要なことは、日頃からサイトの管理運営を怠らないことです。セキュリティを考えるうえで、「100%安心」というものは存在しません。
適切な管理運営を継続的に行うことで、万が一問題が起きても迅速に対処できる体勢をつくることが大切です。