シンプルだが効果的なファイアウォールを探しています。

シンプルだが効果的なファイアウォールを探しています。

今実行されているものをインストールしましたlinuxmint-19.2-xfce-64bit

すべての着信および発信トラフィックをブロックするようにGufwを設定しましたが、私のシステムはまだIPアドレスを受信して​​います!ソフトウェア管理者はクエリ結果を取得します(ローカルでない場合)、Firefoxは少なくともブロックされます。

それでは、どうすればすべてを止めることができますか?また、プロセスが接続しようとしたときにウィンドウ、ポップアップ、または同様の通知を介して画面に警告を表示したいですか?

1]

ベストアンサー1

Linuxでは、標準ネットワークスタックはソースIPが0.0.0.0のIPパケット転送を禁止します(カーネル2.2から起動可能)。これはDHCPプロトコルに必要なため、DHCPツールはこの制限を回避する必要があります。

したがって、DHCPクライアントはRAWソケットを使用して送信元IP 0.0.0.0で禁止されたパケットを作成し、実際に初期DHCP交換に使用します。これらのパケットは、iptablesを含むネットワークスタックをバイパスします。

見つけることができる迅速で関連性のあるリンクは次のとおりです。

生ソケット使用ガイド
Red Hat Bugzilla – バグ 1269914 – 生のソケットを介して着信パケットをファイアウォールできません。
ISC - DHCPがrawソケットを使用する方法

とにかく、他の目的に必要でない場合でも、イーサネットブリッジを使用してファイアウォールを設定することが可能です。したがって、ブリッジインターフェイスを作成し、その中に独自のイーサネットインターフェイスを奴隷として設定し(ワイヤレスWi-Fiインターフェイスは通常複雑な設定なしではブリッジでは機能しません)、ブリッジを使用するようにDHCPクライアントを設定できます。元のイーサネットインターフェイス。これにより、DHCPクライアントが送信したパケットが切り替わるため、ブリッジファイアウォールを使用する必要があります。ebtables(代わりにnftablesを使用することもできます):

ebtables -A OUTPUT -j DROP

受信したパケットにも同様に適用されます。

ebtables -A INPUT -j DROP

それともしたくない場合は、インターフェイスレベルからより低いレベルに行く必要があります。tc。インターフェイスが呼び出されると仮定しますeth0(画像を読みにくい)。

クラスを追加するシンプルqdiscはフィルタを接続できます:

tc qdisc add dev eth0 root handle 1: prio

すべて一致を追加/すべてのフィルタとタスクを削除する:

tc filter add dev eth0 parent 1: matchall action drop

これで、インターフェイスから何も出ることはできませんが、必要に応じて着信パケットを表示できます。

(次をtc qdisc del dev eth0 root使用してすべてを復元できます。

同様に、すべての着信データをブロックできます。

tc qdisc add dev eth0 ingress
tc filter add dev eth0 ingress matchall action drop

(キャンセル使用tc qdisc del dev eth0 ingress

簡単に言うことはできませんが、このtc方法は4つのコマンドで完全なロックを達成し、ブリッジを使用するときに必要となるNetworkManagerなどの他のネットワークツールを再構成する必要はありません(Wi-Fiでも機能します)。

おすすめ記事