2026年版:macOS クライアント FW・Little Snitch 型ツール、そして「自分の MacBook だけ」途切れる ProxyMac Mac mini への SSH
Apple Silicon M4 の mini にダイヤルインするチームは、香港・日本・韓国・シンガポール・米国をまたいで、ネットワークでいちばん反証しにくいセリフを耳にすることがあります。「SSH は自分以外みんな通るのに、自分の MacBook だけだ。」 東京リージョンが溶けたと決めつける前に、macOS が特定バイナリの外向き TCP を拒否できることを思い出してください。本稿では (1) 組み込み FW とサードパーティ FW が ssh を Safari とは別扱いする理由、(2) 静かなドロップと VPN の DNS 問題を切り分ける 5 行マトリクス、(3) 具体的なトグル付き 6 ステップ・ランブック、(4) MDM 配信のコンテンツフィルタが自動化シェルとどう干渉するかを整理します。ポリシー VPN がトラフィックを迂回させる場合は ゼロトラスト VPN のルーティング、ホスト名が嘘をつくときは リゾルバ障害、パケットが流れたあとは TCP キープアライブ調整 と併読してください。
なぜ疑わしい MacBook が香港の遅延グラフより上流にあるのか
OpenSSH もまたただの Mach-O です。macOS はカーネルが承認した GUI アプリは通しても、アップグレード後にルール DB がずれた結果、Terminal や iTerm から起動した CLI を黙って拒否することがあります。Little Snitch、Lulu、ベンダー製エンドポイント製品は、パケットが ISP に届く 前 に評価されるルールを挿入します—動きは HTTP CONNECT プロキシ と同じですが、拒否は HTTP の 407 ではなく connection timed out として現れます。
- 速い手がかり:
nc -vz host 22は成功するのにsshだけ止まる—バイナリが違えば判定も違います。 - 遅い手がかり:
/usr/bin/sshを~/bin/mysshにコピーしたら急に通る—署名を見るルールが追いつくまでの隙です。 - エンタープライズの手がかり: MDM が「ネットワークフィルタ」ペイロードを入れ、社内 SSID にだけアタッチしている。
組み込み macOS FW とサードパーティのアプリ FW
システム設定 → ネットワーク → ファイアウォールには Apple のパケットフィルタが並びます。「着信はすべてブロック」にしていても外向き SSH を止めることはめったにありませんが、「組み込みソフトウェアを自動許可」でもダウンロードした CLI は未承認のまま残ることがあります。サードパーティはモデルを逆転させ、プロセスごと かつ 宛先ごとに許可が出るまで外向きを deny-by-default にします。プライバシーには強い一方、自動化には厳しく、CI ラッパーが spawn する ssh 子プロセスは IDE が選んだ実行パスを継承します。
よくある IDE 連携を順に試してください。VS Code Remote-SSH は独自ビルドの OpenSSH を同梱することがあり—エンドポイントのコンソールでは Apple 標準バイナリと SHA が別物になります。JetBrains のゲートウェイは ~/.cache 配下に別コピーを fork することもあります。パスごとに許可ルールが要り、「ネット障害」の幽霊を追わずに済みます。ルールを切り替えたらコンソールのタイムスタンプを残し、SOC が syslog の相関 ID を揃えられるようにしてください。
5 行マトリクス:ネットワークへエスカレーションする前に分類する
| 観測できる症状 | 有力な強制レイヤ | 素早い切り分け | エスカレ時のメモ |
|---|---|---|---|
ssh が「Connecting…」完了前に固まる | 外向き deny/SOCKS トラップ | ssh -S none -vvv を実行し、sudo lsof -nP -iTCP -sTCP:SYN_SENT で SYN が張り付いているか確認 | Little Snitch/Lulu のダイアログ時刻を保存 |
| ブラウザはプロバイダ HTTPS に届くが SSH は繋がらない | アプリ単位ポリシー | 同一ホストで curl と ssh を比較 | 許可/拒否行のスクリーンショットを添付 |
| ゲスト Wi‑Fi では通るが社内 SSID で失敗 | MDM の Wi‑Fi ペイロード | システム設定 → VPN とフィルタでプロファイルを切り替え | VPN ルーティング・マトリクス へリンク |
| 即時 NXDOMAIN か長いリゾルバ待ち | DNS(FW ではない) | dig +trace と VPN DNS を比較 | リゾルバガイドを使用 |
| 15〜20 分でアイドル切断 | NAT タイムアウト | ServerAliveInterval 30 | キープアライブ記事 |
クライアント向け 6 ステップ・ランブック
- 冗長に再現:
ssh -vvv user@hostを実行し、失敗が TCP ハンドシェイクの前か後かを保存する。 - ルーティング確認:
route -n get defaultと、ゼロトラスト記事で期待されるフルトンネル設定を突き合わせる。 - バイナリを分離:
/usr/bin/ssh、Homebrew の/opt/homebrew/bin/ssh、scpを個別に試す—ルール ID はばらつく。 - 一時的に許可: プロバイダサブネット向け TCP 22 または割り当て高位ポートの明示許可を追加し、検証後は「すべて許可」を残さない。
- MDM 切り分け: Mac が登録されている場合はプロファイルをエクスポートし、Web コンテンツフィルタや DNS プロキシを参照する識別子を示す。
- ピア証明: 同じ SSID の同僚に同一コマンドを実行してもらう—成功するなら香港/日本/韓国/シンガポール/米国ではなく あなたのプロファイル が原因だ。
MDM、Network Extension、IT がサイレント deny を好む理由
Apple の Network Extension により MDM ベンダーは、エンドユーザーにポップアップを出さずにカテゴリ単位でブロックするカーネル近傍フィルタを配れます。動的ドメインリストを参照するため、プロバイダが CDN エッジを旋回すると昨日の許可リストが消えることもあります。チケットには SSH フロントエンドのバンドル ID(com.apple.openssh とサードパーティクライアント)を明記してください。例外が禁じられている場合は バスティオンガイド にあるドキュメント化済みジャンプから既に信頼されたセグメントに発信する迂回も検討してください。
セキュリティとプラットフォームの初回すり合わせには 45〜90 分 を見積もってください—証拠なしにリージョンを移すより安価です。RCA メモは箇条書き五つに収めましょう:SSID、VPN モード、FW の SKU、ssh の正確なパス、タイムスタンプ付き deny ログ。
組織がスクリーンショット証拠を課すなら、再現中にアクティビティモニタのネットワークタブを「送信バイト」で並べ替えてください—SSH 終了後も忘れた SOCKS ヘルパーがフローを掴んでいることがあります。ポリシー起因の deny に NVRAM リセットは効きにくく、代わりに MDM プッシュ前後で profiles show -type configuration の出力をエクスポートし、Slack の口伝より diff で事実を残してください。
FAQ
iCloud プライベートリレーをオフにすると SSH は直りますか? DNS が邪魔しているときだけです—FW の deny は独立して残ります。それでも完全性のためにリレーをオフにして試してください。
画面共有はどうですか? 同一ホストで VNC は通り SSH だけ失敗することがあり—ルールがポート 22 だけを狙っているときです。VNC の基本 のポート方針と比較してください。
ProxyMac が FW ルールを変えてくれますか? いいえ—mini は届いたパケットを尊重します。パケットが到達するまでクライアント側のエグレスは利用者の責任です。
ノート PC が協力したあとも ProxyMac mini が意味を持つ理由
自機が自分のパケットを拒否しなくなったあとも、レンタルの Mac mini M4 はビルド、notarized アップロード、リモートペアリングに単一テナントで予測可能な計算資源を提供し、HK/JP/KR/SG/US で運用できます。Apple Silicon なら開発者がローカルで踏んでいる SSH と画面共有の挙動と揃いやすく、「自分の環境では動く」ドリフトを減らせます。フットプリントは 料金ページ で比較し、自動化スニペットは ヘルプセンター に置き、FW 変更後の GUI 確認には VNC の手順 を傍に置いておくとよいでしょう。