HTTPS経由でDNSを使用するブラウザの場合、システムLinuxファイアウォールを介してウェブサイトをブロックできますか?

HTTPS経由でDNSを使用するブラウザの場合、システムLinuxファイアウォールを介してウェブサイトをブロックできますか?

オペレーティングシステム:Fedora 34

ブラウザ:DoHが有効なMozilla Firefox

コアのLinux設定(Webブラウザ拡張などではありません)を介してWebサイトをブロックしようとしています。問題は私が使用しているDoHの内部にあります。 DoHを無効にすると、すべてがコンソール内の設定と完全に機能します。


# vi /etc/hosts


0.0.0.0 www.facebook.com

iptablesを編集しようとしましたが、やはり動作しませんでした。


# iptables -A OUTPUT -p tcp -d www.facebook.com --dport 443 -j DROP

# service iptables save

# service iptables restart

# iptables -L

私の知る限り、システムレベルでWebアドレスにアクセスするのを防ぐことは不可能ですか?

答え1

iptables できるホスト名でブロックman iptables:

-s, --source address Source specification. Address can be either a network name, a hostname, a network IP address (with /mask), or a plain IP address.

これがうまくいかないのは、iptablesローカルで設定されたリゾルバを使用してFacebookのIPアドレスを見つけるのに対し、Firefoxは他のDNSプロバイダからアドレスを取得するためです。 Facebookはクラウドを使用しているため、IPアドレスはその他DNSプロバイダーと地域の間に違いがあり、これは最終的にiptablesソリューションが機能する可能性が低いことを意味します。

代わりに、Firefox のグループ ポリシーを使用して、次のウェブサイトをブロックできます。https://github.com/mozilla/policy-templates/blob/master/README.md#websitefilter https://github.com/mozilla/policy-templates/releases

たとえば、ここで次の答えを確認してください。https://support.mozilla.org/en-US/questions/1260799

答え2

IMO、入るほうがいい両方ネットワーク層とアプリケーション層。つまり、iptablesネットワーク層の単純なルールを使用し、プロキシを使用して許可されているものと許可されていないものの複雑で詳細な制御を提供します。

プロキシ設定(例:イカそして、ポート80と443(Squidを除く)への直接アクセスをブロックします。

ゲートウェイ/ファイアウォールが適度に強力なLinuxボックスである場合、Squidは同じシステムで実行できます。 VMまたはコンテナでSquidを実行できますが、tcp_outgoing_addressSquidに専用のIPアドレスを割り当てますsquid.conf。このIPアドレスは、このポート(OUTPUTチェーンまたはLANがプライベートアドレスを使用している場合はNATチェーン)の外部ホストにのみ接続できます。

それ以外の場合は、専用のLinuxベースのルーター(例:オープンWRTまたは類似)、年をとるCPUの性能が低く、RAMが不足しているモデルは私の役割を果たすことができないかもしれませんが、過去5年間で生産されたほとんどの最新モデルは十分に強力です。これは、過去20年間に生産されたほぼすべてのサーバークラスのコンピュータまたは再設計されたデスクトップに当てはまります。専用マシンで実行する必要がある場合は、Raspberry Piまたは同様のデバイスでも可能です。

SquidだけがWebサイトにアクセスできるように何かを設定しているため、Squid設定を使用して特定のホストを許可または拒否できます。オプションで他のプログラムと一緒に使用できます。イカガード

また、独自のキャッシュDNSリゾルバを実行してください(例:束縛されていない)とイカボックスがそれを使用していることを確認してください。厄介なもの/etc/resolv.conf(奇妙なsystemd-resolved abominationを含む)を無効にしてください。静的構成またはDHCP経由でもDNSリゾルバーを使用してクライアントコンピューターを構成する必要があります。

関連情報