iptablesを使用してhttps Facebookのウェブサイトをブロックする方法

iptablesを使用してhttps Facebookのウェブサイトをブロックする方法

重複の可能性:
iptablesはhttpsのウェブサイトをブロックします。

Zentyal Osをファイアウォールとして使用していますが、httpサイトをブロックするのと同じように機能しますが、https facebookサイトをブロックすることはできません。私の唯一の目標は、ポート443をブロックする必要があるように、https Facebookのウェブサイトもブロックする必要があることです。

したがって、iptablesと透明モードを使用して制御する機会はありますか?

ベストアンサー1

注:この記事は数時間前に書かれましたが、Sandyの妨害のために出て送信ボタンを押すのを忘れました。

したがって、これを達成するには2つの方法があり、どちらもさまざまなタスクを実行します。誰でもプロキシサイトを使用して制限をバイパスできるので、実際にFacebookをブロックすることは不可能です。また、SSHトンネルを介して無制限のサーバーに接続することもできます。それでも私たちはここにいます...

iptables

bash$ sudo iptables -A OUTPUT -p tcp -d 69.171.247.21 --dport 443 -j REJECT
bash$ sudo iptables -A OUTPUT -p tcp -d 66.220.149.88 --dport 443 -j REJECT
bash$ sudo iptables -A OUTPUT -p tcp -d 66.220.152.16 --dport 443 -j REJECT
bash$ sudo iptables -A OUTPUT -p tcp -d 69.171.234.21 --dport 443 -j REJECT
bash$ sudo iptables -A OUTPUT -p tcp -d 69.171.237.16 --dport 443 -j REJECT

欠点は、これがFacebookが解決のためにfacebook.comの新しいIPアドレスを追加するのを妨げないことです。継続的に実行し、最新の情報を得るためのスクリプトを作成できます。

#!/bin/bash
for i in $(host facebook.com | grep "has address " | cut -d' ' -f4)
do iptables -A OUTPUT -p tcp -d $i --dport 443 -j REJECT
done

注:エラーが発生する可能性があるため、少しの修正が必要です。

ドメインネームサーバー

このソリューションも完璧ではありません。 DNSは命名システムの基礎であるため、IPアドレスを直接入力すると勝ちます。ネットワークに内部ネームサーバーがある場合は、facebook.comのエントリを他の場所で確認するように設定できます。私はこれを上記のiptablesで使用します。

シートベルト-まったく推奨されていません

我々はさらに一歩進むことができます。ネットワークにFacebookをブロックするすべてのコンピュータがある場合は、ルートCA証明書を生成してすべてのコンピュータに公開鍵をインストールできます。ブローカーは、証明書を使用するすべてのWebサイトへのすべてのSSLトラフィックを削除し、Facebook接続を積極的に終了します。しかし、これは危険な考えであり、プライバシーに影響を与えます(特に企業環境では)。

おすすめ記事