ファイアウォール(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が推奨する方法でもあります。