WordPressを素のまま本番に出すのをやめなさい

「WordPressをインストールしたのでそのまま公開しました!」——この一文を読んで鳥肌が立ったエンジニアは正しい感覚をお持ちです。素のWordPressは、インターネット上に出た瞬間から攻撃対象になります。デフォルト設定のまま放置することは、玄関ドアを開けっ放しにして外出するようなものです。

WordPressのセキュリティをたとえで説明すると「築古のアパートのリフォーム」のようなものです。住めないわけではないけど、鍵を新しくして、窓に補助錠をつけて、不審者センサーを設置して——ひとつひとつの対策が積み重なって初めて安全な住まいになります。WordPressも同じで、個々の設定変更が積み重なって安全なサイトになります。

ユーザーG:「WordPressのサイトが乗っ取られて、スパムサイトにリダイレクトされるようになってしまいました」
エンジニアH:「ログインURLはデフォルトのwp-login.phpのままでしたか?」
G:「はい、変えてませんでした」
H:「それが原因のひとつです。デフォルトURLへの総当たり攻撃は常に行われています。プラグインとコアのバージョンも古いままでしたか?」
G:「更新の通知は出てたんですが、面倒で…」
H:「その『面倒』が今回のトラブルを招いています」

まず、WordPressの管理画面URLをデフォルトから変更しましょう。WPS Hide Loginプラグインを使うか、wp-config.phpに設定を追記します。

# wp-config.php に追記してログインURLを変更
define( WPS_HIDE_LOGIN_SLUG, my-secret-login );

# WordPress CLIでコアとプラグインを一括更新
wp core update
wp plugin update --all
wp theme update --all

# ファイルパーミッションの適切な設定
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
chmod 600 /var/www/html/wp-config.php

次に、wp-config.phpに以下のセキュリティ設定を追加します。

// ファイル編集を管理画面から無効化
define( DISALLOW_FILE_EDIT, true );

// WordPress バージョン情報を非表示
remove_action( wp_head, wp_generator );

// XMLRPCを無効化(攻撃に悪用されやすい)
add_filter( xmlrpc_enabled, __return_false );

さらに.htaccessで wp-admin への直接アクセスを自分のIPのみに制限するとさらに安全です。WordPressは世界で最も使われているCMSであると同時に、最も攻撃対象になっているCMSでもあります。「素のまま」で公開することの意味を、今一度真剣に考えてみてください。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です