コンテンツにスキップ

ファイアウォール(UFW)

MyPanelはファイアウォールメニューでUFW(Uncomplicated Firewall)を視覚的に管理します。

  • 概要タイル — ファイアウォールのオン/オフ、受信ポリシー、ルール数、SSH/パネルのポートが開放されているかどうかをひと目で確認できます。
  • UFWの有効化 / 無効化。有効化の際、パネルはロックアウトを防止します。SSHまたはパネルのポートがまだ開放されていない場合、アクセスを失わせる代わりに*「開放して有効化」または「それでも有効化」*を尋ねます。
  • デフォルトポリシー — 受信をDenyに設定すると、明示的に開放したポートのみが到達可能になります(安全なファイアウォールの核心です)。
  • 一般的なポート(SSH、HTTP、HTTPS、MySQL、PostgreSQL…)用のクイックチップでルールを追加でき、ワンクリックでフォームを自動入力できます。各ルールには以下があります。
    • アクション: Allow / Deny / Limit(接続レート制限 — SSHのパスワード推測攻撃を遅延させます)。
    • ポート + プロトコル(TCP/UDP/両方)。
    • 送信元(任意): 特定のIP/CIDRに対してのみポートを開放します(例: オフィスのIPからのみSSHを許可)。
  • ルールの編集 — ルールをフォームに読み込み直します。保存すると古いルールを削除して新しいルールを作成します(UFWはその場での編集ができません)。
  • ルールの削除。SSH/パネルのポートを開放するルールにはCriticalのタグが付き、削除前により強い確認が求められます。

対応するIPv4とIPv6のルールは、リストを整理するために1つの行にまとめられますv4·v6と表示)。

Cloudflare — 訪問者の実IPを復元する

Section titled “Cloudflare — 訪問者の実IPを復元する”

ファイアウォールページにはCloudflare — 訪問者の実IPを復元カードがあります。サイトがCloudflareのプロキシ配下にある場合に有効化してください。nginxはCloudflareのIPではなく、CF-Connecting-IPヘッダーから訪問者の実IPを読み取るようになります。

これはレート制限とブルートフォース対策が正しく動作するために必須です。さもなければすべてのリクエストがCloudflareのIPを持つことになり、レート制限がすべての訪問者をブロックし、Fail2banがCloudflareのIP範囲をBANしてしまう可能性があります。パネルは最新のCloudflareのIP範囲を取得し(組み込みのフォールバックリスト付き)、適用前にnginx -tを実行します。不正な設定は自動的にロールバックされます。

Cloudflare配下にないドメインはどうなりますか?

Section titled “Cloudflare配下にないドメインはどうなりますか?”

安全 — 影響はありません。 設定はhttpレベル(すべてのドメイン)で適用されますが、nginxがCF-Connecting-IPヘッダーで訪問者IPを置き換えるのは、接続がCloudflareのIP範囲のいずれかから来た場合のみです。

  • 訪問者がCloudflareを経由しないドメインに直接アクセスした場合 → その送信元IPはCloudflareの範囲ではない → nginxはヘッダーを無視し、通常どおり実IPを保持します。
  • 非CFドメインへのリクエストにはCF-Connecting-IPヘッダーが含まれません(Cloudflareが付加するため)。そのため置き換えるものがありません。
  • スプーフィング耐性: 直接接続してCF-Connecting-IPヘッダーを偽装する者がいても、その送信元IPは信頼リストに含まれないため、何の効果もありません

したがって、このカードを有効化することは混在サーバー(一部のドメインはCloudflare配下、一部はそうでない)でも安全です。これはCloudflareが推奨する方法でもあります。