家庭用ルーターのDMZホスト設定は、セキュリティゾーンのように聞こえますが、実際にはすべてを転送する仕組みです。インターネットから届き、他のどのルールにも一致しなかったものは、選択したLANアドレスへ送られます。これは受信サービスを動かすための近道であり、一台のMacへ非公開で到達するための設計ではありません。有効にする前に、狭いルールやプライベート経路と比較してください。

DMZ設定が実際にしていること

ほとんどの家庭用ファームウェアで、このラベルが意味するのは正確に一つです:一致しない受信トラフィックは指定したホストへ転送されます。別のサブネット、ファイアウォールゾーン、分離境界を作るわけではありません。選ばれたコンピューターは、ルーターがどう扱えばよいか分からなかったものすべてを受け取ります。

だからこそこの設定は壊れたサービスを直すのには非常に効果的で、他に何が届くかを制限するのには非常に弱いのです。ルーターは広く、言われたとおりに動いています。ファームウェアには、望んだ要求と望まなかった要求を分けるものは何もありません。

三つのMacの役割、三つの正面のドア

何かを開く前に、Macが実際に何をしているかを書き出してください。外へ接続するクライアントには、受信ルールはまったく必要ありません。サーバーには独自のリスナー、独自の認証、狭いトランスポートが必要です。画面共有の対象にはプライベート経路と、そのサービスが許可するユーザー一覧が必要です。これらは三つの異なる設計であり、DMZ設定はどれにもうまく当てはまりません。

sudo lsof -nP -iTCP -sTCP:LISTEN

それをMacで実行して一覧を読んでください。もし 何も待ち受けていなければ、どの受信ルールもサービスを出現させません。

比較すべきは利便性ではなく露出

すべてを転送すると、有効にしたことを忘れていたサービスも含め、Macが公開するすべてのポートに攻撃対象面が広がります。狭い転送は一つのポートをインターネットに公開し、それでもアプリケーション自身の認証が必要です。プライベート経路は公には何も公開せず、その代わりアクセスの前にトンネルを要求します。

便利な選択肢は同時に開いたまま失敗する選択肢でもあるため、ここで利便性は決め手になりません。Macが外へ接続するだけなら、受信の開口部の正しい数はゼロであり、その一文はポートを開く前に二度読む価値があります。そうでない選択は、不要な露出を受け入れることを意味します。その露出を書き留めれば、選択はたいてい自然に決まります。

停止せずにすべて転送を置き換える

すべて転送を置き換えることは、ファイアウォールの変更である前に棚卸しの作業です。どの正当なサービスが現在その広いルールに依存しているかを見つけ、置き換えがそれぞれで機能することを確認します。そのうえでDMZの項目を削除し、設計が必要とする狭いルールかプライベートアクセスだけを追加します。移行中に両方の入口を開けたままにするのが、一時的な回避策が恒久化する道です。

経路にかかわらず、ホストのファイアウォールとサービス自身の認証はそのままにしておいてください。トンネルが守るのはトランスポートであり、同じマシン上にたまたま置かれた公開リスナーではありません。保守と更新が依然としてサービスの安全性を決め、ファームウェアの更新は広いルールが通すものを静かに変え得ます。製造元のドキュメントも、DMZホスト機能について、より少ない言葉で同じことを述べています。

関連記事