ノウハウ
[初心者向け]

WordPressサイトを守るなら

ノウハウ
テクニカルサポート
WordPress

WordPressはPHP、Mysqlのデータベースが利用できるウェブサイト、といった基本要件を満たせば、共用サーバ、専用サーバともに使えるため、当社レンタルサーバ内でも多くのお客様がご利用されています。一方で、WordPressについては、著名で一般的なCMSであるが故に、外部の攻撃者から狙われやすいという点もあります。今回はセキュリティ面での対策の一部をお話します。

管理画面およびデータベースのIDとパスワード

管理画面にログインする際、安易なパスワード文字列で設定している方は変更ください。
一度設定してしまった管理者のID文字列は変更できませんが、パスワードについては変更可能です。パスワード文字列は、IDやドメイン名などと一致していたり、辞書登録のある単語、「1111」「abcd」などの連続した文字列は避けてください。

パスワード文字列変更は、WordPress管理画面にログイン後、上部の右に表示されるユーザニックネーム>プロフィールを編集の画面より変更します。

参考サイト>ログインパスワードを変更・再発行する – wpdocs.sourceforge.jp

プラグインの取捨選択とバージョン管理

WordPressのプラグインは必要なものだけに絞りましょう。不要なものまで搭載していると、未知のセキュリティホールを突かれる可能性もあり、サーバ負荷の原因になることもあります。

WordPress管理画面ログイン後、左メニューの「プラグイン>インストール済みプラグイン」から確認できます。不要なものは無効化をお願いします。

WordPressのプログラム自体は、可能な限り新しいものにアップデートされることが推奨されていますが、サーバのPHPバージョンが古いと最新までバージョンを上げられないことがあります。当社のPHPのバージョンについてはプランによって異なります。

PHPバージョンは以下のような内容を「info.php」を保存し、ブラウザからアクセスするとPHPのバージョン、その他の情報が確認できます。PHPのバージョンが5.1.X等でしたらWordPressを最新版まであげることができません。

<?php
phpinfo();
?>

搭載中のWordPressのバージョンの確認方法はいろいろありますが、例えば、”wp-includes/version.php” ファイル内の『$wp_version = ‘○○○’;』の行をチェックする方法などがあります。過去のバージョンの管理画面にアクセスすると新しいバージョンに「更新してください」というダイアログが出ることがありますが、上述のようなPHPのバージョンの制約などもあるので、まずは現状の確認をお願いいたします。

実際にバージョンアップをする場合、PHP 5.1.系の場合は 「WordPress 3.1.4 日本語版」をダウンロードし、手動で、関連ファイルを置き換え、更新していただく形になります。自動アップデートの操作は行わないようにお願いいたします。アップデートについては当社のガイドはございませんので以下のサイト等を参照いただき、いつでも元に戻せるように作業を行っていただければと存じます。
WordPressのアップグレード手順/詳細

ログインページへのアクセス制限

WordPressのログインURLは wp-login.phpというファイルです。 アクセスログを見ていても、様々なIPアドレスからランダムな攻撃が確認されるのがこのファイルパスです。「自分自身のIPアドレスもしくはネットワークからのみ、このファイルにアクセスしたい」という場合は .htaccessで制限設定が可能です。様々な記載方法があると思いますが、Plesk8環境下、Plesk11環境下での設定の一例をご紹介します。

  1. ご自身のアクセス元IPアドレスを確認
    参考サイト:アクセス情報 – cman.jp※ ご自身の接続元IPアドレスはご利用プロバイダの仕様により変動することがあります。
    これまでで接続できていたのに接続エラーが出た場合は、あらためてIPアドレスを確認し直す必要があります。
    また、あらかじめ1つのIPアドレスだけの許可設定ではなく、同一ネットワークレンジで、広めに許可設定をする
    という手段もございます。
    > 参考 :アクセス制限を掛けるために特定のネットワークのネットワークレンジを調べたいのですが…
  2. WordPressのインストールディレクトリ直下に、以下の内容を記載した.htaccessファイルを保存◆ Plesk8環境(START、FLEX、SECURE、ADVANCE、EXPERTおよびnginxなしのApache環境)での設定例
    <FilesMatch wp-login.php> 
    Order Deny,Allow 
    Deny from all 
    Allow from ◇◇.◎◎.▽▽.△△
    </FilesMatch>

    ◇◇.◎◎.▽▽.△△は確認できたIPアドレスとして、そのまま記載します。
    Allow from ◇◇.◎◎.▽▽.
    というように 一番右側の数を省略して、IPアドレスを広めに設定することもできます。

    ◆ Plesk11(EX-LITE Plesk/ クラウド Plesk 、nginx + Apache)環境下の設定例

    # SetEnvIfの行でIPアドレスを「AC」という変数に代入しています。

    SetEnvIf X-Forwarded-For ^◇◇\.◎◎\.▽▽\.△△$ AC
    <FilesMatch wp-login.php> 
    Order Deny,Allow 
    Deny from all
    Allow from env=AC
    </FilesMatch>

上記以外にもお客様ご自身の運用ポリシーによって様々な対策があるかと存じますが、一部の基本的なものを紹介させていただきました。
WordPressに限らず、ID、パスワードの適正管理、不要なプログラムの削除については、大変重要な対策となりますのでご留意のほどよろしくお願いいたします。

この記事を書いた人

テクニカルサポート

テクニカルサポートを得意とするエクスクラウドのサポートスタッフ。

この記事のタグ

オススメの記事

ページトップへ