サーバーサイドで行うWordPressサイトのセキュリティ対策
- columbusproject
- Photo:
- 2018-11-22
WordPressはサイトの設置が簡単であり、HTMLやCSS、PHPを理解していなくてもサイト運営が可能なCMSです。
しかし、組織や個人問わずセキュリティ対策については「知らなかった」では済まされない場合もあり、何らかの対策を考えなくては、とお悩みの方も多いでしょう。
今回はサーバーサイド側でチェックすべき最低限のセキュリティ対策と、WordPress側のセキュリティ対策についてご説明します。
サーバーサイド側のセキュリティ対策
サーバーサイド側で行うWordPressサイトのセキュリティ対策として、下記5つの項目を挙げてみました。
- ユーザーIDやパスワード管理
- WordPressのパーミッション設定
- SSHや管理画面へのアクセス制限
- サイバー攻撃へのセキュリティ対策
- レンタルサーバー/自社・自宅サーバー
セキュリティ対策は何のために行うのか?
それはサイバー攻撃によってユーザーIDやパスワードを奪取されたり、詐欺行為やウィルス拡散の片棒を担がないようにしたり、誤った情報の発信や不正なページへの誘導などをされないようにするためです。
まずはひとつひとつ項目をチェックしてみましょう。
1.ユーザーIDやパスワード管理
WordPressを設置しているサーバーのユーザーIDやパスワードを管理する時にセキュリティ対策を意識しましょう。
主にはログインしたままにしない、パスワードとIDを同じフォルダや同じテキストに保管しない、サーバーにログインする手元のパソコンのセキュリティ状況など、まずは自分自身からユーザーIDやパスワードが漏洩しないように心がけるべきです。
2.WordPressのパーミッション設定
WordPressはカスタマイズ情報も非常に多く、プラグインの導入やhttps化などの際にファイルやフォルダのパーミッションを変更するようなTipsも見受けられます。
よくわからないまま重要なファイルのパーミッションを変更してしまい元に戻さなかったり、ファイルのパーミッションを変更したつもりがフォルダごとパーミッションを変更してしまったりすることもあります。
パーミッションが適切でないと外部のユーザーにファイルやフォルダを改竄される可能性が増えるだけでなく、ユーザーの権限などを奪取される可能性も高まります。
ブラウザでアクセスするようなウェブFTPなどでログインして「パーミッションの変更」や「権限の変更」などを行う際は十分に注意しましょう。
パーミッションの詳しい説明についてはWordPress日本語Codexの「ファイルパーミッションの変更」の項目を参照してください。
3.SSHや管理画面へのアクセス制限
SSHによる外部からの接続、サーバーの管理画面へのアクセス制限なども意識しておくと安心です。特定のIPアドレスやMACアドレスのみアクセス可にしておくことで、WordPressだけでなく、サーバー内の情報資源を守ることができます。
ユーザーIDやパスワード管理の項目でも述べましたが、ログインしているパソコンのセキュリティ対策も考えるべきです。サーバーサイドでどんなにセキュリティを意識して強化したとしても、手元のパソコンがハッキングされてしまえば意味が無くなってしまうことを忘れないようにしましょう。
4.サイバー攻撃へのセキュリティ対策
サイバー攻撃へのセキュリティ対策として、サーバーや手元のパソコンを常に最新の状態に保ちましょう。
可能であればサーバーと接続するパソコンでは、メールクライアントやブラウザなど外部とのデータ通信やUSBメモリなどでデータのやりとりをしないように心がけることも大切です。
その他にも既知のサイバー攻撃に対する知識だけでなく、最新の情報を取り入れていく姿勢を持つことも忘れないようにしましょう。
特にフィッシングや偽装サイト、偽装メールなど人間が騙されてしまうことで情報が漏れたり、ウィルスや乗っ取りに合うようなパターンは流行りがあり、いち早く情報を知ることで被害を防げることができるからです。
いわゆる「添付ファイルを開かない!」ですとか、「銀行を装うメールに注意!」など、自分は騙されないと思うような情報でも、しっかりと把握しておくことで未知のサイバー攻撃へのセキュリティ効果が高まります。
5.レンタルサーバー/自社・自宅サーバー
レンタルサーバーであればサーバーそのものが強固であり、セキュリティ対策も高いので非常に安全・安心です。レンタルサーバーのサービスのログイン画面ではセキュリティ対策の細かな設定をしやすいこともあり、サーバーやセキュリティ対策への知識がない方でもある程度高いセキュリティ性を保持できます。
レンタルサーバーを利用されているのであれば、サイバー攻撃に対する機能をチェックしておきましょう。レンタルサーバーの管理画面へのログイン、SSHDでの接続やFTPのアクセス制限を設定しておくとさらに安全性が高まります。
自社・自宅サーバーでWordPressサイトを運営しているのであれば、まずはサーバーそのもののセキュリティ対策を万全にしましょう。
組織や企業、公的機関としてWordPressサイトを運営するのであれば、サーバーのセキュリティ、WordPressのセキュリティと同時に、作業する人間や環境のセキュリティ意識も高めることが大切です。
昨今のサイバー攻撃は「ユーザー自身に行動させる」ことによって、メールアドレスやパスワードを奪取したり、添付ファイルや詐欺サイトからウィルスをダウンロードさせたりするものも多いので、システムやパソコンのセキュリティ対策だけで安心しないように注意しましょう。
WordPress側のセキュリティ対策
サーバーサイドのセキュリティ対策に加えて、WordPress側のセキュリティ対策も怠らないようにすべきです。
WordPressはサーバー内で稼働するCMS、コンテンツマネジメントシステムなので、サーバーの設定が強固であっても、WordPressに穴があったら意味がありません。
WordPress側で意識すべきセキュリティ対策は下記の5つです。
1.WordPress本体の最新バージョンを保つ
2.更新されていないプラグインを断捨離する
3.ログインやアクセス関連のプラグインを導入
4.複数のユーザーが存在する場合の権限
5.新規投稿/公開時にソースをチェックする
特に1と2の項目については忘れがちになるので、この機会にチェックしてみましょう。
1.WordPress本体の最新バージョンを保つ
WordPressサイトを運営しているとWordPress本体が頻繁にアップデートするように感じます。その都度、テーマやプラグインも更新すると、サイトのデザインが崩れたり、今までと違う動作をすることがあり、アップデートを嫌う方も少なくありません。
また、本体をアップデートしてプラグインをアップデートしない場合でも、テーマやプラグインが正常に機能しない可能性もあり、非常に面倒に感じられる部分でもあります。
しかし、WordPress本体のアップデートは機能更新だけでなく、脆弱性を習性するもの、セキュリティパッチも含まれている時も少なくないので、アップデートしないということは、脆弱性が存在するということに繋がります。どんな理由があってもWordPress本体を最新の状態にするように心がけましょう。
2.更新されていないプラグインを断捨離する
WordPressのプラグインは互換性や安全性が確認されていなくても動作してしまうものも多く、更新されていないけど使えてしまうものがあります。
代替となるプラグインがない場合、同じプラグインを使い続けてしまうこともありますが、更新されていない古いプラグインを使用しているだけで、脆弱性となりうる場合があることを忘れないようにしましょう。
既に無効化しているプラグインや、導入したけれど使い方がわからないまま有効化されているもの、プラグイン名で調べてもなぜ導入したのかわからないものなど、思い切って断捨離することで、脆弱性を少なくすることができます。
プラグインについては「必要最低限」にするだけでなく「更新されていないものは導入しない and 削除する」ことも視野に入れておきましょう。
3.ログインやアクセス関連のプラグインを導入
WordPressのプラグインにはログインURLを変更するものや、管理画面へのアクセス制限できるもの、ログインしたユーザーのIPアドレスやユーザーエージェントを記録するものなど非常に多彩です。
ユーザー名ではなく、メールアドレスをログインIDにするもの、逆にメールアドレスでのログインを無効にするものもあるので、セキュリティ関連のプラグインを調べるだけでも時間が掛かります。
ログインのログを記録するプラグインのCrazy Boneや、ログインURLの変更・一定時間に規定回数のログイン試行でアカウントロックする機能があるSiteGuard WP Pluginなどを目安として自分に必要な機能を持つプラグインを探しましょう。
また、大切なのは機能だけでなく「きちんと更新されるかどうか」でもあります。
CrazyBoneは非常に優秀でわかりやすいプラグインですが更新が3年前で止まっているので、少しだけ不安な要素があると言えます。SiteGuardは今のところ頻繁に更新されており、不安は少ないと言えます。
セキュリティ関連のプラグインの記事やTipsを参考にする時は、記事そのものの鮮度とプラグインの更新状況をチェックすることを忘れないようにしましょう。
4.複数のユーザーが存在する場合の権限
WordPressサイトを運営するために、サイトの骨格やデザインの担当、記事やコンテンツ作成の担当など複数ユーザーが存在する時は権限の割り振りをしっかりと考えるようにしましょう。
また、ユーザーが増えれば増えるほど、作業するパソコンのセキュリティやユーザーのセキュリティへの意識の違いや差によって、リスクが増えることを忘れてはいけません。
サーバーやWordPressのセキュリティ対策が完璧でも、扱う人間のセキュリティ意識によっては、セキュリティ対策が無駄になってしまうこともあります。
WordPressサイトを複数のユーザーで管理する時は各々がしっかりとサイバー攻撃やセキュリティ対策について学べるようにマニュアルの作成や最低限の知識の共有を行うようにしましょう。
5.新規投稿/公開時にソースをチェックする
例えば複数ユーザーでWordPressサイトを構築していて、誰か一人がログイン情報を奪取された場合、新規投稿や公開のタイミングで第三者によって悪意のあるスクリプトを埋め込まれる可能性があります。
WordPressサイトのコンテンツが充実してくると、なかなか1記事ごと、1ページごとにソースのチェックをするのが難しくなりますが、新規投稿や公開するタイミングで、別の方が公開されたページのソースをチェックする体制を作りましょう。
サイトを表示して記事の本文をチェックするだけですと、コードやスクリプトを見落としてしまうことも考えられます。
悪質な別サイトに誘導されてしまったり、スクリプトによってサイト内の表示を改竄されてしまう可能性もありますから、十分に注意しましょう。
まとめ
サーバーサイドとWordPress側に共通して言えるのが「ユーザーIDとパスワードの管理」と「最新の状態を保つこと」の2つが挙げられます。
サーバーもパソコンもWordPressも、アップデートされる時にはセキュリティ対策が含まれており、後回しや先延ばしにすべきことではありません。
また、サイバー攻撃はシステムやプログラムなどでサーバーやWordPress、パソコンを自動で攻撃するものもあれば、フィッシングや偽装メールなど、ヒューマンエラーを利用した詐欺的な手法もあります。
自分からマルウェアやウィルスを取り込んだり、IDやパスワードを漏らすことのないよに十分に注意してください。
セキュリティ対策は既知の問題だけでなく、未知の問題にもなるべく対処できるように、普段から情報収集やセキュリティに対する意識を持つことが求められます。
サーバーサイドやWordPressだけでなく、作業する手元のパソコンやサイトを運営するユーザーとしてのセキュリティを高めることで、サイトやコンテンツなどの情報資源を守ること、サイトやサービスの信頼性を高めることに繋がるということを、ぜひとも覚えて起きましょう。