web-dev-qa-db-ja.com

Squidを使用した帯域幅マネージャー

私はISP(インターネットディストリビューターまたは学校または他のそのような組織)のためのインターネット配布ソフトウェアを作成しようとしています ここ

ユーザーがインターネット接続パッケージに応じて帯域幅/速度/期間などを制限するための制限とポリシーがあります。また、管理者は速度を監視し、ユーザーをブロック/許可し、パッケージを更新できる必要があります。

アーキテクチャは次のようなものです。

enter image description here

https以外のクライアント要求は正常に機能します。しかし、httpsリクエストは期待どおりにSSL_ERRORを与えています。

Squidは透過プロキシモードでhttps接続を処理できませんが、ユーザーが毎回ブラウザでプロキシを設定することを望んでいません。

ユーザーが使用する暗号化されたトラフィックを含むすべてのトラフィックをカウントし、それに応じてトラフィックを形成する方法は他にありますか?

2
haywire

これはSquidの制限ではなく、HTTPSプロトコル自体の制限です。透過的なHTTPSプロキシを設定しようとすると、必ず暗号化チャネルを解除する必要があります。そうしないと、プロキシはどのWebサイトをロードするかを知る方法がありません。だからあなたは基本的にどちらかを選択します

  1. ブラウザでのHTTPプロキシの設定( 自動検出によって行われる可能性があります ところで)
  2. squidプロキシで暗号化チャネルを終了してHTTPSセキュリティを破る BumpSSLServerFirst これを念頭に置いて書かれています。ただし、これが機能するためには、クライアントがSquidのCAを信頼して証明書に署名する必要があります。これは、everyに信頼されたルートCAとしてインストールされる必要があります。 )クライアント。

すべてのクライアントで信頼できるCA証明書を設定することは、ブラウザー設定でHTTPSプロキシを設定するよりも手間がかかるように思われるため、ACLで復号化されたデータを操作する場合、または要求/応答の本文のチェックを行う場合にのみ意味があります。

2
the-wabbit