web-dev-qa-db-ja.com

sniベースのhttpsフィルタリングをバイパスする方法はありますか?

クライアントではなく、ウェブサイトの所有者の側から。

韓国政府は、sniフィルタリングによってインターネットを検閲すると発表しました。

韓国の法律によると、すべてのポルノウェブサイトは韓国では永遠にブロックされます。

これまでは、httpsプロトコルで接続することで検閲を回避してきました。しかし、今は役に立たない。すべての韓国人男性はこれを非常に深刻だと考えています。

私はきっと方法を見つけて、すべての韓国のオンラインコミュニティーにそれを知らせます。すべての韓国人の自由のために。

TLS 1.3はまだsni暗号化をサポートしていないと聞きました。

それで、この瞬間にこの問題を解決できる解決策はありますか?

プロキシ、VPN、torなどを使用する方法はいくつかありますが、基本的な解決策ではないと思います。サーバーでアクションを実行しない限り、これは基本的なソリューションではありません。

3
hutanara

Tor、VPN、またはプロキシを使用してサイトに接続するisネットワークフィルターをバイパスする標準的な方法。なぜそれを解決策と見なさないのか、またはなぜサーバーで解決策が必要なのか(おそらく、バイパス機能を実装するインセンティブがほとんどない)がわかりません。

TLSで接続しているWebサイトを隠す方法は、TLSレイヤー(SNI)でドメインを要求して接続することですが、HTTPレイヤーでは別のドメインを要求します(これには非標準のソフトウェアが必要です)。 domain fronting

ネットワーク検査では外部のドメインしか確認できないため、SNIで無害なドメインを提供し、サーバーにHTTPドメインに応答させることができる場合があります。両方のドメインが同じIPアドレスでホストされている場合(CDNにあるなど)、検閲エージェントは無害なドメインと不要なドメインへのアクセスを区別できないため、他のドメインもブロックする必要があります。 これを行うために使用されていた信号 、ブロックするには大きすぎるウェブサイトgoogle.comへの接続をTLSで非表示にします。

3
Ángel

TLSとSNIの機能を実際に理解していないと思います。 SNIは、複数のWebサーバーを同じIPでホストし、同じポートでリッスンできるようにするテクノロジーですが、暗号化には異なるSSL/TLS証明書を使用します。 SNI以前は、同じポートでリッスンしている2つのWebサーバーが証明書を共有する必要がありました。たとえば、リバースプロキシがTLSチャネルを処理し、トラフィックを実際のWebサーバーにリダイレクトする必要がありました。

これまでは、httpsプロトコルで接続することで検閲を回避してきました。しかし、今は役に立たない。すべての韓国人男性はこれを非常に深刻だと考えています。

HTTPS(TLSまたはSSLを使用したHTTP)は検閲を回避せず、暗号化を行い、一部のスキーム-通信チャネルでトラフィックを監視できる攻撃者(別名盗聴者)が知ることができないように通信チャネルを整合性と認証を提供します送信される情報。反検閲のプロパティはありません。送信チャネルを切断できる攻撃者は、何が送信されたかを知ることはできませんが、通信はとにかく停止されます。

さらに、SNIを使用するHTTPSの特定のケースでは、すべての情報が暗号化されるわけではありません。接続しているホスト名は、TLSハンドシェイクが行われたときに平文で送信されます

プロキシ、VPN、Torを使用するなどの方法がありますが、これは基本的な解決策ではないと思います。サーバーでアクションを実行しない限り、これは基本的なソリューションではありません。

通常、政府はDNSを介した特定のWebサイトへのアクセスを禁止しています。 DNSは、ホスト名をコンピューターが接続できるIPに変換するプロトコルです。つまり、DNSリゾルバーをx.x.x.xに構成した場合、x.x.x.xがIPを知っているホスト名にのみアクセスできます。場合によっては、DNSリゾルバーを変更するだけで、禁止されたWebサイトへのアクセスを回復できます(一般的なDNSリゾルバーには、Googleの8.8.8.8と8.8.4.4、またはCloudflareの1.1.1.1と1.0.0.1があります)。このシナリオは、メディア情報へのアクセスを回復するためにGoogle DNSが壁にペイントで書かれた数年前のシリアで起こりました。この場合、DNSリゾルバーを変更しても、ローカルネットワークまたは中間ノードの攻撃者が、クライアントがWebサーバーと通信していることを認識できます。

VPNまたはTorを接続しているサーバーを敵に知られたくない場合は必須です。 VPNまたはTorを使用している場合、クライアントのローカルネットワークまたは中間ノードで敵がTorまたはそのエントリポイントがそのVPNまたはTorエントリノードに接続していることを認識しますが、その後は何も知ることができません。 。同様に、Webサーバー(およびそのローカルネットワークの敵)は、Tor出口ノードからの接続であることを認識します。 VPNおよびTorネットワークの場合は、特別な注意を払って DNSリークを防止する必要があります

プロキシの種類によっては、プロキシの使用が安全な場合があります。

  • SOCKSプロキシはTorネットワークと同様に機能しますが、単一のノードを使用すると、プロキシの着信トラフィックと発信トラフィックを傍受する敵がどのプロキシユーザーがどのWebサーバーに接続しているかを簡単に識別できるため、プライバシーが大幅に低下します。これはそれほど単純ではありません。 Torでは、入口ノードと出口ノードが異なり、直接通信しません。

  • 代わりにHTTPSプロキシが使用される場合、接続はクライアントとプロキシの間でプロキシ証明書を使用して暗号化され、次にWebサーバー証明書を使用して復号化および再暗号化されます。つまり、クライアントは、通過するすべてのトラフィックを確認できるため、プロキシを信頼する必要があります。さらに、プロキシ証明書は信頼されないため、クライアントのブラウザはおそらく警告を表示します。

最後に、VPN、Tor、またはその両方を使用することが最善のソリューションです。見かけとは逆に、検閲は接続の「クライアント側」に適用され、Webサーバーには適用されません。禁止されているのは、特定の国のクライアントがWebサーバーに接続することです。WebサーバーはそのAFAIKについて何もできません。

3
Mr. E

ユーザーに使用を指示できるサーバーレスクライアントアプリは多数あります。トラフィックをリダイレクトしないため、速度低下はありません。

Intra App on Android or GoodbyeDPI on Windows。それは Green Tunnel がLinuxで動作するようです、WindowsおよびmacOSですが、聞いたことがありません。

または、暗号化されたSNIをサポートするCloudflareでサイトをホストし、ユーザーに Firefox Nightly を使用するように指示することもできます。

0