Squidを「TLS終了プロキシ」として使用して、クライアント証明書を使用してTCP接続を暗号化できますか?


8

概要

複数のクライアントからインターネット上の単一のポートへの暗号化されたTCP接続が必要です。これはSquidで実現できますか?

具体的な状況

私たちは、LANとVPNを介してアクセスできる社内の監視およびクライアント管理ソリューションを使用しています。これで、会社のVPNを使用しない外部ノートブックからアクセスできるはずです。通信は暗号化する必要があります(TLS)。クライアント認証では、クライアント証明書を使用する必要があります。通信はクライアントによって開始され、単一のTCPポートを使用します。

私の調査結果

NGINX Plusはこの機能を提供しているようですが、管理者はSquidまたはApacheを好みます。イカのwikiで私はそれを発見しました:機能:HTTPS暗号化が言及されているHTTPS(HTTPセキュアまたはHTTP over SSL / TLS)。しかし、私はこの警告も見つけました:

CONNECTを介して渡されるプロトコルは、Squidが通常処理するものに限定されないことに注意することが重要です。文字通り、双方向のTCP接続を使用するものなら何でも、CONNECTトンネルを通過できます。これが、SquidのデフォルトACLが拒否CONNECT!SSL_Portsで始まる理由であり、その上に任意のタイプの許可ルールを配置する十分な理由があるはずです。

同様の質問

この質問SSLを使用したSquidフォワードプロキシによるクライアント接続の暗号化は同様ですが、リバースプロキシ/ TLS終了プロキシは扱いません。

知っておくべきこと

私はその技術についての基本的な知識しか持っておらず、私たちの管理者が一般的な実現可能性について私に尋ねました。

  • Squidを使用してTCP接続の暗号化を保存できますか?
  • これは、クライアント証明書による認証を使用して実現できますか?
  • または、HTTPS接続にのみ使用する必要がありますか?

回答:


7

多分あなたの管理者はNGINX Plusそれがオープンソースではなく、よく整備された別のオープンソース製品を受け入れるので嫌いです。それから、彼にstunnelを見てもらいます。まさにあなたのニーズに合わせて設計されています。

ウィキペディアで stunnelの例を引用すると(SMTPの場合、これはあなたのニーズにぴったり合うでしょう):

たとえば、stunnelを使用して、既存の非SSL対応SMTPメールサーバーに安全なSSL接続を提供できます。SMTPサーバーがポート25でのTCP接続を想定していると想定します。SSLポート465を非SSLポート25にマップするようにstunnelを設定します。メールクライアントはSSL経由でポート465に接続します。クライアントからのネットワークトラフィックは最初にSSL経由でstunnelに渡されますトラフィックを透過的に暗号化/復号化し、セキュリティで保護されていないトラフィックをローカルでポート25に転送するアプリケーション。メールサーバーは非SSLメールクライアントを認識します。

stunnelプロセスは、保護されていないメールアプリケーションと同じサーバーまたは異なるサーバーで実行されている可能性があります。ただし、両方のマシンは通常、セキュリティで保護された内部ネットワークのファイアウォールの背後にあります(そのため、侵入者はポート25に直接、セキュリティで保護されていない接続を直接行うことができません)。


+1、とても有望に聞こえる
marsh-wiggle

1
stunnelは、どのHTTPプロキシよりもTLS接続を介して汎用TCPデータを中継するのに適しています。
Amos Jeffries

2

CONNECTは、HTTPクライアントからHTTPプロキシへのトンネルを確立するためにのみ使用されます。HTTPには、HTTPプロキシへの暗号化された接続のためのスキームもありません。

HTTPプロキシは、ここで探しているものではないようです。

SquidがTLSおよびクライアント証明書を使用したTCPプラグをサポートしているかどうかはわかりませんが、WinGateはサポートしています。また、Active Directoryに対する証明書のUserPrincipalNameを検証する機能もあります。

免責事項:私はWinGateの作者であるQbikで働いています。


それで、SquidはTCP接続の暗号化に使用できません(少なくとも追加のプラグインがないと)?
marsh-wiggle

暗号化されたTCP接続で実行するプロトコルは何ですか?
エイドリアン

ペイロードが不明なTCP
marsh-wiggle

OK、そのため、HTTPを解析しようとしないもの、HTTPプロキシではないものが必要です。SquidがTLSとクライアント証明書とは別に、汎用プラグデーモンとして実行できるという証拠をオンラインで見つけることはできません。
エイドリアン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.