企業ファイアウォールでTorをブロックする

多くのユーザーが、インストールに管理者権限を必要としない「ポータブルTorブラウザ」の利点を認識しているという事実により、考えられるすべてのケースでTorを使用する可能性を抑えることにしました。
すぐに、FreeBSD + pfの束について話すことを予約してください。


Torサービスの初期化スキームは簡単に不名誉になります。
クライアントが登録されているルートサーバーがいくつかあります。 同じクライアントは同じサーバーから同じクライアントのリストを同じサーバーからダウンロードし、このリストに従って、他のサービス情報と同様に、クライアントが通過できるかどうかの情報を受け取ります。

ルートサーバーにクライアントのリストを要求するための通常のURLは次のようになります。
http://128.31.0.34:9031/tor/status/all


サーバーが発行するファイルの内容は、およそ次のとおりです。
network-status-version 2
dir-source 128.31.0.34 128.31.0.34 9031
fingerprint FFCB46DB1339DA84674C70D7CB586434C4370441
contact 1024D/28988BF5 arma mit edu
published 2009-09-07 18:24:08
dir-options Names BadExits Versions
client-versions 0.2.0.34,0.2.0.35,0.2.1.19,0.2.2.1-alpha
server-versions 0.2.0.34,0.2.0.35,0.2.1.19,0.2.2.1-alpha
dir-signing-key
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAMHa0ZC/jo2Q2DrwKYF/6ZbmZ27PFYG91u4gUzzmZ/VXLpZ8wNzEV3oW
nt+I61048fBiC1frT1/DZ351n2bLSk9zJbB6jyGZJn0380FPRX3+cXyXS0Gq8Ril
xkhMQf5XuNFUb8UmYPSOH4WErjvYjKvU+gfjbK/82Jo9SuHpYz+BAgMBAAE=
-----END RSA PUBLIC KEY-----
r Unnamed AFFku1nT3UiV4dsIC0ze+1KD738 YSYH74y8ohTu5Uhvk3Yl0WU8DqI 2009-09-07 11:44:12 94.50.173.6 443 9030
s Exit V2Dir Valid
opt v Tor 0.2.0.35
r tbreg AHKeOQzTsS4dKu6jY5dGrCtY3aE h+oWM86K3Z6yb2z4ZpPd++i7yZo 2009-09-07 02:10:50 202.109.188.97 9001 0
s Exit Valid
opt v Tor 0.2.1.2-alpha (r15383)
r abcdefg ALW6RdYFJ9/JA7MuCkcEUbE+L1I xkVjcAgH+zVB/dcg7NYBDXGWA1g 2009-09-07 17:19:54 84.179.91.68 443 0
s Exit Named Valid
opt v Tor 0.2.0.35



ページの最初の部分には、サーバーに関するサービス情報とリストが生成された時刻が含まれています。 以下は、顧客とその特徴を識別する行です。

文字「r」で始まる行と、もちろんクライアントのIPアドレスに興味があります。 他のすべては原則として特に重要ではありません。

wget + awk + ​​grep + sort + uniqを実行して、必要なIPアドレスのリストを取得します。
wget 128.31.0.34:9031/tor/status/all -q -O - | grep -E '^r' | awk '{print $7}' | sort | uniq > /etc/pf/tor.list



pf.confに数行を追加します

int_if="em0"
ext_if="em1"

table persist file "/etc/pf/tor.list"

block in log quick on { $int_if $ext_if } from any to <tor> label TOR_IN
block out log quick on { $int_if $ext_if } from <tor> to any label TOR_OUT



そして、変更されたpf構成をフィードします。

これで、pflogインターフェースのtcpdumpを使用して、Torの使用を試みた人を計算し、「ああ、いやいや」と言うことができます。 Torクライアントのリストを更新するためのスクリプトは、(会社によって前払いされたトラフィックに応じて)好きなだけ実行できます。 通常のクライアントファイルサイズは約1.5メガバイトです。 したがって、それを更新する頻度は、あなた次第です。 10分ごとにファイルをジャークします(トラフィックは無制限です)。

Perlソリューションの愛好家にはモジュールがあります
search.cpan.org/~ajdixon/Net-Tor-Servers-0.02/lib/Net/Tor/Servers.pm
これは、pftabled perlクライアントと組み合わせて、Torクライアントテーブルの同期および再読み取りスクリプトを呼び出すことなく、その場でpfテーブルを変更できます。

希望する人は、Torクライアントテーブルを他のファイアウォールにバインドできます。

(C) Aborche 2009

Source: https://habr.com/ru/post/J68971/


All Articles