『WEB DESIGNING』2022年10月号でセキュリティ関係の特集が組まれていまして、WordPressに関するセキュリティ対策が掲載されていました。
このブログもWordPressで作っていますし、僕が勤める会社のコーポレートサイトもWordPressで作っているので、これを機にセキュリティについてしっかり取り組もうと思った次第です。
インストール時の変更
WordPressの本体ファイルをいじるタイプの対策です。
もしかすると後述のプラグインよりもハードルは高いかもしれませんが、そんなに難しい内容ではないのでやってみましょう。
wp-config.phpのパーミッションを600に変更
これはすでになっていました。これはFFFTPでパーミッションを確認した画面です。
パーミッション600とは、オーナーによる呼び出しと書き込みが有効になった状態で、外部から操作されないようになります。
wp-config.phpにはデータベースやアクセスするパスワードなどの情報が記載されているので、ここの中身が見えたり書き換えられたりするとサイトを乗っ取られたり改ざんされてしまいます。
function.phpで削除コマンドを追加
WordPressは普通に使っているだけでWordPress特有のタグがばんばんサイトに使われます。
余計なタグはページの読み込みが遅くなる他、WordPressを使っていることがわかってしまい、攻撃のターゲットにされてしまう可能性が高くなります。
そういうわけでfunction.phpで不要なタグを削除するコマンドを記述します。
ただ、何を記述するかはこの本に書いていなかったので調べました。いろいろ記事が出てきましたが、下記のリンクがセキュリティのことを重視しているように見えたので参考にしました。
//不要なタグを削除
// WordPressバージョン情報の削除
remove_action('wp_head','wp_generator');
// Windows Live Writerの削除
remove_action('wp_head', 'wlwmanifest_link');
// 絵文字設定の削除
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
// RSDの削除
remove_action( 'wp_head', 'rsd_link' );
どれが不要かというのはサイトによって違うのですが、バージョン情報については削除が推奨されています。アップデートしていないことがモロバレになりますしね。
プラグイン
ここからはセキュリティ関係のプラグインです。プラグインを入れて設定するだけで機能するので簡単です。
SiteGuard WP Plugin
WordPressで作られているとわかったらログインページのURLも簡単に推測できます。
ログインページまで辿り着けば、あとはパスワードを総当りでいつかログインできてしまいます。
そこでURLを変更するプラグインがSiteGuard WP Pluginです。任意のURLに変更することができます。
他にも複数回ログイン失敗でロックするブルートフォース攻撃対策や、ユーザー名の秘匿化などログイン画面からの攻撃を防ぐ機能があります。
BackWPup
データのバックアップを取るためのプラグインです。
使用しているサーバーによっては自動バックアップ機能がついているのですが、僕がこのブログで使っているスターサーバーは自動どころかバックアップ機能自体がついていません。
WordPressはWordPress本体の他、テーマ、メディア、そしてデータベースとバックアップを取る量が多くてかなり手間です。
「手動でやらないといけない ✕ かなり手間 = めんどくさくて永遠にやらない」という方程式が成立するので、プラグインを使ってバックアップを効率化させます。
設定については結構奥が深そうで、別記事にまとめています。
WP Activity Log
ログインや投稿の編集などのログを収集するプラグインです。
ログインの失敗についても表示されるので、不正ログインされそうになっているかどうかもわかります。ちょうど10回ログインが試行された痕跡がありました。怖いですね。
毎日まめに見るようなものではありませんが、いざという時にログを確認できるというのは心強いですので入れておいた方がいいですね。
コメント