昨日まで普通に使えていたWordPressの管理画面が、今日は「403 Forbidden」と表示されて開けない。あるいは記事を保存した瞬間に403が出る。この症状の原因は複数ありますが、最も多いのはサーバーのWAF(Webアプリケーションファイアウォール)が自社の操作を攻撃と誤認しているケースです。この記事では、原因の切り分けと対処を順に解説します。
403は「サーバーが意図的に拒否している」状態
まずエラーの意味を正確に理解します。
404や500とは性質が異なる
| エラー | 意味 | 原因の方向 |
|---|---|---|
| 403 Forbidden | アクセスが拒否された | 権限・制限の設定 |
| 404 Not Found | ページが存在しない | URLの間違い・削除 |
| 500 Internal Server Error | 処理中にエラーが発生した | プログラムの不具合 |
403は「見つからない」でも「壊れた」でもなく、意図的に拒否されている状態です。つまり、どこかに拒否する設定が存在します。
原因は5つに分類できる
- サーバーのWAFが操作を攻撃と誤検知している
- 管理画面にIP制限がかかっており、接続元IPが変わった
- ファイルやフォルダのパーミッション(権限)設定が不正
- セキュリティプラグインがログイン試行を検知してブロックした
- サーバー側のアクセス制限設定が有効になっている
最も多いのはWAFの誤検知
WAFは攻撃を遮断する仕組みですが、正当な操作まで遮断することがあります。
誤検知が起きやすい操作
WAFは、送信されるデータの中に攻撃で使われる文字列パターンが含まれていないかを見ています。そのため、以下のような正当な操作が引っかかります。
- 記事本文にHTMLタグやコードを含めて保存した
- プラグインやテーマの設定画面で保存した
- カスタムCSSを追加して保存した
- プラグインを新規インストールした
- 特定の文字列を含む問い合わせを受信した
「記事にコードを貼り付けた瞬間に403が出た」なら、ほぼWAFの誤検知です。(正しい操作が攻撃に見えてしまうのは、防御の仕組み上避けられない副作用です)
対処はWAFの一時無効化で切り分ける
主要なレンタルサーバーは、管理画面からWAFのオンオフをドメイン単位で切り替えられます。以下の手順で切り分けてください。
- サーバーの管理画面にログインする
- WAF設定のメニューを開く
- 対象ドメインのWAFを一時的にオフにする
- 数分待ってから、同じ操作を再度試す
- 成功すれば原因はWAFで確定
- 作業完了後、必ずWAFをオンに戻す
WAFをオフにしたまま運用しないでください。作業中だけ無効化し、終わったら必ず戻す運用にしてください。オフのまま放置すると、防御の一段を外した状態が続きます。
恒久対応は除外設定を入れる
同じ操作で毎回403が出る場合、サーバーによってはWAFの検知ログを確認し、特定のルールだけを除外する設定が可能です。全体を無効化するのではなく、引っかかっているルールだけを除外する方が安全です。設定方法はサーバー会社によって異なるため、サポート窓口に検知ログを添えて相談するのが確実です。
IP制限とセキュリティプラグインによるブロック
自分で設定した防御に閉め出されるケースです。
接続元IPアドレスは変わることがある
管理画面にIP制限をかけている場合、オフィスの回線が再接続でIPアドレスを変更したり、外出先や自宅から接続したりすると、403で拒否されます。設定した本人が忘れているケースが非常に多いです。
対処は、現在のIPアドレスを確認し、許可リストに追加することです。サーバーの管理画面またはファイルの設定で追加します。
セキュリティプラグインが自分をブロックすることがある
ログイン試行の回数制限を設定している場合、パスワードを数回間違えると自分のIPがブロックされます。この場合、一定時間待てば解除されることが多いですが、恒久ブロックの設定になっていると自力では戻せません。
この状態では管理画面に入れないため、FTPでプラグインのフォルダ名を変更して一時的に無効化する対応が必要になります。この作業にはサーバーの接続情報が必要です。
ログイン画面のURLを変更していないか確認する
セキュリティ対策でログインURLを変更している場合、標準のURLにアクセスすると拒否される設定になっていることがあります。変更後のURLを社内で共有できているか確認してください。
パーミッション設定が原因のケース
ファイルの権限設定が不正な場合も403になります。
ファイルとフォルダで適切な値が異なる
サーバー上のファイルには、誰が読み書きできるかを示す権限が設定されています。この値が厳しすぎると読み込めず、緩すぎるとセキュリティ上の問題になります。WordPress公式も、セキュリティ強化の観点から適切なパーミッション設定について解説しています(出典 WordPress Developer Resources Hardening WordPress)。
パーミッションが変わる典型的なタイミング
- FTPでファイルをアップロードした後
- サーバー移転の直後
- バックアップから復元した後
- セキュリティ対策として一括変更した後
移転や復元の直後に403が出るなら、パーミッションを疑ってください。
自信がなければ触らない
パーミッションの一括変更は、誤ると別の不具合を招きます。FTPソフトから確認はできますが、変更は影響範囲を理解したうえで行ってください。判断に迷う場合は保守担当かサーバー会社に相談する方が安全です。
サイト全体が403になっている場合
管理画面だけでなく、公開サイト全体が見られない場合の確認です。
サーバーのアクセス制限設定を確認する
サーバーの管理画面には、アクセス制限やメンテナンスモードの設定があります。何かの拍子に有効になっていないか確認してください。制作時のテスト用設定が残っているケースもあります。
海外IPアクセス制限の影響
海外からの不正アクセスを防ぐため、海外IPをブロックする設定が用意されているサーバーがあります。この設定が有効な状態で、海外のサービス経由でアクセスすると403になります。正当なクローラーや外部連携ツールも遮断される場合があります。
契約状態と支払いを確認する
料金未払いでアカウントが制限されている場合も、アクセスが拒否されます。403だけでなく、サーバー会社の案内ページが表示されることが多いのですが、設定によっては403が返ることもあります。
再発を防ぐための設定と記録
一度解決したら、次に備えてください。
誰が何の制限をかけたか記録する
IP制限・WAF設定・セキュリティプラグインの設定は、設定した本人しか知らない状態になりがちです。運用マニュアルに、以下を記録してください。
- WAFの有効・無効状態と、除外設定の有無
- IP制限の有無と、許可しているIPアドレス
- ログインURLを変更しているか
- 使用しているセキュリティプラグインと設定内容
- ブロック解除の手順と、対応できる担当者
作業前にWAFの状態を確認する習慣をつける
コードを含む記事の投稿や、プラグインの設定変更を行う前にWAFの状態を確認しておけば、403が出ても原因を即座に判断できます。
自力で戻せない事態に備える
管理画面に入れない状態からの復旧には、FTPまたはサーバー管理画面へのアクセスが必要です。この情報が社内にない状態は、403が出た時点で打つ手がなくなることを意味します。契約情報とログイン情報の保管場所を、平時に整理しておいてください。
最後に
403 Forbiddenは、サーバーが意図的にアクセスを拒否している状態です。原因の多くはWAFの誤検知で、サーバー管理画面から一時的に無効化して切り分ければ、数分で判別できます。次に多いのがIP制限とセキュリティプラグインによる自己ブロックです。いずれも自分でかけた防御に閉め出されているケースであり、誰がどの制限をかけたかを記録しておくことが最大の予防策になります。
Web管理では、月額1万円からWordPressサイトの運用保守を代行しています。403エラーの原因切り分け、WAFの除外設定、セキュリティ設定の整理まで対応可能です。「管理画面に入れなくなった」という緊急のご相談も歓迎します。

