Mac でアプリのインターネット通信をブロックする方法
Mac で特定のアプリやドメイン、不要な送信通信をブロックする方法を解説します。macOS のファイアウォール、hosts ファイル、TinyShield を比較し、手順を詳しく紹介します。
アプリの中には、本来の作業にインターネットを必要としないものもあります。それでも、写真編集アプリや PDF ビューア、一度購入しただけのゲームが、バックグラウンドで分析データを送信したり、ライセンスを確認したり、広告をダウンロードしたりしていることがあります。
そのアプリだけインターネットに接続できないようにして、ほかはすべてそのまま使いたい。Mac ではどうすればよいのでしょうか?
このガイドでわかること:
- macOS 標準のファイアウォールで送信通信をブロックできない理由
- hosts ファイルで Web サイトやドメインをブロックする方法
- TinyShield で特定のアプリ、特定のドメイン、または不明な通信をすべてブロックする方法
- ルールをテストし、安全に元に戻す方法
アプリをブロックする理由
よくある理由は次のとおりです。
- プライバシー:分析、テレメトリ、トラッキングの通信を止める
- 集中:作業中は気が散るアプリをオフラインにしておく
- セキュリティ:信頼できないアプリがデータを送信するのを止める
- 帯域幅:低速な回線やモバイル回線で、バックグラウンドの大きなダウンロードを止める
- テスト:サーバーに接続できないとき、自分のアプリがどう動くかを確認する
macOS のファイアウォールで送信通信はブロックできる?
できません。多くの人が最初に試す方法なので、説明しておきます。
- システム設定 → ネットワーク → ファイアウォールを開きます。
- ファイアウォールをオンにして、オプションを開きます。
- アプリごとに受信接続をブロックできます。
macOS のファイアウォールは、外部から入ってくる接続から Mac を守るものです。アプリがインターネットへ出ていく接続は止められません。アプリのデータ送信をブロックするには、送信(アウトバウンド)通信を制御するファイアウォールが必要です。
方法 1:hosts ファイルでドメインをブロックする
/etc/hosts ファイルを使うと、ドメインをどこにもつながらないアドレスに向けられます。Mac 上のすべてのアプリに適用されます。
-
ターミナルを開きます。
-
hosts ファイルを編集します。
sudo nano /etc/hosts -
ブロックしたいドメインごとに 1 行追加します。
0.0.0.0 analytics.example.com -
Control + Oで保存し、Control + Xで終了します。 -
DNS キャッシュをクリアします。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
メリット:
- ✅ 標準機能で、無料
- ✅ わかっているドメインをいくつかブロックするのに便利
制限:
- ❌ 特定のアプリではなく、すべてのアプリを対象にドメインをブロックする
- ❌ ワイルドカードが使えないため、サブドメインを 1 つずつ書く必要がある
- ❌ IP アドレスで直接接続するアプリや、独自の DNS を使うアプリはブロックできない
- ❌ 先にドメイン名を知っておく必要がある
- ❌ 何を変更したか忘れやすい
方法 2:TinyShield でアプリをブロックする
TinyShield は、選んだものだけを正確にブロックできる Mac ネイティブのファイアウォールです。アプリ全体、特定のドメイン、ワイルドカードドメイン、IP アドレスをブロックできます。
アプリ全体をブロックする
- TinyShield をダウンロードし、Network Extension のセットアップを完了します。
- ブロックしたいアプリを開いて、TinyShield に表示されるようにします。
- TinyShield の一覧でそのアプリを探します。
- アプリを右クリックし、Add to Block List を選択します。
- もう一度アプリを使ってみます。その接続が、ブロック済みとして赤で表示されるようになります。
特定のドメインだけをブロックする
アプリ全体をブロックすると、サインインやアップデート、同期ができなくなることがあります。止めたいのはトラッカー 1 つだけ、ということもよくあります。
- TinyShield でアプリを展開し、ドメインと IP アドレスを表示します。
- 分析用のホストなど、ブロックしたいドメインを右クリックします。
- Add to Block List を選択します。
- アプリのそれ以外の通信は、そのまま使えます。
サブドメインもまとめてブロックしたい場合は、Tools → Block List を開き、*.example.com のようなワイルドカードルールを追加します。

方法 3:不明な通信をすべてブロックする
どのアプリをブロックすべきか、まだわからないこともあります。そんなときは、新しいアプリが接続する前に確認してほしいはずです。
TinyShield には 3 つの接続モードがあります。ウインドウ右上のボタンから選びます。
| モード | 動作 | おすすめの用途 |
|---|---|---|
| Allow All | Block List にあるもの以外は、すべて接続できる | 普段使い |
| Require Approval | 新しいアプリは、許可またはブロックするまで待機する | 不明なアプリを見つける |
| Block All | Allow List にあるもの以外は、すべてブロックする | 厳格なプライバシー保護や、作業に集中したいとき |
Require Approval は、不要な通信を始まる前にブロックするいちばん簡単な方法です。
- ✅ 新しいアプリが接続しようとすると、TinyShield がその接続を一時停止
- ✅ アプリ名、ファイルパス、コード署名、接続先を確認できる
- ✅ Allow(許可)か Block(ブロック)を選ぶと、TinyShield がその選択を記憶
- ✅ あとから Tools → App Connection Decisions で変更できる
詳しくは Require Approval ガイドと Block All ガイドをご覧ください。Require Approval と Block All は TinyShield PRO の機能です。
方法の比較
| macOS のファイアウォール | hosts ファイル | TinyShield | |
|---|---|---|---|
| 送信通信のブロック | ❌ | ✅ ドメイン単位 | ✅ |
| 特定のアプリのブロック | ❌ | ❌ | ✅ |
| 特定のアプリの特定のドメインをブロック | ❌ | ❌ | ✅ |
| ワイルドカードドメイン | ❌ | ❌ | ✅ |
| IP アドレスでのブロック | ❌ | ❌ | ✅ |
| 新しいアプリの接続前に確認 | ❌ | ❌ | ✅(PRO) |
| ターミナル不要 | ✅ | ❌ | ✅ |
安全にブロックするためのヒント
- 小さく始める:アプリ全体をブロックする前に、まずドメインを 1 つブロックしましょう。
- すぐにテストする:アプリで操作をやり直し、行が赤くなるかを確認しましょう。
- 副作用に注意する:ブロックしたアプリは、サインイン、アップデート、同期ができなくなることがあります。
- 役割がわかっていない限り、macOS のシステムサービスはブロックしないでください。
- ルールを整理する:Block List を見直して、不要になったルールは削除しましょう。
まとめ
- macOS のファイアウォールでブロックできるのは、受信接続だけです。
- hosts ファイルではいくつかのドメインをブロックできますが、特定のアプリだけをブロックすることはできません。
- TinyShield なら、右クリックでアプリ、ドメイン、ワイルドカード、IP アドレスをブロックでき、新しいアプリが接続する前に確認することもできます。
どのアプリをブロックすべきかまだわからない場合は、まず Mac でインターネットを使っているアプリを確認する方法をご覧ください。ファイアウォールを比較しているなら、Little Snitch と LuLu の比較をお読みください。
TinyShield をダウンロードして、1 分もかからずに最初のアプリをブロックしてみましょう。
Mac を守る準備はできましたか?
TinyShield のネットワーク監視と保護の機能をぜひお試しください。パフォーマンスを損なうことなく、Mac を脅威から守ります。
TinyShield をダウンロード