【バックヤード】SITEGUARD WP PluginでWordPressセキュリティを強化しよう

バックヤード

 WordPressはオープンソースのWebコンテンツ管理システム(CMS)です。オープンソースなので、誰でもWordPressの仕組みやファイル構成、ソースコードを知ることができます。さらには無償で使用することができます。このサイトもWordPressを使って作成しています。
 また、WordPressのシェア(2022年12月18日時点)を見ると、以下の通りです。

出典:W3Techs-World Wide Web Technology Surveys

 全Webサイトでは、WordPressが43%使われており、Webコンテンツ管理システム(CMS)のシェアは63.8%と共にダントツのシェアであることがわかります。つまり、10個のWebサイトのうち4個は、WordPressで作成されているというこです。ということはWordPressで作られたWebサイトを探すのは簡単ということになります。

WordPressのサイトはセキュリティリスクが高い!?

 何が起こるか?そう、簡単に言うと不正アクセスされる危険が高まります。WordPressで作成したサイトは、最低限のセキュリティ対策をしておく必要があります。

WordPressのログインページURL

 WordPressの仕様では、Webサイトの管理画面にログインするURLは以下です。

https://WebサイトのURL/wp-admin

 Webブラウザのアドレスに上記のURLを入力すると、以下のようにサイトの管理画面へのログインが表示されます。

 ユーザー名やパスワードを総当たり攻撃(*)されると、侵入されてしまう危険があります。例えば、ユーザー名に「Administrator」、「admin」などを設定したり、パスワードに「password」、「abc123」、「1234」などを設定したりすると簡単に侵入されてしまいます。もし、侵入されると以下のような脅威があります。
*Brute-force attack(ブルートフォースアタック)と呼ばれます。

脅威
  • サイトの乗っ取り(パスワードを変更されてしまう)
  • サイトの改ざん(内容や画像の変更や削除をされてしまう)
  • マルウェア(*)の埋め込み(サイトを閲覧したパソコンが感染し、拡散させてしまう)
    *マルウェア(Malware)とは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称です
みやびん
みやびん

ひぇ~。大変!大変!

自分のサイトのユーザー名が誰からも見える状態になっていませんか?

 Webブラウザのアドレスに自分のURLの後ろに「/?author=1」をつけてみてください。例えば、このサイトの場合、「https://miyabee-craft.com/?author=1」となります。

