
WordPressのセキュリティ面が心配だわ…

わしもじゃ、セキュリティ対策できないかの・・・
ご安心ください。
WordPressでは初心者の方でも簡単に実現可能なセキュリティ強化プラグインが存在します。
WordPressは世界中で利用されているCMS(コンテンツマネジメントシステム)です。
基本料金は無料で、機能も充実しているだけに、多くの利用者がいます。
しかし、利用者が多いだけにWordPressに不正アクセスを試みようとする輩もいます。そのため、WordPressのセキュリティー対策は万全にする必要があります。
不正アクセス、スパムメール、スパムコメント、WordPressのプラグインの脆弱性を付いた攻撃、実に様々なアクセス攻撃が日々行われています。ご心配な方もいることでしょう。
このページで解説するのは、WordPressにセキュリティ強化を行うための設定手順です。
WordPressにセキュリティ対策を施したい方の参考になれば幸いです。
プラグインによるセキュリティ強化【初心者向け】
プラグインによるセキュリティ強化を行います。
プラグインにおけるお勧めのセキュリティ対策は大きく分けると以下の3種類です。
- 二段階認証(他端末を利用したセキュリティ対策)
- 多機能プラグイン(1つのプラグインで複数のセキュリティ対策)
- バックアップ(ファイル&データベース)
上記の3種類がセキュリティ強化として有効的です。
Two-Factor(二段階認証)
二段階認証とは、ログイン時のユーザー名とパスワードに別端末に与える認証コード、ワンタイムパスワード、トークンで認証する仕組みです。
スマートフォンにメールで認証コードを送り、その認証コードを入力することでログインを行うことができます。
メリットとしては、
- 別端末を介すため、セキュリティ効果としては高い
デメリットとしては、
- 別端末が無いとログインできない
このようなメリットとデメリットが存在します。
セキュリティーは高い一方、別端末の電源切れ、忘れた、無くした等の不祥事になるとWordPressにはログインすることはできません。
以下のリンクでは、WordPress初心者の方でも簡単にセキュリティ対策を行えるようにメールアドレス認証に焦点をあてた上で、インストール手順から設定方法を解説しています。
SiteGuard(多機能プラグイン)
SiteGuard(サイトガード)は国産のセキュリティ対策プラグインです。
二段階認証のような別端末の利用は無く、全てプラグイン内の機能に依存します。
SiteGuardのセキュリティ向上機能は次の通りです。
- 管理ページアクセス制限
- ログインページの変更
- 画像認証
- ログイン詳細エラーメッセージの無効化
- ログインロック
- ログインアラート
- フェールワンス
- XMLRPC防御
- ユーザー名漏えい防御
プラグイン1つをインストールするだけで、複数のセキュリティ機能を備えることができます。
メリットとしては、
- 別端末を必要としない
デメリットとしては、
- 二段階認証より不安かな
しかし、別の筆者のサイトの履歴では、かなりの数のXMLRPCに攻撃が見られましたが、しっかりとSiteGuardが防いでくれました。
また、ログイン履歴で不正アクセスした輩のIPアドレスや攻撃履歴が確認できるので、その内容に沿って不正アクセス者のIPアドレスのアクセスを制限することも可能です。
BackWPup(バックアップ)
BackWPupはサイト全体のバックアップを行うプラグインです。
BackWPupの最大の特徴としてはWordPress入門者の方でも簡単にバックアップを行えること。
WordPressは以下の2種類のファイル、データベースで構築されています。
- ファイル(画像・音声・プラグイン等のフォルダ&ファイル)
- データベース(記事の内容・階層構造データ等のMySQLデータベース)
これらの両方のバックアップを取り、フォルダーやDropbox等の保存場所に保存することができます。
また、BackWPupは手動によるバックアップだけでなく、設定によって自動でバックアップを取ることも可能です。
BackWPupの初期設定は以下のリンクで解説しています。
その他のプラグイン
基本的には、項目[プラグインによるセキュリティ強化]で紹介した3つのセキュリティ対策プラグインを導入すれば、セキュリティ対策としてはかなりの物だと筆者は考えています。
後は、サーバー側、プラグイン側の両方で日々のバックアップを取得し、時々、パスワード、ユーザー名を変更することで、不正ログインは対処できます。
前項目で紹介したプラグインとは他に、限定的な機能ではあるものの、セキュリティ対策として利用できるプラグインが存在します。
それらのプラグインを紹介していきましょう。
All In One WP Security & Firewall(総合セキュリティ対策)
All In One WP Security & Firewallは、SiteGuard(サイトガード)と同じく、1つのプラグインで複数のセキュリティ対策を行うことができるプラグインです。
このページで大々的にSiteGuardを押しているのは、シンプルなUIでセキュリティ対策を行う上での必要最低限の機能が備えられており、入門者の方々から見て分かりやすいためです。
対して、All In One WP Security & Firewallは、SiteGuardよりも多くの機能があるものの、多機能であるがゆえに初心者には扱いにくい一面があります。
とはいえ、セキュリティ対策を行う上で、All In One WP Security & Firewallは素晴らしい性能を備えています。
以下で紹介するのはごく一部の機能です。
- ファイアウォール
- スキャナー
- バックアップ・復元(.htaccess・wp-config.php・データベース)
- IPブロック
- セキュリティ強化の上の指南
- ハニーポット(ダミー)
- データベース名変更(接頭辞)
まだまだ、あります。
詳しくは、以下のリンクで解説しています。
User Login History(不正アクセス者の履歴を取得)
WordPressのログインページのみに的を絞り、ログインを試みようとする不正アクセス者の情報を取得するプラグインです。
基本的に、インストールして有効化すると直ぐに使えるプラグインで多く情報を取得してくれます。
- User ID:ユーザーID
- Username:ユーザー名
- Role:現在の権限(管理者・購読者など)
- Old Role:過去の権限
- Browser:ブラウザの種類(Chrome・IEなど)
- Operating System:OSの種類(Windows・Linuxなど)
- IP Address:IPアドレス
- User Agent:アクセス環境(スマホ・パソコンなど)
- Last Seen:最後にアクセスした時間
- Login:ログインした日時
- Logout:ログアウトした日時
- Login Status:現在のログイン状況
また、設定を行うことで、以下の情報を追加で取得することが可能です。
- Time Zone:タイムゾーン
- Country:国
有料版も存在するものの、無料版で十分なので初心者の方でも使いやすいプラグインだと感じました。
Edit Author Slug(ユーザー名の漏洩を防ぐ)
Edit Author Slugは、ユーザー名の漏洩を防ぐプラグインです。
WordPressの初期状態ではユーザー名は、必ず見ることができます。
これは、ログイン時の情報の1つの情報を自らさらけ出しているようなものです。
また、WordPressの設定によって、ユーザー名の代わりにニックネームを指定する方法があるものの、それでもユーザー名は見ることができます。
以下でユーザー名の漏洩を防ぐプラグイン「Edit Author Slug」の設定方法について解説しています。
IPアドレスのアクセス禁止(制限)
ネットワーク上の機器にはIPアドレスが割り当てられています。
不正アクセス者のIPアドレスを知ることができれば、そのIPアドレスを制限することで、不正アクセス者のアクセス自体を禁止することが可能です。
不正アクセスに限っては、国外からのアクセスが多いため、個別にアクセスを禁止するより、国ごとのアクセスを禁止した方が管理者の精神上でも良いと言えます。
以下に、IPアドレスを指定し、そのIPアドレスのアクセスを禁止する手順について解説しています。
WordPressの基本設定(セキュリティの向上)
個人的には、セキュリティを高めるために必要なのは、WordPressの基本の設定だと思っています。
根本的に、ログイン時に必要となる「パスワード」に限らず「ユーザー名」もパスワードと同様に大文字、小文字英語・数字を含めた複雑な情報にすることをお勧めします。
また、ユーザー名は知らぬ間にホームページ上で公開されていることもあります。
初期設定の見直してブログ上の表示名にはニックネームを代用する、また、プラグインを利用してユーザー名の漏えいを防ぐ等の処置が必要となってきます。
この項目では、WordPressのセキュリティ面から見た基本の設定の見直し(項目)について解説しています。順番に設定し、所有するホームページ・ブログ・サイトのセキュリティを向上させましょう。
ユーザー名、パスワードの変更
ユーザー名、パスワードは必ず強力な情報にします。
ユーザー名やパスワードは既に設定されている方もいると思います。
しかし、WordPressの管理画面から簡単に変更することができるので安心してください。
かなり危険なのは、
- ユーザー名に「admin」を利用している
- ユーザー名、パスワードをしばらく変更していない
- 簡単でシンプルなユーザー名、パスワードを利用している
このような方は要注意です。
ブログ上の表示名にニックネームを代用
WordPressの初期設定ではブログ上の表示名にユーザー名を利用しています。
これは、ログイン時に必要となる情報の1つを公開していることになります。
ブログ上の表示名を変更するための簡単な方法としては、ニックネームを代用する方法です。
これは、WordPressの設定で行うことができるため、WordPress入門者の方でも簡単に利用できます。
その手順について詳しく解説しています。
サイト・ブログのSSL化
SSL(Secure Sockets Layer)とは、インターネット上の情報の通信を暗号化する技術です。
例えば、
- パスワード入力
- 個人情報の入力
等の情報をSSL化を行っていないサイト・ブログで入力してしまうと、これらのプライバシー情報が他者から盗み見られてしまいます。
SSL化を行っているサイト・ブログの場合は、通信を暗号化しているため、情報は公開されることはありません。暗号化しているため、解読することは非常に困難になります。
以下では、エックスサーバーを利用されている方に向けたSSL化手順を解説しています。
プラグインの脆弱性に対処するには?
WordPressの拡張機能としてプラグインが存在します。
プラグインはWordPressの機能を高めてくれる便利なソフトウェアです。
プラグインでよく聞く「脆弱性」という言葉があります。
これは、プログラムの設計上のミスが起因となって発生する一種の不具合(欠陥)で、その欠陥を突いてウィルスの感染、並びに他者による不正アクセスが行われます。
プラグインの脆弱性に対抗するためには、
- 古いプラグイン、テーマを利用しない
- 最新のバージョンに更新する
- 不要なプラグインをインストールしない
上記に尽きます。
また、プラグインの情報を随時知ることも大切です。
古いプラグインはもちろん、利用する予定のあるプラグインを含め、それらのプラグインがセキュリティー的に問題あるかを予め調べてから利用するようにしましょう。
セキュリティは自分で守るしかない
WordPressでホームページ・ブログを運用する上でのセキュリティ対策は自ら行う必要があります。
幾つかのサイトを運用させて頂いていますが、どれもWordPressのプラグイン(SiteGuard)を取り入れています。もちろん、SiteGuard(サイトガード)は無料でインストールできます。
これまでに不正アクセスに遭遇したことはプラグインの情報で確認しています。しかし、ログインまでに至っていないので、まずは、SiteGuard(サイトガード)等の無料のセキュリティプラグインからセキュリティ対策を始めてみてはいかがでしょうか。