WordPressのセキュリティを考える

執筆日: 2022-01-07

概要

WordPressを構築する上で欠かせない事柄として、セキュリティがあります。
オープンソースで誰でも使用できることから、内部の構造を知っている攻撃者からすると、攻撃し放題であると言えます。

攻撃からサイトを守るために、どのようなセキュリティ対策をすべきかまとめていきます。

サブディレクトリに配置する

WordPressをインストールした状態だと、重要なファイルがルート上に存在することになります。
攻撃者はファイル場所がわかっているので、改ざんされてしまう可能性が高いです。

対策としてサブディレクトリを作成し、その中にWordPressファイルを入れていきます。
作成したディレクトリにはindex.phpと.htaccessを残し、他は全て移動します。
index.phpは以下のように書き換えます。

index.php
require __DIR__ . '/[作成したディレクトリ]/wp-blog-header.php';

注意するのは、WordPressアドレスを変更することです。
ファイル移動する前に管理画面の設定から変更しておきましょう。一時サイトが崩れますが問題ありません。

ID・パスワードを強固にする

簡単なIDやパスワードの設定は避けるべきです。
ブルートフォースアタック(総当たり攻撃)と言って、可能性のあるパスワードで攻撃され、簡単なパスワードはすぐに破られます。

IDも簡単に予測されるようなものは避けるべきです。

以下はパスワード生成に役立つサービスです。活用してみてください。
https://www.luft.co.jp/cgi/randam.php

ログインパスを変更する

そもそもログイン画面へアクセスさせないようにしていきます。
扉を隠していく作業です。

大体のログインパスは/wp-login.phpでアクセスできてしまいます。そのパスを変更していきます。

以下のプラグインを使用することで、簡単にパスを変更できます。
https://ja.wordpress.org/plugins/login-rebuilder/

パーミッションの確認

ファイルの権限を確認します。
ディレクトリは705、ファイルは604にすることが好ましいです。

また、重要なファイルは極力権限を絞るように設定します。
例えば、wp-config.phpにはデータベース情報があります。基本読み取りだけなので、400で設定します。

投稿者アーカイブの対策

投稿者ごとにアーカイブが作成されるため、「サイトのURL/?author=1」で「サイトのURL/author/ログインID/」へリダイレクトされます。
そこでIDが判明するわけです。

そうならないために、以下のコードを書き加えます。

functions.php
function disable_author_archive_query() {
  if( preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING']) ){
    wp_redirect( home_url() );
    exit;
  }
}
add_action('init', 'disable_author_archive_query');

authorクエリがあればトップページへリダイレクトさせます。

不要なプラグインを削除する

不要なプラグインを放っておくと、脆弱性を残したままの状態になってしまい、攻撃の対象になります。
使っていない削除します。

定期的なアップグレードを行う

WordPressは定期的にアップグレードしています。
古いバージョンのままであると攻撃者から脆弱性を狙われ、改ざんに合う可能性が高くなります。

過去に以下のような事例が発生しています。
https://www.ipa.go.jp/security/ciadr/vul/20170206-wordpress.html

WordPressのダッシュボードから最新情報を確認し、アップグレードできるようならしておきましょう。
また、どのような変更がなされるのか内容も確認するようにしてください。

プラグインについても同様のことが言えます。
最近ですと、All in One Seo プラグインに脆弱性が発覚しましたね。
https://blog.sucuri.net/2021/12/critical-vulnerabilities-in-all-in-one-seo-plugin-affects-millions-of-wordpress-websites.html

WordPress本体にせよ、プラグインにせよ最新を保つように心がけましょう。
何かあってから発覚しないよう、常に目を光らせる必要があります。

サイトを守るために

ざっと代表的な対策を述べました。

セキュリティ対策は自分のサイト、さらには個人情報や顧客の情報を守ることに繋がります。
日頃から意識して対策していきましょう。

運営について

Natural Tearoomはシステム開発会社フロントエンドエンジニアがんちゃんが運営するメディアです。
フロントエンド技術を中心に発信しています。

プライバシーポリシー

SNS

SNSも積極的に配信しています。
よければフォローお願いします!

© 2022 天然珈琲店