ワードプレス(WordPress)エックスサーバー

「WordPress管理画面へのアクセスが拒否されました」という表示が出た場合、エックスサーバーならWAFを一旦オフにすると解決します

この記事は約4分で読めます。

エックスサーバーのWordPressセキュリティ設定ブログ記事を一所懸命に書いて、いざ「公開」ボタンをクリック! ……としたその瞬間。画面が真っ白になり、見慣れないエラーメッセージが表示されました。
「WordPress管理画面へのアクセスが拒否されました」
「えっ、何か悪いことした?」 「サイトが乗っ取られた?」
一瞬ヒヤッとしましたが、あわてず騒がず対応したところ、無事に解決しました。 今回は、エックスサーバーで記事更新時にブロックされてしまった原因と、その解決方法をシェアします。

WordPress管理画面へのアクセス拒否の原因と対策

表示された警告画面

エックスサーバーのWordPressセキュリティ設定

この画面内にある「WordPressセキュリティ設定」の内容は以下のとおりです。

WordPressセキュリティ設定 | レンタルサーバーならエックスサーバー
レンタルサーバー「エックスサーバー」のご利用マニュアル|ご利用のWordPressにおいて、各種ツールに対する国外からのアクセスの制限や、パスワード総当たり攻撃の防止など、セキュリティを強化する「WordPressセキュリティ設定」のご案内です。

この機会に一度じっくりご覧になってみてください。

原因は記事内の「コード記述」でした

結論から言うと、今回の原因は記事の中に書いた特定の文字列でした。

技術的な記事を書いていて、Google Apps Scriptの拡張子である「code.gs」という文字列を本文に入れていたのですが、どうやらこれがサーバーのセキュリティに引っかかってしまったようです。

書いていたのは昨日のこの記事です。

GoogleAnalytics(GA4)のデータをAPIで読み取って分析する自作アプリ、徐々に改善しています
Gemini × GASで自社専用の「Googleアナリティクス解析アプリ」。対象のWEBサイトのアクセス解析を約1分で作成してくれる自作のWEBアプリです。便利なので活用していますが、使い込んでくると少しずつ改善したくなっていきますね。今回はこのWEBアプリに折れ線グラフを追加してみました。

サーバー側が「おっ、これは外部ファイルを実行しようとする怪しいコマンドか?」と勘違いして、防御してくれたわけですね。これを「WAF(ワフ)の誤検知」と言います。

ブロックされたのはコード部分

上記のコード記述の部分が誤検知されたところとしてあやしいところです。「function」や「try」などは、日常的にもよく使う単語ですが、コードとしても使うので要注意です。数カ所だけならOKでも、頻出するとブロックがかかる場合もありますので、記述するさいの出現回数にも関係ありそうです。

エックスサーバーを守る「WAF」とは?

私が使っているエックスサーバーには、標準で強力なセキュリティ機能が備わっています。

その中心となるのが WAF(Web Application Firewall) です。 簡単に言うと、Webサイトへのアクセスを監視してくれる「門番」のような存在です。

  • XSS(クロスサイトスクリプティング)対策

  • SQLインジェクション対策

  • コマンド対策

など、悪意のある攻撃からサイトを守ってくれる非常に頼もしい機能なのですが、今回のように「普通に記事を書いているだけ」なのに、特定のキーワードに反応して「攻撃だ!」と判断してブロックしてしまうことが時々あります。

対処法:一時的にWAFをオフにする

これを回避して記事を投稿するには、一時的に門番(WAF)にお休みしてもらう必要があります。 手順は以下の通りです。

手順①:サーバーパネルにログイン

エックスサーバーの「サーバーパネル」にログインし、「WordPress」カテゴリにある「WAF設定」をクリックします。

手順②:対象の設定をOFFにする

設定一覧を見ると、「コマンド対策」や「ファイル対策」などがすべて「ON」になっているはずです。 今回はどの項目が引っかかったのか明確ではなかったので、一旦設定を「OFF」に変更しました。

(※特定の原因がわかっている場合は、該当箇所だけOFFにしてもOKです)

手順③:設定が反映されるまで少し待つ

ここがポイントです! 「OFF」にしてすぐに投稿ボタンを押しても、まだエラーが出ることがあります。設定がサーバーに反映されるまで、数分程度待ちましょう。 コーヒーでも一口飲んで、落ち着くのがコツです。

このように「反映待ち」という表示が消えたら大丈夫です。

4. 記事投稿、そして設定を元に戻す

少し待ってから、再度WordPressの投稿画面で「公開(または更新)」ボタンを押すと……

無事に投稿できました!

やはり、WAFが私の記事をブロックしていたようです。

記事が無事に公開されたことを確認したら、必ずサーバーパネルに戻ってWAF設定を「ON」に戻します。

「OFF」のままにしておくと、セキュリティが無防備な状態になってしまいます。 「投稿する時だけOFF、終わったら即ON」 これが鉄則です。

設定をオンに変更すると、また反映待ちになります。このままにしておけば数分後に設定が完了しますので、このまま画面を離れてもOKです。

まとめ:あわてず落ち着いて対応しよう

突然「アクセス拒否」なんて画面が出るとドキッとしますが、大抵の場合はセキュリティ設定がしっかり働いている証拠です。

  1. アクセス拒否されたらWAFを疑う

  2. 一時的にWAFをOFFにする

  3. 反映を待って投稿する

  4. 終わったら必ずWAFをONに戻す

この流れさえ覚えておけば大丈夫。 もし同じような画面が出ても、あわてず騒がず、落ち着いて対応しましょう。