https://自分のサイトURL/?author=1

 表示した結果が、404エラーページやTOPページが表示されたなら、あなたのサイトは何らかの対策がされており、「ユーザー名」が他の人から見えない状態になっていると思われます。

 ところが、投稿者アーカイブページが表示されてしまった場合は、問題です。さらにアドレスには、自分のサイトURLの後ろに「/author/ユーザー名」が表示されてしまっていると思います。

 ログイン情報のうち、ユーザー名がわかってしまうので、パスワードを破られると侵入されてしまいます。(汗)

    セキュリティ対策

    みやびん
    みやびん

    対策せねば!

    まずは以下のような対策が必要になります。

    • サイトをスキャンしてマルウェアの有無の確認
    • ユーザー名、パスワードの変更とニックネームの設定
    • ログインページURLの変更

    サイトをスキャンしてマルウェアを検出する

     まずは、サイトがマルウェアに感染していないかを確認することが必要です。そこで、無料でサイトをスキャンしてくれるサイトがありますので紹介します。

    Googleセーフブラウジングのサイト

     Googleが提供しているセーフブラウジングのサイトがあります。サイトのURLを入力することでサイトの状態を確認することができます。その場でサイトをスキャンするわけではなく、Googleが日々スキャンした結果を見ることができます。このサイトの場合、2022年12月7日の結果が表示されています。

     また、サイトをGoogle Search Consoleに登録しておくと、Search Consoleを通じてサイトの所有者に通知されます。したがって、すでに登録済みで何らかの問題が検出されていればメール通知を受け取っているはずです。なければひとまず安心ということです。

    SECURI

     Securiというサイトで、サイトのURLを入力することでマルウェアの検出をしてくれます。こちらは、その場で検出するタイプです。

     このサイトをチェックした結果は、以下の通りでマルウェアの検出はありませんでした。

    SecURL(セキュアール)

     SecURL(セキュアール)という日本で提供しているサービスです。このサービスはユニークな方法でサイトをチェックしてくれます。入力したURLのページをチェックして、チェック結果とともに仮想ブラウザ上にそのページを表示します。その仮想ブラウザ上でページのリンクをクリックすると、リンク先のページが表示されて、チェックします。リンクをクリックする手間はありますが必要なページをチェックしてくれます。

     以下のような仮想ブラウザ上にサイトページが表示され、リンクがある部分が赤枠として表示されます。赤枠をクリックすると、さらにリンク先をチェックします。

     チェックした結果は、以下のようにわかりやすく表示してくれます。

    マルウェアが検出されたら

     不幸にもサイトにマルウェアが検出された場合、速やかにマルウェアの駆除が必要になります。
     駆除で最も確実なのは、現在のサイトを削除して、バックアップしているサイト情報で復旧することです。ただし、バックアップしているサイト情報がマルウェアに感染していないことが前提になります。また、バックアップが古いものであれば、最新の投稿などの情報が失われてしまいます。
    対処方法については、契約しているレンタルサーバーのヘルプを参考にされるとよいと思います。

    ユーザー名とパスワードの変更とニックネームの設定

     次に、WordPressのログインユーザー名を変更します。先ほどの例のようにWordPressの初期設定のまま「admin」を使用しているなら変更しましょう。

    ユーザー名の変更方法

     WordPressの管理画面から以下の手順でユーザー名の変更を行うことができます。実際には「admin」のユーザー名を変更することはできないので、新規にユーザー名を追加した後に、「admin」アカウントを削除する手順になります。

    1. [ユーザー]>[新規追加]をクリック
    2. ユーザー名、メールアドレス、パスワードを入力、「権限グループ」を「管理者」にしてユーザーを作成
    3. [ユーザー]>[ユーザー一覧]画面に、新規に追加したユーザー名が表示されることを確認
    4. 管理者ユーザー「admin」でログインしている場合はログアウトする
    5. 新規に追加したユーザー名でログイン
    6. [ユーザー]>[ユーザー一覧]画面で、アカウント「admin」を削除する
    7. 削除する際に、「すべての投稿を以下のユーザーにアサイン」の右側のドロップダウンメニューで投稿とリンクを割り当てるユーザーを選択する
    8. ラジオボタンをチェックして、「削除を実行」をクリックする

    パスワードの変更方法

     パスワードを簡単に割り出されないように強度のあるパスワードを設定しましょう。
    強度のあるパスワードの作り方のヒントを紹介します。

    パスワードの作り方ヒント
    • 8文字以上で14文字程度が理想です。
    • 英大文字、英小文字、数字、記号を組み合わせる
    • 名前、誕生日、電話番号、メールアドレスなど情報元が類推できる文字を使わない
    • 英単語を使わない

     上記をヒントにパスワードを作るのは、以外に難しいです。そこで、ラッコのパスワード生成などのパスワード生成を利用して作成する方法もあります。

    ニックネームを設定する

     ユーザー名を変更したら、さらにニックネームを設定しましょう。サイト上の表示名はデフォルトの状態では、ユーザー名が使用されています。これをニックネームが表示されるように変更します。

     WordPressダッシュボードの[ユーザー]>[プロフィール]をクリックして、「ニックネーム」と「ブログ上の表示名」を設定します。日本語も可能です。

    ログインページURLの変更

     最後にログインページURLの変更を行います。ログインページURLの変更をWordPressに対して直接行うには、WordPressの知識やPHPプログラミングの知識が必要です。勉強してからでは時間がかかるので、プラグインを使って、サクッ!とセキュリティを強化しましょう。

    おすすめプラグイン

     ログインページURLを変更できるプラグインはたくさんありますが、悩まなくてよいように実際に使っているプラグインを紹介します。

    SiteGuard WP Plugin

     この「SiteGuard WP Plugin」は国産プラグインです。使い方の説明には日本語も用意されているので使いやすいです。デリケートなセキュリティ設定について、日本語で確認できるのは安心ですね。

    有効インストール数は500,000以上(2022年12月時点)で、最新のWPバージョン(WordPress 6.1.1)の互換性も確認されています。

    ログインページURLの変更方法

     プラグインによるログインページURLの変更方法を紹介します。
     プラグインをインストール、有効化して、WordPressダッシュボードの[SiteGuard]>[ダッシュボード]をクリックすると設定状況の画面が表示されます。

    「ログインページ変更」をクリックすると設定画面が表示されます。

    ①が自分のサイトURLになります。②の「login_xxxxx」が「wp-admin」に変わるURLになります。「login_xxxxx」は、英数字、ハイフン、アンダーバーの範囲で変更することができます。

     最後にオプションの「管理者ページからログインページへリダイレクトしない」にチェックを入れます。
    チェックしない場合、「https://自分のサイトURL/wp-admin」を入力すると、「https://自分のサイトURL/login_81352」に自動的にURLが変更されてログインページに変わります。

    この自動的にURLが変更されることを「リダイレクト」と呼びます。

    チェックしないことで、「login_81352」を覚えておく必要はなくなりますが、攻撃者には見す見すログインページを教えることになります。もろ刃の剣ですね。 セキュリティ強化という観点では、オプションとは言えチェックを入れるべきでしょうね。

     設定が終わったら、【変更を保存】をクリックします。

     保存すると、WordPressに設定しているメールアドレスに変更通知メールが届きますので控えておきましょう。忘れたときは、受信メールを探せば見つかると思います。
    一旦、ログアウトして、変更したログインページURLを開いてログイン画面からログインできることを確認しましょう。

    合わせて、ログインページのURLをブックマークしておきましょう。

    補足:ログインページURLを忘れてしまった場合の対処方法

     変更通知メールが見つからず、万が一にもログインページURLを忘れてしまった場合の対処方法を示しておきます。

     ログインページのURLは、.htaccess(*1)ファイルの「SITEGUARD_RENAME_LOGIN_SETTINGS」のコメントで括られたところに記載されていますので、FTPで「.htaccess」を取得して確認することができます。
    *.htaccessファイルとは、Apache HTTP Serverにおいてディレクトリ単位で設置及び設定を行える設定ファイルのことです。

    ちなみに、SiteGuard WP Pluginは、サイトのサーバーで「mod_rewrite(*)」が使えることが前提になっています。大抵のレンタルサーバーでは、FAQにmod_rewriteの利用可が掲載されています。
    *mod_rewriteとは、Apache HTTP Serverのモジュールのひとつで、正規表現を使ってURLの書き換えやリダイレクトを処理するものです。

    最後に

     冒頭に「WordPressのサイトはセキュリティリスクが高い!?」と記載しましたが、WordPressは初心者から商業利用まで幅広く使えるCMSだからこそ、これだけの支持を得られていると思います。それを支えるようにたくさんのセキュリティ対策プラグインも開発されており、利用目的に合わせてセキュリティ強化していくことができます。その加減はサイト管理者に委ねられているのだと思います。

     最後に、SiteGuard WP Pluginには他にもセキュリティに役立つ機能がたくさんありますので、自分のサイトに必要な対策を講じてください。

    タイトルとURLをコピーしました