今や、WordPressは人気の的なり、世界的に最も使用されているツールといえます。なんと言ってもデータベースで投稿(記事)を管理できるため、非常に便利です。さらにSEO対策も優れているため、検索上位結果が上位になりやすいです。
しかし近年では、不正侵入やスパムなどのサイト攻撃も非常に多くなっています。昨今、ますます過激になるホームページへの不正侵入。私のこのサイトもWordPressで構築されていますが、特定の国からの不正侵入の試みが非常に多くなっております。
今回は手軽にホームページのセキュリティを向上させる方法を紹介いたします。
※記事中に使用している画像の一部はfreepik.comに帰属します。
重点を置くセキュリティを絞る
WordPressの運用において最も大切なことは以下の2点です。これらを防ぐことができれば、さほど深刻な事態にはなりません。この2点を重点的に対策していきます。
- スパムを防ぐ
- 不正ログインを防ぐ
※上記以外にもデータベースの保護など、対策はたくさんあります。
スパムを防ぐ
WordPressを長年運用している人なら分かると思いますが、とにかく毎日のスパムが非常に多いです。ひどい時には1日5千件以上のスパムが来ています。プラグインでそれなりに防ぐことができますが、これらのスパムは日々溜まっていくとサーバーの容量を圧迫します。
他っておくと、運用上支障をきたすようになります。早い段階で対策を立てておきましょう。
不正ログインを防ぐ
一番恐ろしいのがコレです。何らかの理由でユーザーIDとログインパスワードが相手に知られてしまい、不正にログインされることです。悪意ある第三者が不正にログインに成功してしまうと、中身がぐちゃぐちゃに荒らされてしまいます。
不正なコードを埋め込まれたり、内容を改ざんされたりします。バックアップがあれば復旧はできますが、そうでない場合は困難でしょう。しかし、不正侵入を100%防ぐことは難しいと言われています。大切
なのは「不正侵入がされにくい環境を作る」ということです。
スパムを防ぐための対策
日々何千件も届くスパムを防ぐためには以下の方法が有効です。
- 【プラグイン】Akismitを利用する
- 【プラグイン】Throws SPAM Awayを利用する
【プラグイン】Akismitプラグインを使用する
言わずと知れたスパムブロックプラグイン「Akismit」です。山ほどやってくる怪しいスパムメールをかなりの精度で防いでくれます。APIキーは必ず設定しておきましょう。
- WordPress > プラグインの新規追加 > Akismitをインストール
- まず WordPress.com にログインします。(初めての人はアカウントを作成してください)
- ウィンドウの右上にある自分の表示名をクリックし、プロフィールページを表示させます。
- プロフィールページの上部に記載されている API キーをコピーします。
- Akismet 設定サブパネルにアクセスします。
- APIキーをペーストし、設定を更新ボタンをクリックすれば完了です。
ダウンロード:WordPress.org
どのぐらいのスパムを防いでくれるのか
Akismitのスパムのブロック率です。精度は99.99%となっています。かなりの確率でスパムを防いでくれますが、やはりそれでも通過しているスパムがあります。スパムを完璧に防ぐことはできないので、二重で対策をしておく必要があるでしょう。
【プラグイン】Throws SPAM Awayを利用する
もう一つのプラグイン「Throws SPAM Away」を使ってさらにスパムをブロックします。このプラグインは国産のものです。最初から日本語表示になっているので、使いやすいでしょう。基本的に設定は必要ありません。
インストールして有効化するだけでOKです。
ダウンロード:WordPress.org
不正ログインを防ぐための対策
- 【認証】Basic認証を設定する
- 【プラグイン】Crazy Bone (狂骨)
- 【プラグイン】Limit Login Attemps
【認証】Basic認証の設定
Basic認証を設定するだけで、管理画面の不正ログインがかなり「やりにくく」なります。簡単に設定できるので、早い段階で実装しておくことをおすすめします。Basic認証には以下のような特徴があります。
- 「.htaccess」と「.htpasswd」の2つのファイルが必要となる。
- ディレクトリ単位でアクセス制限できる。
- ほとんどのブラウザで使用できる。
- ユーザー認証はブラウザを終了するまで有効。
- IDとパスワードはブラウザに記憶できる。
- 入力に成功しないと、特定ページにアクセスできない。
次のステップで「.htaccess」と「.htpasswd」の2つのファイルを作成していきます。
【作成】.htaccessの作成手順
Basicn認証を作成するためには「.htaccessファイル」と「.htpasswdファイル」の両方が必要になります。自力で作成することもできますが、便利なエディタ(下記)があるので、そちらを利用しても良いでしょう。
- 簡単作成サイト:.htaccess Editor
.htaccess Editorでコードを作成する
青い矢印の箇所、「ユーザー名」と「パスワード」に任意の文字列を入力します。「メモ」と書いてあるところは必要な情報なので、忘れないようにどこかにメモしておきましょう。赤い矢印の箇所は、コピーしてファイルに張り付けるコードになります。デスクトップ上でメモ帳を作成し、コードを張り付けてください。
メモ帳の作成とコードの貼り付け
デスクトップ上で「右クリック > 新規作成 > テキストドキュメント」を選択します。
「新しいテキストドキュメント.txt」が作成されたらダブルクリックで開き、コードを貼り付けます。.htaccess Editorで作成したコードをそのまま範囲選択で指定し、貼り付けてください。
上部メニュー「ファイル > 名前を付けて保存」を選択します。
ファイル名に「htaccess」と入力し、文字コードを「UTF-8」にし、「保存」をクリックします。
サーバーにアップロードし、リネームする
保存したファイルをサーバーの「wp-contentフォルダ」と同じ場所にアップロードします。アップロードしたら、「htaccess.txt」を選択し、キーボードの「F2キー」を押してファイル名を変更します。ファイル名は「 .htaccess 」としてください。初めに「.(ドット)」を付けることを忘れないでください。
以上で、htaccessの設定は完了です。
【作成】htpasswdの作成手順
htaccessと同じく、「.htaccess Editor」で作成します。パスワードを入力したら、青い矢印の「.htpasswdを作成」をクリックします。すると、赤い矢印の箇所にコードが表示されます。そのコードをメモ帳に貼り付けます。
.htaccessと同様の手順でコードを貼り付けて、ファイルを「htpasswd.txt」で保存してください。
サーバーにアップロードし、リネームする
「htpasswd.txt」をサーバーにアップロードします。アップロードする場所は、下記で設定した場所になります。間違えないようにアップロードしましょう。あとは、アップロードしたファイルを「.htpasswd」にリネームします。
【確認】Basic認証のチェック
設定したBasic認証が本当に正しく設定されているか確認してみます。WordPressのログイン画面を移動してみてください。下記のようなBasic認証がブラウザの上部に表示されているはずです。設定した「ユーザー名」と「パスワード」でログインしてみてください。
もし、このような表示が出ないのであれば、それは作成手順の何かが間違っているということになります。もう一度、作成手順から見直してみましょう。
【プラグイン】Crazy Bone (狂骨)を利用する
WordPressはログイン履歴が残らないため、侵入者の形跡になかなか気が付きません。そこで役に立つのがこのプラグインです。Crazy Boneはいつ・誰が・どんなブラウザでログインしたか分かるようになるプラグインです。
このプラグインを利用すると、下記のように必ず履歴が残ります。不正にログインされたときに、いち早く対策を立てることができるようになります。万が一のために、インストールしておきましょう。
ダウンロード:WordPress.org
【プラグイン】Limit Login Attempsを利用する
「Limit Login Attemps」は、ユーザーIDとパスワードを規定回数間違えると、ログイン画面そのものにアクセスすることが出来なくなります。不正侵入者の多くは「ブルートフォースアタック」という方法で侵入を試みます。
これは「総当たり攻撃」と呼ばれるもので、ユーザーIDとパスワードを推測してランダムに打ち込み、侵入を試みるというものです。このプラグインを有効化しておくことで、侵入者の試みをより困難にすることができます。複雑な設定も必要ないため、インストールしたら有効化するだけOKです。
ダウンロード:WordPress.org
あとがき
これまでの対策をまとめてみます。下記を実践してください。
- 【認証】Basic認証を設定する
- 【プラグイン】Akismitを利用する
- 【プラグイン】Throws SPAM Awayを利用する
- 【プラグイン】Crazy Bone (狂骨)
- 【プラグイン】Limit Login Attemps
もちろん他にもデータベースを保護する方法や、より侵入させなくする方法もあります。まずは、簡単にできる上記の5つを実践してみてください。何もしないよりも、WordPressのセキュリティは高くなります。
近年ではWordPressの不正侵入の手口はますます巧妙化しているので、その都度対策を立てていくほかありません。万が一の状況は必ず起こります。今まで作り上げた大切なデータを破壊されないためにも、セキュリティ対策を実施してください。