SSLの透過プロキシ(Squidではない)をセットアップする方法について、私は何時間も探してきました。一般的な答えは私はできないということですが、私は知っていますいくつかの方法があります。私の目的は以下のみです:
次のページは、トラフィックを変更せずに渡すことができることを示していますが、方法は示していません。 iptables https transparent proxy with privoxy?
次のページは、私自身が実行できなかった443のiptablesルールを示しています。 http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:proxy
次のページは、これをSquidでのみ機能させる方法を示しています。 http://www.rahulpahade.com/content/squid-transparent-proxy-over-ssl-https
編集:1人がここで言う: IPTABLESを使用してSquidの周りにHTTPS(443)パススルーを作成するにはどうすればよいですか? "ポート443への直接アクセスをブロックし、ユーザーに伝えることが最善です。 HTTPSを使用する場合は、プロキシを使用するようにブラウザを設定する必要があります。」しかし、私は443を完全にブロックする方法を知っています。プロキシの下でそれを機能させるためではありません。
ドメイン名でフィルタリングする場合は、2つの方法があります。HTTPS接続にプロキシを使用し、その接続でフィルタリングする必要があることがわかっている場合は、クライアントが発行したCONNECTメソッドから名前を取得できます(Squidsはこれをサポートしています)ところで)。または、reallyreallyが透過的に実行する必要がある場合は、(暗号化)リクエストヘッダー。
暗号化されたリクエストヘッダーを表示するには、キーが必要です。キーが必要な場合は、a)クライアントから「正しい」証明書であると信頼され、b)可能なすべてのホスト(ワイルドカードすべて)を証明する証明書が必要です。
だからあなたがする必要があるのは
ほとんどの場合、透過プロキシが必要なのは、プロキシを使用するようにクライアントを再構成したくないか、再構成できないためです。これがあなたの要求にも当てはまる場合は、おそらくクライアントに証明書をインストールして、それらを「信頼できる」としてマークするオプションはありません。したがって、透過的なSSLプロキシの技術的な方法はありますが、それほど多くの利益が得られるとは思えません。
私はこれが古い質問であることを知っていますが、OPが特定のドメイン名をブラックリストまたはホワイトリストに登録したいだけであれば、プロキシを使用する必要はなく、DNSベースのブラックリストを使用できます。
他のドメインはすべて許可されます。 SSLまたはその他のすべてのWebトラフィックは、そのままゲートウェイを通過します。
編集:OPがユーザーにリストを強制的に表示する準備ができているので、DNSにアクセスする他の方法をブロックすることができます。このように、ユーザーがブロックされている他のDNSメソッドのいずれかを使用しようとすると、Webサイトは機能しません。 aka '私の道または高速道路'
@wheelerが言及したDNS-over-HTTPSの場合、 https://dns.google.com や https:// cloudflare-dnsなどのサイトへの通常のDNSルックアップをブロックすることができます.com/dns-query および https://doh.cleanbrowsing.org/doh/family-filter/ 。ただし、オンラインになるサービスが増えるにつれて、これはすぐに受け入れられなくなります。
開発中のDNSの他の方法で、application/dns-udpwireformatなどのMIMEタイプをブロックする方法も必要になる場合があります。
デリゲートMan-In-The-Middle HTTPSのプロキシとして機能します。
透過モードの場合、インラインIPS(Suricata、Snort)システムは、sslサイトをブロックするのに役立ちます。
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Setting_up_IPSinline_for_Linux
特定のユーザーのSSLサイトルールをブロック:
drop ip any 443 -> 192.168.3.x any (content:".facebook.com"; msg:"Simplewall block facebook.com ";sid:7;rev:1;)
drop ip any 443 -> 192.168.3.204 any (content:".youtube"; msg:"Simplewall block youtube.com" ;sid:4;rev:1;)
拡張子に基づくブロックファイルのダウンロードルール:
drop ip any any -> 192.168.3.63 any (msg:"File exe block"; fileext:"exe"; filestore ;sid:1;rev:1;)
drop ip any ssl -> 192.168.3.63 any (msg:"File mp3 block"; fileext:"mp3"; filestore ;sid:11;rev:1;)
drop ip any ssl -> 192.168.3.63 any (msg:"File pdf block"; fileext:"pdf"; filestore ;sid:21;rev:1;)
SimpleWallでこれを試してください
Simplewall Webインターフェイスでブロックルールを追加するのは非常に簡単です。
Simplewall => Content Filter
の下にルールを追加することもできます。httpコンテンツフィルターとともに、IPSに対して同じルールを使用します。