こんにちは、WordPress制作・カスタマイズ専門のgiscoです。
前回の記事では、最低限やっておきたいセキュリティ対策をご紹介しました。
今すぐにでも出来る対策ばかりですので、是非ご自分のサイトで行ってみてください。
今回の記事は中級編という事で、ある程度知識のある方に今すぐ行って頂きたいセキュリティ対策をご紹介いたします。
この記事の目次
1. 管理画面のURLを変更
WordPressの管理画面URLは、デフォルトのままでは/wp-admin/となっていますが、この事は世界中のハッカーが知っており、まさに格好のターゲットにされています。
管理画面のURLを変更するだけで、セキュリティリスクを減らすことができます。
こちらのプラグインは、管理画面のURLを変更するためだけのプラグインですので、動作が軽く、サイトの表示スピードに影響を与えません。
インストールし有効化すると、管理画面の「設定」のサブメニューに「ログインページ」という項目ができます。
「新しいログインファイル」の欄に、新たに任意のファイル名を入力します。
書き込める状態であれば、ファイルは自動生成されます。
この時点ではまだ、wp-admin/のURLでログイン画面が表示されてしまいます。
次に、「ステータス」の欄を稼働中に、「著者ページの閲覧」を404ステータスに設定してください。
記事を書く著者が複数いるサイトの場合は、「著者ページの閲覧」を受け入れるに設定する事をお勧めいたします。
なぜ著者ページを404にする必要があるかというと、ご自身のサイトのトップページで「?author=1」をURLにつけてアクセスしてみてください。
おそらく、普段WordPressサイトにログインする際に入力するユーザー名が出てきたと思います。
テーマの作り方などにもよりますが、WordPressの著者一覧ページは、そのままWordPressユーザー名で表示されるケースが多いです。
つまり、ハッカーからすれば管理画面のURLは分かっているし、ユーザー名まで分かっている状態なんです…。
残るはパスワードだけですが、ブルートフォースのツールを使えば、そう長くない時間で突破されてしまうでしょう。
恐ろしいですが、大丈夫です。次のセキュリティ対策へいきましょう。
2. 設定した管理画面にBasic認証
次の対策は、古くから存在する古典的な方法ですが、効果のほどは正直微妙です。無いよりはあった方がマシというレベルです。
.htaccessというファイルと、.htpasswdというファイルを設置するだけですので、ウェブサーバがApacheの場合は簡単ですね。
ウェブサーバがNginxの場合は、nginx.confに記述する必要があります。
Web上に、さまざまな.htpasswd作成ツールがありますが、ありがたくこちらを使わせて頂きましょう。
さて、まだ不安な要素がありますのでどんどん対策していきましょう!
3. uploads/内でのphp実行禁止
WordPressではアップロードされたファイルは「uploads」というディレクトリに格納されます。
このuploadsディレクトリ内に不審なphpファイルを見つけた場合、そのファイルはバックドアの可能性が高いです。
私のお客様でも、実際にバックドアが仕込まれてしまい、サイトが乗っ取られてしまったとの問い合わせが度々あります。
uploadsディレクトリは画像の格納フォルダですので、通常のWordPressの挙動としては、phpを実行するタイミングが無いのです。
以下のコードを.htacessファイルに記述し、uploads/ディレクトリ直下に配置しましょう。
<FilesMatch \.php$>
SetHandler none
</FilesMatch>
これで、万が一バックドアを仕掛けられても、phpを実行する事ができなくなりました。
安心レベルが少しあがりましたが、まだ不安で寝つきが悪いでしょう。
4. wp-config.phpの権限変更
以前の記事では、wp-config.phpファイルの場所を移動しました。
これにより、公開ディレクトリ外に設置しデータベース情報を盗み見られるリスクを減らしました。
今回は、wp-config.phpの権限を変更して、管理者以外が閲覧すらできないようにしましょう。
FTPなどでサーバーへ接続し、wp-config.phpファイルの権限を「400」に設定しましょう。
これだけです!
5. XML-rpcの無効化
WordPressには、外部のアプリケーションと通信するためにxml-rpc.phpというファイルが存在しています。
ただ、このファイルはWordPressが「b2」というブログシステムだった頃の名残であり、現在はほぼ使用されることがありません。
このファイルを利用するのは、有名なところで言うと「JetPackプラグイン」と「ハッカー」くらいです。
JetPackは、WordPressの開発元であるAutomattic社が公式に発表しているプラグインですが、このプラグインを使っていないのであれば下記のコードを.htaccessに追記して無効化することをお勧めいたします。
<Files xmlrpc.php>
order allow,deny
deny from all
</Files>
xmlrpcを悪用した攻撃手法はDDoS攻撃です。
大量のpingbackを送信しサーバーをダウンさせる事が出来てしまいます。
JetPackを使用していない方は、是非こちらの対策を試してみてください。
まとめ
この記事では、前回とは違いファイルを編集したりする作業が入るため、中級編としてご紹介いたしました。
どれも簡単に行えるものですので作業に慣れている方は是非対応してみてください。
まだ初回を見ていない!という方はこちらからどうぞー。
WordPressテーマ制作・カスタマイズのgiscoでは、面倒なセキュリティ周りの設定を、低コストで対応致しますので、是非お気軽にご相談ください!
次回は、上級編を書きたいと思います。