2015年2月25日水曜日

WordPressのセキュリティ対策(1)

【1.Basic認証】
開発段階などで、WordPressをクローラーにインデックスされたくない場合、サイト全体にBasic認証を設定することでそれを回避できます。

プラグイン-新規追加よりBasic Authentication Settingをインストールし、プラグインを有効化します。


















設定-一般の下のほうに、BASIC認証のパスワードを設定する箇所があるので、記述して保存します。


















サイトにアクセスするとBasic認証が実行されているのがわかります。
非常に簡単にBasic認証を実装することができました。






















【2.Digest認証】
管理画面(/wp-admin/)にはDigest認証を導入したいと思います。
Digest認証を導入することで、ログインを含めて2段階認証となりセキュリティを高めることができます。
BASIC認証との主な違いは、BASIC認証が入力したIDパスワードを平文で通信するのに対し、Digest認証は暗号化して通信するのでネットワークの盗聴などに強いという点です。

プラグインが見当たらなかったため、実装していきます。

以下では/var/www/wordpress/wp-adminにアクセス制限をかけたいとします。

Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)に以下の設定を追加します。

<Directory "/var/www/wordpress/wp-admin">

  AuthType Digest

  AuthName "Secret Zone"

  AuthDigestDomain /wp-admin/

  AuthUserFile /etc/httpd/.htdigest

  Require user secret

</Directory>


htdigestコマンドでsecretユーザーとパスワードを設定します。

# htdigest -c /etc/httpd/.htdigest 'Secret Zone' secret

Adding password for secret in realm Secret Zone.

New password:

Re-type new password:


Apacheを再起動します。

# /etc/init.d/httpd restart


管理画面にアクセスするとDigest認証が実行されているのがわかります。




















【3.ログイン試行回数の制限】
wp-login.phpへの総当り攻撃を回避するため、Simple Login Lockdownを使用することでログインの試行回数の制限ができます。

1.と同様にプラグインをインストールし、有効化します。

一般-表示設定より設定します。
下記の例では5回のログイン失敗で60分のログイン禁止という設定になります。
















0 件のコメント:

コメントを投稿