
2026/04/09 9:26
Linux 用 LittleSnitch
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Little Snitch for Linux は、ウェブベースのネットワークモニターであり、Chromium 系ブラウザ上の Progressive Web App(PWA)として、または Firefox の PWA 拡張機能を介してインストールすることもできます。
デーモン(
littlesnitch)を実行すると、http://localhost:3031/ でインターフェースが公開されます。ダッシュボードはアプリケーション別の現在および過去のトラフィックを表示し、ソート/フィルタリングが可能であり、個々の接続をワンクリックでブロックできます。時間範囲をズームできるトラフィック図は、自動的に選択された期間に合わせてリストをフィルタリングします。ブロックリストはリモートソースから自動的に取得され、サポートされる形式には「行ごとに1つのドメインまたはホスト名」、
/etc/hosts スタイルのエントリ、および CIDR 範囲が含まれます(ワイルドカード、正規表現、グロブパターンは受け付けません)。効率性を重視する場合はドメインベースのリストがおすすめです。人気のある公開ソースには Hagezi、Peter Lowe、Steven Black、および oisd.nl があります。ルールは特定のプロセス、ポートまたはプロトコルを対象にでき、ブロックリストと組み合わせてドメインレベルで動作します。デフォルトではウェブインターフェースは任意のローカルプロセスからアクセス可能ですが、
web_ui.toml を介して認証を有効にできます。Little Snitch は eBPF を使用してアウトゴーイング接続を観測し、そのデータを統計追跡とルール適用を行うデーモンへ送ります。eBPF プログラムおよび UI の全ソースコードは GitHub にあります。設定ファイルは
/var/lib/littlesnitch/config/ にあり、編集は /var/lib/littlesnitch/overrides/config/ で行うべきです。主要なオーバーライドファイルには web_ui.toml(アドレス、ポート、TLS、認証)、main.toml(未一致接続のデフォルトアクション)、および executables.toml(アプリケーションのグループ化に関するヒューリスティック)が含まれます。Linux バージョンはプライバシー重視であり、強化ツールではありません。トラフィックが非常に多い場合、キャッシュオーバーフローが発生し、macOS の深層パケット検査と比べてパケットからプロセスへの正確なマッピングが制限されることがあります。
本文
はじめに
インストールが完了したら、ターミナルで
littlesnitch を実行してユーザーインターフェイスを開くか、http://localhost:3031/ に直接アクセスしてください。URLをブックマークするか、Progressive Web App(PWA)として登録すると便利です。Chromium 系ブラウザなら標準でサポートされており、Firefox ユーザーも Progressive Web Apps 拡張機能を使えば同様に利用できます。
接続の監視
「Connections」ビューはほとんどの操作が行われる場所です。アプリケーション別に現在・過去のネットワーク活動を一覧表示し、ルールやブロックリストで遮断されている項目、データ量やトラフィック履歴も追跡します。最終更新日時、データ量、名前でソートしたり、必要な情報だけに絞ることで、予期せぬ動きをすぐに発見できます。接続を遮断するにはワンクリックです。
画面下部のトラフィック図は時間経過とともにデータ量を示します。ドラッグして時系列範囲を選択するとズームインし、その期間だけの活動が「Connections」リストに表示されます。
ブロックリストの管理
ブロックリストは不要なトラフィックカテゴリ全体を一括で遮断できます。Little Snitch は遠隔ソースから自動的にダウンロードし、最新状態を保ちます。以下の形式がサポートされています。
- 行ごとにドメイン名
- 行ごとにホスト名
スタイル(IP アドレス+ホスト名)/etc/hosts- CIDR ネットワーク範囲
ワイルドカード、正規表現・グロブパターン、URL ベースの形式はサポート外です。選択肢がある場合はホストベースよりもドメインベースのリストを優先すると効率的に処理できます。有名なブランドとして Hagezi、Peter Lowe、Steven Black、oisd.nl などがあります。
注意:macOS の Little Snitch が作る
フォーマットは Linux バージョンでは互換性がありません。.lsrules
独自ルールの作成
ブロックリストはドメインレベルで機能しますが、ルールを使えばさらに細かく制御できます。ルールは特定プロセスを対象にしたり、ポート・プロトコルをマッチさせたり、必要な範囲で設定可能です。「Rules」ビューではソートやフィルタリングができるため、リストが増えても管理しやすくなります。
アクセスの保護
デフォルトでは Little Snitch の Web インターフェイスはローカルマシン上のどんなプロセスからでも開かれています。悪意あるアプリケーションが、理論的にはルールの追加・削除、ブロックリストへの改ざん、フィルターを完全にオフにすることが可能です。
もし心配であれば Little Snitch は認証を必須に設定できます。詳細は以下の 高度な設定 をご覧ください。
内部構造
Little Snitch は Linux のネットワークスタックへ eBPF(拡張ベースプログラム)をフックしており、カーネル内で発生するイベントを監視・介入できます。eBPF プログラムはアウトゴーイング接続を観測し、データをデーモンに送ります。このデーモンが統計情報を集計し、事前にルールチェックを行い、Web UI を提供します。
eBPF プログラムと Web UI のソースコードは GitHub で公開されています。
高度な設定
UI は最もよく使われる設定だけを表示しています。より技術的な項目はプレーンテキストファイルで設定でき、
littlesnitch デーモンの再起動後に反映されます。
-
デフォルト設定は
にあります。直接編集せず、変更したいものを/var/lib/littlesnitch/config/
にコピーして編集してください。Little Snitch は常に override を優先します。/var/lib/littlesnitch/overrides/config/ -
主なファイル
– ネットワークアドレス・ポート・TLS・認証設定。複数ユーザーが UI にアクセスできる場合は認証を有効化し、ループバック以外へ公開する場合は TLS を適切に設定してください。web_ui.toml
– 接続が何にもマッチしないときの動作。デフォルトは許可ですが、許可リスト方式を採用したい場合は拒否に変更できます。ただし誤ってコンピュータからアクセスできなくなる恐れがありますので注意してください。main.toml
– アプリケーションを合理的にグループ化するためのヒューリスティック。実行ファイルパスからバージョン番号を除去し、同一アプリの異なるリリースが別項目として表示されないようにします。また、シェルやアプリケーションマネージャーとみなすプロセスを定義し、接続を正しい親プロセスへ帰属させます。これらはコミュニティのフィードバックで改善していく推測ベースです。executables.toml
eBPF プログラムと Web UI は自前のビルドに差し替えることも可能です。ソースコードは GitHub で入手できます。再び、Little Snitch は override 内のバージョンを優先します。
制限事項について一言
Linux 用 Little Snitch はプライバシー保護を目的としており、安全性ではありません。この区別が重要です。macOS 版はより複雑な仕組みで強力な保証が可能ですが、Linux 版は eBPF を基盤としています。eBPF はストレージサイズやプログラムの複雑さに厳しい制限があります。トラフィックが多い場合、キャッシュテーブルがオーバーフローし、すべてのネットワークパケットをプロセスや DNS 名に正確に結びつけることが困難になります。また、IP アドレスから元々問い合わせたホスト名を再構築するにはヒューリスティックが必要で、確実性はありません。macOS 版では深層パケット検査(deep‑packet inspection)により信頼性が向上しますが、ここでは利用できません。
ソフトウェアの挙動を把握し、正当なアプリケーションからの「お家電話」をブロックしたい場合は Linux 用 Little Snitch は有効です。決意のある攻撃者に対してシステムを強化するには適切ではありません。
ライセンス
Linux 用 Little Snitch は 3 つのコンポーネントで構成されています。eBPF カーネルプログラムと Web UI は GNU GPL バージョン2 の下で公開され、GitHub で入手可能です。デーモン(
littlesnitch --daemon)は商用製品ですが、無料で使用・再配布できます。