超高速WordPress実行環境 KUSANAGI稼働中
本サイト処理速度
language

    WordPressで行うべきセキュリティ対策!

    WordPress

    business_man
    WordPressはCMSシェア6割以上の世界で一番使われているCMSです。
    使いやすい、プラグインなどで簡単に実現したい機能が追加できるといった多くのメリットがあるため、ブログサイトとしてはもちろん、今ではコーポレートサイトや大学サイト、メディアサイトでも多く利用されています。
    そこで、今回はそんなWordPressでやるべきセキュリティ対策をギュッと凝縮して紹介していきます。

    目次

    WordPress本体のセキュリティ対策

    1.WordPress最新版へのアップデート

    アップデートはWordPressなどのオープンソースソフトウェアを利用する上では必須事項です。
    WordPressについては、機能追加がメインのメジャーアップデートと、セキュリティアップデートがメインのマイナーアップデートの2種類があります。
    例えば、バージョン5.1.2の場合、真ん中の1の部分がメジャーアップデートです。そして、末尾の2の部分がマイナーアップデートを指します。
    ※WordPressバージョン一覧はこちらからご確認ください!
    WordPressバージョン一覧
    WordPressバージョン一覧

    また、アップデートに関しては、手動でやるか自動でやるかでも違いが出てきます。
    手動の場合は、WordPressの管理画面から更新ボタンを「ポチッ」と押しますが、自動の場合はWordPressやKUSANAGIの機能を利用して設定をすることで実施できます。

    2.WordPressログイン画面を守る

    WordPressのログイン画面は、通常はURLの末尾に /wp-admin や /wp-login.php と追加してアクセスすると確認できます。
    しかしそれでは、公開サイトとしては家の扉の前まで来られたようなものでとても危険です。
    WordPressのログイン画面についてはあまり気にされる方も多くはないと思いますが、次の3つの設定で防ぐのがやりやすいで方法です。
    wp-adminのURL例

    1.IPアドレス制限

    /wp-admin や /wp-login.php へのアクセスは、決まったIPアドレスからしか許可しないようにWebサーバー側で設定してしまうのが良いです。
    決まったIPアドレスは、例えば自社の固定IPアドレスや協力会社の固定IPアドレスなどがそれに該当します。

    2.管理画面へのアクセスにベーシック認証を追加

    次の方法としてはベーシック認証があります。これは、/wp-admin や /wp-login.php へのアクセスを行った際にログインページに行くためのIDとパスワードを求められるものです。
    つまり、WordPressの管理画面に入るために2段階の認証にしてしまうというものです。 これも、ご利用のWebサーバーでの設定を行えば実現できます。
    もしくはレンタルサーバー等の場合は、レンタルサーバーの管理画面からブラウザで設定ができるものもあります。

    ベーシック認証

    3./wp-admin のURLの変更(気になる方)

    /wp-admin や /wp-login.php というのが予めわかっているためにセキュリティが危ないのであれば、そのアクセスURLを変えてしまおうというやり方です。
    通常は、https://www.example.co.jp/wp-admin になるところを、例えばhttps://www.example.co.jp/securityadmin としてしまえば攻撃側も簡単にはたどり着けないということです。

    3.管理画面からのテーマファイル編集を行わないようにする

    管理画面からテーマの編集を行っている人は多いのではないでしょうか。じつはこれはとても危険なことです。
    というのも、管理画面にログインできさえすればPHPファイルまで簡単に書き換えることが可能になってしまうからです。
    そこで、なるべくテーマファイルの編集はローカルで編集したものをFTPソフトでアップロードするか、SSHでログインを行い直接サーバーで編集することをおすすめします。
    KUSANAGIのように、はじめからテーマファイルの編集をさせないような機能がついている環境を利用するのも手です。

    4.wp-config.phpの配置に注意する

    wp-config.phpというファイルにはデータベースの接続情報などの重要情報が記載されています。デフォルトの設定だとDocumentRootの下の階層に配置されていますので、これでは重要情報が不特定多数にWebで閲覧されてしまう可能性があります。
    そこを防ぐために、DocumentRootと同じ階層に移動させましょう。
    wp-config

    5.パスワードに気をつける

    パスワードは推測されにくい、なるべくランダムで複雑なものにしましょう。

    攻撃者は、パスワードを突破する際に辞書攻撃(パスワードに使用されることの多い単語や人名を組み合わせ、繰り返しログインを試行すること)などを仕掛けてくることもあります。
    内閣サイバーセキュリティセンターが出している『インターネットの安全・安心ハンドブック』によると、英大文字小文字+数字+記号で 10 桁以上が望ましいようです。
    パスワードに関しては、特にしっかり守りましょう。
    (インターネットの安全・安心ハンドブック)
    https://www.nisc.go.jp/security-site/files/handbook-all.pdf
    パスワードの文字数は100文字以上でも問題なく、スペースやスペース、!#$%&:;<=>?@[]^_'()*+-./`{|}~などの一般的な記号は利用できますのでランダムで意味のない組み合わせを利用しましょう。

    ちなみにWordPressの管理画面へのパスワードは、数字やアルファベット1文字(例えば「a」や「1」)でも登録できてしまいます。その際にはパスワードを設定する時に強度インジケータによって「非常に脆弱」というアラートも出ます。「非常に脆弱」なパスワードは「脆弱なパスワードの使用を確認」チェックボックスにチェックを入れれば利用可能ですが、大変危険ですので使わないようにし、「強力」と認識されているパスワードを利用しましょう。同じ文字をいくつも入れても、単純な文字と数字の組み合わせも「非常に脆弱」となります(「1111111111111111」や「1a1a1a1a1a1a1a1a1a1a」など)

    非常に脆弱なパスワードの場合

    強力なパスワードの場合

    WordPressのCodex「管理画面/ユーザー/あなたのプロフィール」では、以下の条件を推奨しています。

    より強固なパスワードを作るには、長さを7文字以上にする、大文字と小文字のアルファベット、数字や! ” ? $ % ^ & ) などの記号を組み合わせて使うことなどが効果的です。

    弊社のセキュリティ顧問徳丸浩氏も、パスワード管理とアップデートが最も大事だと言っております。

    プラグイン、テーマのセキュリティ対策(特にプラグイン)

    1.最新版へのアップデート

    プラグインやテーマについてもアップデートが発生した場合はなるべくアップデートを行いましょう。特にプラグインについては注意が必要です。
    実際にプラグインが問題でサイトのセキュリティが脅かされたというパターンの方が、WordPress自体の問題よりも数としては多いようです。また、アップデートができていないためにWordPressのバージョンやPHPのバージョンと、プラグインのバージョンの間で齟齬が出てしまい機能が動かなくなるということもありますので、アップデートを行う際には注意が必要となります。

    2.公式ディレクトリにあるプラグインのみを利用する

    プラグインについては、執筆現在55,172個がWordPressの公式ディレクトリ(https://ja.wordpress.org/plugins/)に登録されています。
    また、テーマに関しても数千のテーマがあります(https://ja.wordpress.org/themes/)。
    wordpress.org_プラグイン

    ところが、オープンソースソフトウェアのWordPressには、企業や個人が独自に作成して公開しているプラグインやテーマも数多くあります。しっかりとサポートされているのであれば問題ないのですが、中にはアップデートもされずに放置されている、いわゆる野良プラグインなどと呼ばれているものもあります。そのようなリスクを防ぐためにも、原則テーマやプラグインはWordPressの公式ディレクトリから選ぶようにしましょう。公式ディレクトリにあるものは、一定の基準をクリアしたプラグインやテーマですので、比較的安心してご利用いただけます。
    プラグインの目安としては、以下となりますのでご参考にしてください。

    • 更新頻度の頻繁なもの(数ヶ月以内が望ましい)
    • 利用しているWordPressに対応していること
    • 有効インストール数が多いこと
    • 評価が低くないこと

    3.プラグインをむやみに多用しない

    プラグインは非常に便利ですし、試したい機能があればどんどん導入をすることもあると思います。しかし理想を言えば「最低限」の数に止める方がよいでしょう。
    セキュリティの面から言いますと、プラグインを多く使っている場合はアップデートがそれだけ大変になります。場合によってはアップデートを忘れてしまうものもあるかもしれません。これはセキュリティ上大変危険です。
    また、プラグインの中には非常に多機能のものもあります。すると、WordPress自体の動作も遅くなってしまうのでいいことがありません。

    4.権限を変更したりファイルへ書き込む系のプラグインは特に注意する

    使用するプラグインの機能にも注意しましょう。できるだけ、そのプラグインがどういった機能を持っていて、どういった動作を内部で行っているのかを把握しておくと良いでしょう。どんな機能が隠れているかわからないので意外な落とし穴がないようにしたいものです。

    サーバーのセキュリティ対策

    1.OS、ミドルウェアのアップデート

    OSは、WordPressの場合多くがCentOS7ではないでしょうか。別のOSを利用しているサイトもありますが、いずれの場合でもアップデートは発生します。また、PHPやApache、Nginxといったミドルウェアについても脆弱性が発見されたら随時アップデートが必要になります。
    つまり、WordPress同様にサーバー側のセキュリティについてもしっかりと気を遣っていかければならないということになります。
    OS、ミドルウェアのアップデートは、レンタルサーバーなどでは自分で行うのは難しいのですが、お使いのサーバーがVPSやクラウドサーバーであればサーバーにログインし、yum update コマンドでアップデートすることも可能です。

    2.WAFなどのファイアウォール導入

    ファイアーウォールの導入も有効な手段です。特に最近はWAFというウェブアプリケーションの脆弱性を悪用した攻撃から保護するファイアーウォールが人気です。
    各社様々なWAFサービスを提供していますので、調べて導入してみると良いでしょう。

    3.脆弱性スキャンツール、IDS・IPSなどのセキュリティツール導入

    脆弱性スキャンは、サイトをスキャンすることでセキュリティホールの発見などをサポートしてくれるものです。またIDS(不正侵入検知システム)で通信を監視したり、IPS(不正侵入防止システム)で異常な通信を防ぐような施策も有効です。

    その他の対策

    1.常時SSL化

    今や、サイトのすべてのページをSSL化させる「常時SSL化」が必須の時代となりました。誰でも簡単に公共のアクセスポイントにアクセスでき、情報のやり取りができてしまうため、セキュリティの観点ではすべてのページをSSL化(暗号化)させることで通信の盗聴や改ざんを防ぐことが重要です。
    また、SEOの面からもGoogleの発表にあるように常時SSL化されたサイトは検索エンジンのランキングに良い影響が出るということです。
    ssl

    2.phpMyAdminをよりセキュアに使う

    phpMyAdminは簡単にブラウザ上でデータベースを操作することができるサービスですので非常に便利なのですがその反面セキュリティリスクが格段にあがってしまいます。データベースのデータを第3者に操作されるリスクは避けなければなりません。
    そこで、使用する場合はphpMyAdminのアクセス部分だけは特定のIPアドレスからのアクセスしか許可しないようにIPアドレス制限をかけましょう。そうすることで、外部からアクセスをされることを防ぐことができます。
    phpmyadmin

    まとめ

    WordPressと言っても構成要素としてはPHPなどのミドルウェア、プラグイン、テーマなどですので検討すべきところはたくさんあります。
    これを一つひとつ行っていき、継続的な運用を行うことでWordPressサイトを安全に運用できるようになります。

    とはいえ、これをすべて自社で行うのはかなり難しいのではないでしょうか。
    多くの企業では、Webのシステム面やセキュリティ面で専任の担当者がいたとしても、滞りなく対応ができているという場合は非常に少ない印象です。

    そこで、プライム・ストラテジーでは、超高速WordPress仮想マシンKUSANAGIを開発し、セキュリティ対策を施した、高速環境にてWordPressを運用できるサービスを提供しています。
    KUSANAGIというのは、パフォーマンスチューニングを行い、企業サイトレベルにも対応できるようなセキュリティ対策を施したLAMP(LEMP)環境のことです。
    Microsoft AzureやAWSなどのクラウドサーバーや、ConoHa、さくらのVPSといったVPSサービスで利用することができ、KUSANAGIの利用料は原則発生しません

    しかし、そんなWeb環境を自社リソースだけで対応するのは難しいという方向けに、KUSANAGIマネージドサービスという保守サービスを提供しています。
    KUSANAGIマネージドサービスでは、フルマネージドでWordPressのセキュリティ対策からサーバー側のセキュリティ対策(PHPなどのミドルウェアアップデートなど)まで行い、お客様には実益になるコンテンツへの人的資源投下を行っていただけるようになります。

    今まで述べてきた対策はすべてKUSANAGIマネージドサービスであれば対応できるものとなっております。
    ご興味あれば是非お問い合わせください!
    (KUSANAGI公式サポートサービス)
    https://www.prime-strategy.co.jp/service/operation_maintenance/

    実際にKUSANAGIの環境で WordPressを利用している例としては、
    [コーポレートサイト]
    株式会社セガホールディングス
    [大学サイト]
    國學院大學
    金沢大学
    [メディアサイト]
    The Japan Times
    WIRED

    など多くの企業様、大学様がございます。

    ・WordPressのセキュリティ対策方法を知り、自社サイトを安全に運用していきたい
    ・そもそもWordPressを企業のWebサイトに使うCMSとして選択して良いのかの判断がつかない
    といったお話は弊社にご相談いただく内容としては非常に多くなっておりますので是非ご相談ください!

    (KUSANAGI公式サポートサービス)
    https://www.prime-strategy.co.jp/service/operation_maintenance/
    (KUSANAGI公式サイト)
    https://kusanagi.tokyo/

    投稿者プロフィール

    草薙沙耶

    Webサイトのお悩み解決!個別相談会

    WordPress等CMSで構築されたサイトを運用中(もしくはご予定)で、様々な課題をお抱えの企業Webサイトご担当者様、「技術的にはよくわからないけれどマーケティング的にも改善をしたい」等とお考えのマーケティングご担当者様、「お客様のためにWebサイトについて聞きたい」「クラウドを導入したい」等お考えのWeb制作会社様などを対象に「【法人向け】Webサイトのお悩み解決!個別相談会」を開催しています。

    お客様の課題を解決するソリューション、
    条件に沿ったベネフィットあるご提案を提供いたします。

    ご相談・お問い合わせフォーム