WordPressは無料で使用することができるため多くの人に利用されています。構成が共通しているので自分のサイト以外で脆弱性が見つかった場合でも他人事ではないです。今回は当サイトが行っているWordPressの脆弱性対策について紹介していきたいと思います。※オープンソースを利用した簡易的な構築事例で完全性を保証するものではありません。
①マスター・スレーブ構成で改ざん対策
マスター・スレーブ構成とはその名の通りマスターサーバーとスレーブサーバーを用意し、マスターサーバーのデータをスレーブサーバーに同期させる構成です。ニュースでWebサイトがハッキングされて変なメッセージが書かれたりする被害をたまに見ますが、この構成にすることで改ざんされたとしても上書きで元通りになる可能性があります。マスターサーバーが改ざんされると意味がなくなるのですが、当サイトのマスターサーバーは外部のネットワークから接続ができないようになっているためその可能性はかなり低いといえます。
②WAFを利用しWEBサイトの脆弱性対策
WAFを利用することでSQLインジェクションやクロスサイトスクリプティングなど一般的にWebサイトを攻撃する際に使われる手法で被害を受ける可能性が低くなっています。当サイトは検索フォームしか入力できるコンテンツがないためコンテンツの入力からの攻撃を受ける可能性は低いのですが、もしコメント機能などを導入するとしたらフォーム用のサーバーを別に用意し安全性の確認をするシステムを通してからマスターサーバーに反映する構成にする予定です。
③アクセス制限による脆弱性対策
初めにも書いたのですが、スレーブサーバー上にあるサイトは外部ネットワークからアクセス出来るのですが、マスターサーバーは許可されたネットワークからしかアクセスできないようになっています。もちろん管理者画面も外部ネットワークからはアクセスできません。当サイトはDockerを利用した構成となっているため、これらのアクセス制限はDockerの脆弱性対策にもなっています。
④ネットワーク構成図
中々想像するのは難しいと思うのでネットワーク構成図を置いておきます。
⑤まとめ
当サイトが行っているWordPressの脆弱性対策について紹介しました!サーバーやネットワークのレベルから対策をしているので、WPのプラグインだけを使った脆弱性対策よりも一歩進んだ脆弱性対策ができています。しかもDockerを利用しているのですぐに再現ができます!当記事のような脆弱性対策に興味がある方はお気軽にご相談ください!