WordPress構築後に導入したプラグイン&セキュリティ対策

wordpress

このブログはWordPressで運営しています。

今回の記事では、このブログ構築した当初に導入したプラグインとセキュリティ対策について説明します。

WordPressはプラグイン数が膨大なので、初めはこれを選別するだけでも一苦労です。

セキュリティ対策にしても、どんなプラグインを使えばいいかわからない…という方も多いのではないでしょうか。

そんな方の参考にしていただければ幸いです。

本ブログは、GCP(Google Cloud Platform)上にWordPressの仮想インスタンス(サーバ)を立てて運営しています。

以下の連載記事で、本ブログを0から構築した時の手順を紹介しているのでよかったらご覧ください。

上記のGCP関連で導入したプラグインもありますが、普通のレンタルサーバでWordPressを構築している方にも参考にしていただけると思います。

この記事の内容

  • WordPress構築後に導入したプラグインの紹介
  • セキュリティ対策としてやったこと

導入したプラグイン

WordPressに導入するプラグインを選定するとき、以下の考え方を基準にしました。

  • サイト運営にほぼ必須なプラグインは導入
    • SEO、メール送信、画像圧縮など
    • 処理性能維持のためあれこれ入れすぎない
  • セキュリティの穴を作らない
    • 不要なプラグインは削除する
    • バージョンの互換性がないプラグインは使用しない
    • 直近まで更新されているものを使用する
  • できる限りサイトの動作を軽くするため、プラグイン同士の機能が重複しないように選定する

この基準で選定したプラグインが以下になります。(★がデフォルトでインストールされていたプラグイン。各々の構築手法で違うかもしれません。その中で、不要なので削除したものは取り消し線。)

プラグインプラグイン概要理由
★Akismet Anti-Spam (アンチスパム)何百万もの利用実績がある Akismet はあなたのブログをスパムから保護する最良の方法といえるでしょう。あなたが眠りについている時間でさえ、Akismet は常時サイトを守り続けます。始めるのは簡単。Akismet プラグインを有効化したら設定ページで API キーを設定するだけです。スパム防止に必要らしい。
★All In One SEO PackWordPress ブログですぐに使える SEO。XML サイトマップ、カスタム投稿タイプの SEO、ブログやビジネスサイトの SEO、e コマースサイトの SEO などの機能があります。2007年以来、約5,000万ダウンロードを誇ります。SEO対策として。
★All-in-One WP Migrationすべてのブログデータを移行するツール。1クリックでブログコンテンツをインポートまたはエクスポートします。ブログ引っ越しに使用するツール。今は使わないため削除。
★AMPWordPress サイトで AMP を有効化します。WordPress の方式で。モバイル表示高速化のため。
Block Bad Queries (BBQ)BBQ is a super fast firewall that automatically protects WordPress against malicious URL requests.セキュリティソフト。
(導入理由と方法は後述)
CloudflareCloudflare speeds up and protects your WordPress site.記事投稿時にCloudFlareのキャッシュを自動削除するため。
>>導入方法はこちら
※CloudFlareを使用していなければ不要
★Google Analytics for WordPress by MonsterInsightsWordPress のための最高な Google アナリティクスプラグイン。訪問者がサイトをどのように見つけ、使用しているかを確認することで、彼らが再訪してくれるようにしましょう。All In One SEO Packに解析機能があるので削除。
★Hello Dollyこれはただのプラグインではありません。Louis Armstrong によって歌われた最も有名な二つの単語、Hello, Dolly に要約された同一世代のすべての人々の希望と情熱を象徴するものです。このプラグインを有効にすると、すべての管理画面の右上に Hello, Dolly からの歌詞がランダムに表示されます。Hello Dollyの歌詞を表示するプラグイン。なんじゃそりゃ。
IP2Location Country BlockerBlock visitors from accessing your website or admin area by their country.中国、オーストラリアからのアクセスブロックのため。
(導入理由と方法は後述)
★Jetpack by WordPress.comWordPress.com クラウドサービスのパワーをインストール型 WordPress にも取り入れましょう。Jetpack を使えば、ブログを WordPress.com アカウントと連携させ、便利な機能を利用できます。アクセス分析と関連記事投稿を他で代用できるならいらない。
★Simple TagsExtended Tagging for WordPress : Terms suggestion, Mass Edit Terms, Auto link Terms, Ajax Autocompletion, Click Terms, Advanced manage terms, etc.タグ管理。残しとけばいいと思う。
Wordfence SecurityWordfence Security – Anti-virus, Firewall and Malware Scanセキュリティソフト。
(導入理由と方法は後述)
WP Mail SMTPReconfigures the wp_mail() function to use Gmail/Mailgun/SendGrid/SMTP instead of the default mail() and creates an options page to manage the settings.メール送信に必要。
WP-StatelessUpload and serve your WordPress media files from Google Cloud Storage.GoogleCloudStrageとの連携に必要。
>>導入方法はこちら
※GoogleCloudStrageを使用していなければ不要
WP Multibyte PatchWP Multibyte Patch は、本家版、日本語版 WordPress のマルチバイト文字の取り扱いに関する不具合の累積的修正と強化を行うプラグインです。文字化け等防止プラグイン。日本語サイトには必須らしい。
Updraft Plus複数のバックアップ保存先に対応したバックアップと復元プラグイン。ローカル、Amazon S3、Dropbox、Google Drive、Rackspace、(S)FTP、WebDAV、メールに自動スケジュールでバックアップします。バックアップツールとして。
EWWW Image OptimizerNextGEN Gallery や GRAND Flagallery を含む WordPress 内の画像のファイルサイズを縮小します。 jpegtran, optipng / pngout, および gifsicle を使用しています。画像をアップロード時に圧縮してくれるツール。

