
Facebook、Twitter、Gmailなどhttpsでも実行されている組織内の一部のウェブサイトをブロックしたいと思います。上部経営陣の指示に従って、ここではイカを使用しないでください。 Untangle Liteパッケージとiptables
。
イカに代わるものはありますか?また、iptables
この種のトラフィックをブロックするいくつかの規則が非常に便利です。
私はこれを見つけました
iptables -t filter -I INPUT -m string --string facebook.com -j LOG --algo bm
iptables -t filter -I INPUT -m string --string facebook.com -j REJECT --algo bm
ただし、httpsはローカルコンピュータ以外のコンピュータでも実行できます。
答え1
URLベースのマッチングではなく、証明書コンテンツベースのマッチングを試してください。
iptables -t nat -I INPUT --sport 443 -m string \
--string www.facebook.com --algo bm -j REJECT
指紋で一致させることもできますが、ターゲットが証明書を変更または更新した場合、ルールは適用されません。
答え2
URLは暗号化されているため、ファイアウォールはクライアントがアクセスしようとしているHTTPS URLを制御できません。ファイアウォールは、クライアントがIPアドレスを使用して接続するサイトのみを制御できますが、サイトのHTTPバージョンとHTTPSバージョンが同じURLにある場合は役立ちません。 IPアドレスのリスト)。
HTTPSをブロックする唯一の現実的な方法は、完全にブロックすることです。すべての接続は有効なHTTPでなければならないと主張します(つまり、クライアントはラインなどを送信することから始まりHTTP
ます)。これはIPtablesだけでは実行できず、Squidなどの実際のプロトコル認識プロキシが必要です。 (Untangle Liteが何をしているのかわかりません。)
ほとんどすべての HTTPS サーバーがそのポートにあるため、ポート 443 へのトラフィックをブロックして、ほとんどの HTTPS トラフィックをブロックできます。または、ホワイトリストアプローチを使用してポート80(通常のHTTPポート)へのトラフィックのみを許可します。
別のアプローチは、すべてのHTTPおよびHTTPS接続をプロキシすることです。その後、URLに一致させることができます。これには、クライアントに対する中間者攻撃が必要です。すべてのクライアントコンピュータに独自の認証局を展開し、それを信頼ルートとして登録すると、これを行うことができます。これは非倫理的と見なすことができます。
あなたが何をしても、決定されたユーザーはあなたの環境の外側にプロキシを設定し、HTTPまたは同様のものを介してIPを実行します。
あなたはほとんど機能しない技術的な解決策で社会問題を解決しようとしたり、経営陣の愚かな要求を実装するために最善を尽くしているようです。この場合、ポート443をブロックすることを選択します。 IPを使用すると、役に立たなくても作業が完了したことを報告できます。
答え3
私は一つの選択肢を知っています。
内部DNSサーバーが利用可能な場合は、ドメイン(外部接続を望まない)を127.0.0.1として検証するTLDゾーンデータにいくつかの静的参照を入れます。これにより、セントラルDNSを使用するネットワーク上のすべてのホストがドメイン(facebook.com/twitter.com自体)をループバックアドレスとして解決しますが、どこにも行きません。
これは、ネットワーク上のクライアントシステムリゾルバの設定に対する完全な権限を持っている場合に機能します。ワークステーション/クライアントに/etc/hostsまたは/etc/resolv.confを変更/編集する権限がある場合は、このオプションを無視できます。
答え4
FORWARDチェーンに入れる必要があります。
iptables -I FORWARD -m string --string "facebook.com" \
--algo bm --from 1 --to 600 -j REJECT
ファイアウォールに加えて、ネットワークの他のシステムにも影響します。