• 公開日: 2024-05-17
  • 最終更新日:

WordPressで最低限やったほうがいいセキュリティ対策

ジェネリック画像

はじめに

WordPressは世界のウェブサイトの43.3%(2024/5/17現在 W3Techs調べ)で利用されているCMSです。
しかし、WordPress標準の設定だと、セキュリティが不十分です。
それ故、ハッカーや悪意のあるBOTの格好の標的です。ですので、最低限やっておいた方がいいセキュリティを書いときます。

なぜ標準だとセキュリティが不十分なのか?

まず標準状態だと、誰でも簡単に「サイトURL/wp-admin/」や、「サイトURL/wp-login.php」とするだけで簡単にログイン画面
にいけてしまうんです。「何が問題なの?」と思う方もいるかもしれませんが、
「ログイン画面がバレる == 攻撃者が、総当たり攻撃し放題」となってしまうんです。

「でもユーザー名はわからないでしょ」

と思うかもしれませんが、標準状態だと、ユーザー名もわかってしまうんです。
「サイトURL/?author=1」とすると、「サイトURL/author/ユーザー名/」にリダイレクトされてしまうんです。
攻撃者は、パスワードだけハッキングすることに専念できて、しかもログインロックもないので総当たり攻撃し放題となります。
ですので標準状態で運用するのはとても危険です。

下記の画像をみればわかるように、このサイトも公開して間もなく、Dos攻撃や、総当たり攻撃にあいました。
(ユーザー名を取得したあと、xmlrpcに総当たり攻撃をして、ログインの総当たり攻撃をしているログ)

ユーザー名を取得したあと、xmlrpcに総当たり攻撃をして、ログインの総当たり攻撃しているログ

ハッキングされたらどうなる?

まず一番に上がるものとすれば、「改ざん」でしょう。
改ざんされると、変なサイトに勝手に飛ばされる,変なファイルを設置されるなどが起きます。

また、サーバーのリソースを勝手に使われて、攻撃の踏み台にされたりすることも考えられます。

ハッキングをされたら、レンタルサーバー会社から、サーバーを凍結されたりします。

SiteGuardプラグインを使ってサイトを保護してみよう!

まずプラグインを追加の項目から「SiteGuard」と検索して、追加してください。

SiteGuardプラグインをインストールする画面

有効化すると、ログインページのURLが変わると思うのでブックマークしてください。

もし忘れたとしても、Wordpress直下のディレクトリにある、.htaccessファイルに
こんな感じの記載がしてあると思います。なので忘れた場合は.htaccessファイルを見ると良いでしょう

#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^wp-signup\.php 404-siteguard [L]
    RewriteRule ^wp-activate\.php 404-siteguard [L]
    RewriteRule ^login_(ここに記載してあります)(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#==== SITEGUARD_DISABLE_XMLRPC_SETTINGS_START

こんな感じに、画像認証が追加されてると思います。

SiteGuardプラグインを入れたあとのログイン画面

プラグインの設定をしてみよう

標準設定だと少し不十分なところがあるので、一緒に設定をしていきましょう。

SiteGuardプラグイン管理画面

ログインページ変更

オプションの
「管理者ページからログインページへリダイレクトしない」を有効化してください。

これは何かというと、ログインしてないユーザーが「サイトURL/wp-admin/」にアクセスすると、
自動でログインページにリダイレクトする機能を無効化するというものです。

必ず有効にしといてください。無効だとログインページのURLを変更している意味がないです。

SiteGuardプラグイン管理画面 ログインページ変更

ログインロック

下記の画像のような設定にしてください。
これが一番厳しい設定です。
「30秒間、3回ログインに失敗すると、5分間ロックする」

SiteGuardプラグイン管理画面 ログインロック

XMLRPC防御

XMLRPCというのは、外部のアプリなどが、WordPressにログインしたり、投稿などをするときに、
使われるAPIです。
しかし現在は変わりにREST APIというのが使われ、XMLRPCは時代遅れになりました。

しかも、XMLRPC経由でログインしようとすると、上記のようにした、
セキュリティ対策が適応されないので、総当たり攻撃し放題で、画像認証もない
ので、
XMLRPCを使うプラグインを入れていないなら、絶対に無効にしたほうがよいでしょう。

SiteGuardプラグイン管理画面 XMLRPC保護

ユーザー名漏えい防御

冒頭でも話した「サイトURL/?author=1」で「サイトURL/author/ユーザー名/」
にリダイレクトさせないようにする設定です
これを有効にしないと、ユーザー名がバレてしまうので、必ず有効にしてください。

また、REST APIも、使うプラグインを除外して、無効化してください。
じゃないとユーザー名がバレます。

XMLサイトマップ経由でもユーザー名がバレるから注意

上記の対策をしても、XMLサイトマップ経由でユーザー名がバレる可能性があります。
なのでXMLサイトマップの設定で、投稿者の項目を除外しておきましょう。

XML Sitemap & Google Newsの場合

XML Sitemap & Google Newsの設定から、
無効化の、投稿者の項目にチェックしてください。
そしたら除外できます。

まとめ

WordPress自体、元々脆弱な存在です。
プラグインやテーマがヘマしたら終わります。
ですので定期的にアップデートすることなど、基礎的なセキュリティ対策が重要です。
その上で今回したセキュリティが成り立ちます。

今回の記事が参考になったら幸いです。

よかったらグッドボタン&シェアお願いします!

送信したコメントは承認作業を行うまで表示されません。ご了承ください。
なお名前の入力は任意でメールアドレスの入力も必要ありません。 CAPTCHA(画像認証)の文字が表示されない場合は再リロードしてください。

CAPTCHA


記事の削除依頼や修正依頼については、問い合わせにて受け付けております。
ぜひお気軽に問い合わせください。

筆者のプロフィール

profile-img

名前: Otusoaオツソア (本名: 小林 栄太)

主に1年半ぐらい趣味でWebサイトを作っています。
このブログは痒い所に手が届くニッチな技術を提供します。
当サイトでは、自分の好きなようなことをマイペースに発信していきます。

Contact