web-dev-qa-db-ja.com

SquidでSSLデータをキャッシュする方法

やりたいこと:
ここでの私の目標は、HTTP経由で送信されるデータだけでなく、Squidを使用してSSL経由で送信されるデータをキャッシュすることです。ユーザーは、触れるすべてのHttps WebページでSSL証明書エラーを気にする必要はありません。他の学生によってキャッシュされたデータをダウンロードすることは、シームレスで無痛である必要があります。

それをしたい理由:
これが「SSLに対して」である理由と、他の多くの投稿で読んだ他のあらゆる種類の残虐行為の理由を説明する前に、少し時間をとって、ここでユースケースを検討してください。この設定は、インターネットがあまり速くない外国の小さな学校でWifiの使用をはるかに速くすることを目的としています。 HTTPデータをキャッシュすると生徒のインターネット使用が大幅にスピードアップしますが、SSLを介して送信されるトラフィックが増え、生徒はより速くアクセスする必要があります。つまり、SSLを介して送信されるのはメールとバンキングだけではありません。最近では、YouTubeなどのビデオコンテンツやインストールファイルもSSLを介して送信されるようになっています(例:Android Studio 、Arduino IDE、Wireshark、FileZillaなど)。

これまでに試したこと:
pfSense 2.3.3-RELEASE-p1でSquidパッケージ0.4.36_2をセットアップします。 Httpサイトで問題なく機能するキャッシュを適切に設定します。 'System'-> 'Cert Manager'の下のpfSenseでCAを作成しました http://www.shallalist.de の "Shalla's Blacklist"を使用してSquidGuardをインストールし、他のすべてのソースを介してトラフィックをホワイトリストに登録しました。

  • この時点で、すべてが適切に機能していました-証明書に煩わされることなくWifi経由で接続されたシステムからブラウジングし、Httpデータをキャッシュしましたが、HTTPSデータのキャッシュは機能しませんでした。
  • どうすればこれを達成できますか?
3
Jaxian

クライアント側の特別な努力なしに、達成しようとしていることが可能である場合、SSLは役に立ちません。

SSLの最も重要な側面の1つは、接続のエンドポイントが実際にクライアントが接続しようとしているエンドポイントであることを保証することです。証明書システムはこれを保証します。

したがって、Squidで透過SSLプロキシを実装したい場合は、Squidに自己署名証明書を発行し、その証明書をユーザーに配布して、ユーザーがブラウザーの信頼できる証明書リストに追加できるようにする必要があります。

これは、ユーザーのブラウザーで証明書の警告を回避する唯一の方法です。

また、この場合のSSLアイコンが接続が安全であることを実際に意味するものではないことをユーザーに明確にする必要もあります。

安全なエンドツーエンド接続が必要な場合、その間のキャッシュは不可能になります。

1
Tero Kilkanen