何かうまくいかなかったようです。時間を置いてもう一度お試しください

ウエブサイトを開設していると外部からの攻撃に対するセキュリティに気をつける必要があります。様々な攻撃に対処するにはいくつもの方法がありますが、その一つにWAF(ウェブアプリケーションファイアウォール)があります。
WAFは、ウェブサイトに対するクロスサイトスクリプティングやSQLインジェクションなどの攻撃パターンを検知してブロックします。多くのレンタルサーバーではこのWAFの機能を装備しており、より安全なサイト運営ができるようになっています。

 

ワードプレスとWAFの関係

ところが、このWAFの影響でワードプレスを使っているときに管理画面であるダッシュボードからの更新作業ができなくなることがあります。
カスタマイザーで更新できない
スタイルシートをちょっと変更、なんて時にカスタマイザーは便利なのですが、時間をおいても公開できません。
 
先程のWAFが、ワードプレスの更新作業を攻撃パターンと認識してブロックしているようです。
プラグインなど、他に原因があることもありますが、投稿の編集や新規追加ができるのに、カスタマイザーだけがおかしい場合はWAFが原因の可能性が大です。
 

ロリポップWAFの設定

ロリポップWAFの設定
レンタルサーバーのロリポップを例にあげると、サーバーのWAFの設定はドメインごとに切り替えができるようになっています。(ユーザー専用ページ>セキュリティ>WAF設定)
1 ドメインの一覧にWAFが有効になっているかどうか設定状態を見ることができます。
2 有効と無効を切り替える設定変更のボタンがあります。
3 攻撃として記録されたログを見ることができます。
 
ここで、問題のあるドメインのWAFを無効にして、ワードプレスが正常に動くようになるかチェックします。
[無効にする]ボタンをクリックしていったんWAFを無効にします。
すぐには設定変更が反映されないので10分ほど待ってからワードプレスで更新作業をしてみます。
何事もなく更新作業が公開されればWAFが原因ですね。WAFを無効にしたままだとせっかくのセキュリティが無駄になってしまいます。更新作業のたびに無効と有効を切り替えるのも面倒です。何かいい方法はないでしょうか?
 

WAFのログを見る

3 WAF設定の[ログ参照]をクリックしてWAFが検知してブロックした記録を見てみます。
ロリポップWAFのログ
4 ドメイン名 ワードプレスを公開しているドメインです。
5 アクセスした日時から自分自身がアクセスしたログかどうか判断します。
6 攻撃と判断されたURL
7 アクセス元のIPです、自分のアドレスか判断します。
8 検出されたシグネチャは、攻撃パターンの定義です。
本当に外部からの攻撃を受けていないのであれば、カスタマイザーで[公開]できなかった分のログが記録されているはずです。
全部自分自身のアクセスですからアクセス元IPはすべて同じはずですので、このIPからのアクセスのWAFだけを無効にすればセキュリティを損なわずにできそうです。
 

IPアドレスを使ってWAFを無効にする

IPアドレスを使ってWAFをコントロールするには.htaccessファイルの書き換えをします。
ワードプレスをインストールしたディレクトリにある.htaccessファイルの最後に以下のように追加しておきます。

<IfModule mod_siteguard.c>
  SiteGuard_User_ExcludeSig ip(xxx.xx.xxx.xxx)
  SiteGuard_User_ExcludeSig ip(ooo.ooo.oo.ooo)
</IfModule>

xxx.xxx.xxx.xxやooo.ooo.oo.oooの部分に7[アクセス元IP]で表示されている自分のIPを記入します。
自宅や職場など複数のIPからアクセスする場合はSiteGuard_User_ExcludeSig ip(ooo.ooo.oo.ooo)のように、複数のIPを追加しましょう。
※.htaccessファイルの書き換えに不具合があると、サイトが表示されないなんて事態にもなるので、バックアップを用意して書き換え前に戻せるようにしておくなど、くれぐれも慎重に行ってください。