今後、他に必要なプラグインがあったら追加するかもしれませんが、とりあえず初めに導入したのはこれだけ。

セキュリティ対策

本ブログのセキュリティ対策は、「Wordfence Security」、「Block Bad Queries (BBQ)」、「IP2Location Country Blocker」というプラグインで行っています。

Wordfence Security・Block Bad Queries (BBQ)

「Wordfence Security」、「Block Bad Queries (BBQ)」は、やりすぎセキュリティさんの下記の記事を参考に導入を決めました。(WordPress以外にもいろんなセキュリティ対策でお世話になっているサイト)導入方法や設定方法を、とってもとっても詳しく説明されているので、WordfenceとBBQに関してはこちらをご覧いただければと思います。

IP2Location Country Blocker

IP2Location Country Blockerは、特定の国からのアクセスをブロックするプラグインです。

このプラグインは、国ごとのグローバルIPアドレスをデータ化し、特定の国からのアクセスをまるごとブロックしてくれます。接続されなければ攻撃されることもないので非常に強力なファイアーウォールになります。

導入理由① 管理領域で悪さされることを防ぐ

WordPressは世界的に最も有名なCMSで、攻撃者にもその構造が知られているため攻撃対象になりやすいという弱点があります。

例えば、ログイン画面のURLは自分で変更しない限り「http://<ドメイン名>/wp-admin/」固定です。攻撃者はしらみつぶしにこのURLにアクセスして不正ログインできないか狙っています。

このブログでは、Wordfenceによるログイン時の2段階認証と、IP2Location Country Blockerによる海外からの管理画面へのアクセスブロックで、管理領域で悪さされないように対策しています。

導入理由② Always Freeの課金対象国を除外

IP2Location Country Blockerを導入するもう一つの理由は、GCPのAlways Freeの課金対象となる国を除外するためです。(関係ない方は読み飛ばしてください。)

Compute EngineのAlways Freeは下りのネットワークが1GBの通信まで無料ですが、中国とオーストラリアからのアクセスは課金対象です。

1 GB の北米から全リージョン宛ての下り(外向き)ネットワーク(1 か月あたり、中国とオーストラリアを除く

中国やオーストラリアからアクセスされる理由もないので、このプラグインでこれらの国からのアクセスをブロックします。

導入方法

IP2Location Country Blockerの導入は、以下のサイトを参考にしてください。

このブログでは、ブロックリストの設定は以下のようにしています。

Frontend(通常のサイトへのアクセス)
  →リストの国のみブロック(中国、オーストラリア)

Backend(管理画面に対するアクセス)
  →リストの国以外をブロック(日本、アメリカ)

フロントの設定
バックエンドの設定

Backendでアメリカからの接続を許可しているのは、仮想インスタンス(サーバ)がオレゴン州にあるので念のため。許可していなくても接続できるかもしれませんが、できなくなっても困るので。

日本にサーバがある場合、バックエンドに対する接続は日本のみ許可でいいと思います。

実際にどのくらいブロックされているのか?

本ブログに対するアクセスで、IP2Location Country Blockerでブロックされた数がこちらです。

ブロックの様子

圧倒的にBackendに対してアクセスされています。意図的に管理画面にアクセスするなんて攻撃とみなしていいでしょう。

多いと1日に100件以上のアクセスがあります。接続元の国は、カナダ、フランス、イギリス、ブラジル、スイスetc…。

世界中から満遍なくアクセスされています。開設したばかりのサイトですらこれですから怖いですね。

(フロントにアクセスしてくれたらPV数稼げるのに~)


というわけで、導入したプラグインとセキュリティ対策についてでした。

プラグインを仕分けしつつ、たとえ個人ブログでもサイト運営って大変だ~~~と改めて思った次第です。

コメント

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