web-dev-qa-db-ja.com

privoxyを使用して特定のドメインとURLをブロックする方法

OpenWRTを使用してルーターにprivoxyを設定しました。プロキシは、トラフィックがプロキシを通過するときにサーフィンできるので、うまく機能しているようです。

ブロックルールに1つのドメインのみを使用してブロックする最小限の例を設定してみました。

{+block {Too bad my friend...No facebook for you}}
    www.facebook.com

このルールは、ファイルtinyblock.actionの下にあります。このファイルは、/etc/config/privoxyの構成に含まれています。 enable-blocksオプションは1に設定されます。しかし、Facebookにアクセスしようとすると、プロキシは何もブロックしません...

そのことについて何か考えはありますか?

@MariusMatutiaeが回答したように、httpsフィルタリングに問題があります。私は少し調査をしました、そして privoxyドキュメント は明示的に言います:

4.15。 Privoxyはどのようにしてセキュア(HTTPS)URLをフィルタリングできますか?

安全なHTTP接続は、ブラウザと安全なサイト間の暗号化されたSSLセッションであり、確実に安全であることが意図されているため、Privoxyができることはほとんどありませんが、生の意味不明なデータを一方の端からもう一方の端に未処理で渡します。

これに対する唯一の例外は、ホストパターンによるブロックです。これは、クライアントがPrivoxyにリモートサーバーの名前を通知して、Privoxyが接続を確立できるようにする必要があるためです。その名前がホストのみのパターンと一致する場合、接続はブロックされます。

広告のブロックに関する限り、これは見た目よりも制限が少ないです。広告ソースはホスト名で識別できることが多く、暗号化されたページに配置されるバナーは、効率上の理由から暗号化されていないことが多いためです。 Privoxyの広告ブロックの全力を発揮します。

SSLトランザクションの「コンテンツCookie」(実際のHTMLまたはJSページのコンテンツに埋め込まれているもの。filter{content-cookies}を参照)は、これらの条件下ではブロックできません。幸い、ほとんどのCookieは従来の方法で提供されるため、これはあまり一般的なシナリオではないようです。

しかし、とにかく、私は自分のログにFacebookが表示されることは決してありません...

2
Rerito

プロキシ設定を変更してHTTPSを含める必要があります...ブラウザでは、通常、HTTPSプロキシに個別の設定があり、透過プロキシを実行する場合は、TCPポートに追加のiptablesリダイレクトルールが必要になります443。

この構成手順を実行しない場合、ブラウザーはPrivoxyではなくHTTPSサーバーに直接接続します。

たとえば、Firefoxの設定は次のとおりです。

enter image description here

「SSLプロキシ」とはTLSが含まれていないという意味ですか?確かにそうではありません。ブラウザは、接続するまで特定のサイトがSSLであるかTLSであるかを知ることができないと思います。

3
Ben Voigt