「WordPress を導入したけれど、セキュリティ対策について不安」という方も多いのではないでしょうか。
近年 WordPress を狙ったハッキングが増えてきていますので、しっかりとセキュリティ対策を実施し、皆様のウェブサイトを守ってください。
今回の記事では WordPress を悪意ある攻撃から守るために必要な WAF と、『 Site Guard 』というプラグインについてご紹介します。
目次
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
WAF (Web Application Firewall) とは
WAF (Web Application Firewall:ウェブアプリケーションファイアウォール) は、Web サイトの脆弱性をついた攻撃からサイトを守ります。
動的コンテンツを設置したウェブサイトの場合、XSS 対策、SQL インジェクション対策、CSRF 対策など様々な脆弱性を考慮しながらサイト構築をする必要があります。
人が作るプログラムには、脆弱性ゼロの完璧なプログラムはできないでしょうし、運用上セキュリティアップデートが出てから、本番に適用するまで数日かかる場合もあります。
脆弱性が無いプログラム作成を心がけることに加えて、WAF を導入することで、安全な Web サイトを構築することができます。
(*) WAF の読み方は「ワフ」です。
WAF の利用料
WAF の利用はレンタルサーバーに標準装備されている場合は無料で使うことができます。ついていない場合はクラウド型の WAF を契約したり、サーバーに WAF をインストールしたりすることで利用することができます。
昨今のレンタルサーバーには WAF が標準装備されており、基本無料で使えますので、案件の必須要件に入れても良いのかなと思っています。
レンタルサーバーのセキュリティ対策については、こちらの記事で解説しています。
レンタルサーバーのセキュリティを高める「WAF」の特徴や種類、設定方法について解説!
WordPress に WAF を導入する方法
ここからは CPI の ACE01 に WordPress を導入し、WAF を設定する方法をご紹介します。
WordPress のバージョンは2019年1月時点の最新版 5.0.3を使います。
利用する環境
- WordPress5.0.3
- サーバー:ACE01
WordPress のインストール
WordPress の導入は CPI オンラインヘルプの、WordPress のインストールを参照ください。
CMS インストーラーを利用しますので、簡単にインストールすることができます。
WAF の利用
WAF の利用は、CPI の ACE01 を利用している場合は、デフォルトで ONn になっています。
WordPress をインストール後、カスタマイズし、表示確認や、記事投稿が正常にできる場合は設定完了です。
Forbidden access が表示される場合
WordPress のカスタマイズをしていると、導入する Plugin の種類によって、Forbidden access が表示されることがあります。
WAF が原因でページが表示できないという理由で WAF を無効にしてしまう方がいますが、WAF を無効にするのではなく、除外設定を実施してください。
WAF 除外設定
ACE01 のウェブコントロールパネルにログインし「制作ツール > WAF 」から、ログの表示を行います。
上記のサンプルでは、URL「******.smartrelease.jp/wp/」で、「s=%3Cscript%3Ealert%28%27hoge%27%29%3C%2Fscript%3E」 に 対して、「xss-tag-1」 というシグネチャでブロックされているのがわかります。
シグネチャとは、不正な攻撃パターンの種類です。
クエリを指定して除外設定
SiteGuard_User_ExcludeSig_With_ParamName [ シグネチャ ID|シグネチャ名|urldecode|all|clear] [パラメータ名 ]
記述例
SiteGuard_User_ExcludeSig_With_ParamName xss-tag-1 s
上記の例の場合「s」クエリのみ、xss-tag-1 を除外することができます。
下記ログのようにクエリが付いていない場合は、2つの除外方法があります。
ファイルを指定する場合
<Files ~ "sample\.php$"> SiteGuard_User_ExcludeSig xss-tag-1 </Files>
sample.php の xss-tag-1 は除外になります。
今回の場合は「 /ckeditor/xss 」ディレクトリですので上記方法での除外はできません。
Apache の設定ファイル、httpd.conf が操作できるのであれば、ディレクトリを指定して除外することも可能です。
<Directory "/var/www/html/ckeditor/xss"> SiteGuard_ExcludeSig xss-tag-1 </Directory>
しかし CPI の ACE01 は httpd.conf の設定を変更ができないので、次のように除外します。
「 /ckeditor/xss 」フォルダを作成します。その中に「 .htaccess 」を設置し、WAF の除外設定を記述します。
SiteGuard_ExcludeSig xss-tag-1
面倒ですが、この設定作業を行うことで、特定の箇所でのみ WAF の除外設定を実施することができ、その他は WAF を有効に保てます。
SiteGuard WP Plugin
WAF の設定に加えて「 SiteGuard WP Plugin 」を有効にすることで、さらにセキュリティを強化することができます。
WordPress の管理画面にログインし、プラグインから SiteGuard WP Plugin を「有効化」します。
有効化するだけで、ログイン URL が変更になったり、ログイン画面に入力項目が増えたりして、不特定多数を狙った攻撃に、かなり有効に作用します。
さいごに
WordPress に WAF、SiteGuard WP Plugin を導入し、サイトを安全に運営する方法を解説しました。
- WAF はオフにしないで除外設定を利用する
- SiteGuard WP Plugin を有効にする
これらを実施することで、簡単に安全なサイトを構築することができ、不特定多数を狙った攻撃に対してかなり有効に作用します。
WordPress がハッキングされるケースが多発していますので、実施を心がけてください。