ポート443で正当なWebサーバートラフィックのみを許可し、他のサービスを許可しないファイアウォールを作成することは可能ですか?


19

私は常に簡単なトリックを使用してほとんどのファイアウォールをバイパスし、ポートを使用できなくなりました。ポート443でサーバーの1つでsshを開いて、そこを通過するすべてのトラフィックをトンネリングしました。

しかし、私は今まで見たことのないファイアウォールを備えたネットワーク上にいて、それが可能であることすら知りませんでした。

このネットワークでは、正当なWebサーバートラフィックに対してのみ443ポートを使用できます。ポート443でsshなどを開いてこのネットワークから接続しようとすると、すぐに強制終了されます。そのサーバーでApacheを起動すると、動作します。

これはどのように可能ですか?暗号化されたトラフィックを分析して、それが正当なhttpsトラフィックであることを検証することができる、非常に洗練されたファイアウォールはありますか?どうやって?


4
SPIと呼ばれるハイエンド機器は、より高度な検査を行い、不要な接続を終了できます。
Linef4ult

ホワイトリストを作成して、そのトラフィックのみを許可することができます。問題は、正当なウェブサーバーのトラフィックが変更される可能性があることです。安全なトンネルを使用してサーバーと通信し、許可されるクライアントのホワイトリストを作成してから、将来リストを変更するためにクライアントを追加する手順を決定することをお勧めします。
ラムハウンド

たとえば、Obfsproxyを使用して、SSHトラフィックを無害なHTTP(S)トラフィックとして難読化できます。
マイケル

回答:


26

はい、彼らはここで魔法を必要とせず、TCPパケットの内容を単純に照合するだけです。SSHとTLS(SSL)はペイロードを暗号化しますが、プロトコルヘッダー自体は依然として区別可能であり、互いに大きく異なります。たとえば、SSHv2接続は常にクライアントが送信することから始まりますSSH-2.0-(client name and version)。同様に、ファイアウォールはTLS接続が内部でHTTPを伝送するかどうかを実際に知ることができなくても、TLS自体を認識することができます

TCPの上の層のこのような検査は、通常、比較的一般的な機能である「ディープパケットインスペクション」に該当します。

これを回避する明白な方法の1つは、stunnel、haproxy、またはsniproxyなどを使用して、TLS 内でSSH トンネリングすることです。(ポート443がSSH-over-TLS専用であるプレーントンネリングに加えて、SNIおよびALPNに基づいて同じポートでSSH / HTTP /その他のプロトコルを多重化することもできます。)

これは本当に洗練されたトラフィック分析を常に無効にするわけではありませんが、「これはTLSヘッダーのように見えるか」を単にチェックするほとんどのフィルターをバイパスします。


そして、迷惑な種類のファイアウォールがあります。すべてのトラフィックを復号化および再暗号化するためにTLSインターセプトするファイアウォールです。これらは実際にTLSの内部を見ることができ、他のすべてをブロックしながらHTTPリクエストを渡すことができます。(いくつかのウイルス対策プログラムも同じことを行うことに注意してください。)サーバー証明書を見ると、この種類を認識できます。プロキシによって生成されたすべての証明書は同じように見え、多くの場合検証に合格しませんが、実際の証明書はさまざまな異なるCAによって発行されます。


1
それでは、SSHはTLS上の単なる別のプロトコル(デフォルトでは使用しない)ではなく、独自のアプリケーションレベルのセキュリティを実行しますか?
メディノック

2
@Medinoc:はい、同様の機能(SSHv2の「トランスポート」および「認証」レイヤー)を実装しており、何もTLSを必要としません。
悲しみ

これらのスニッフィングファイアウォールを認識する信頼できる方法はありますか?httpsの使用中に誰かが私のパスワードを傍受するという考えは好きではありません。今までそれが可能だとさえ知らなかった。
ペトル

2
POST / HTTP / 1.0 base64garbage HTTP / 200 200 OK base64garbageはトランスポートプロトコルを作成します
ジョシュア

3
@Petr grawityの発言を拡張します。雇用主が所有するコンピューターの場合、証明書はおそらくあなたに渡す前にインストールされました。MITMファイアウォールは、証明書を使用していない場合にhttpsトラフィックが許可されないように構成され、選択内容がポリシーに準拠するか、httpsがないようになります。その場合、証明書をチェックするOTOHは、おそらく「雇用者名で確認」のように、さらに深く掘り下げるとCA名に類似した何かを言うでしょう。たとえば、私の仕事用コンピューターでは、bluecoat.companyname.com(bluecoatは使用されているファイアウォールのブランドです)です。
ダン・ニーリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.