web-dev-qa-db-ja.com

既存のTCP接続の上にSSLを追加します

これは一部の人にとっては基本的な質問のように聞こえるかもしれませんが、私はそのようなことをしたことがありません。

基本的に、シンプルなTCPクライアントがC#に実装されている(例:TCPClientクラス)と、シンプルなTCPサーバーがC++を使用して実装されている(例:ソケットを使用))と想像してください。この接続はうまく機能します。

次に、この接続の上にSSLを追加します。これもコードに実装する必要がありますか?一部の標準ツールを使用できませんか?多分どのようにウェブサイトがそれを使っているのでしょうか?

コードを書かずにそれを行うことはできませんか?

クライアントとサーバーの両方がWindowsを使用します。

基本的に、上記のTCP接続と読み取り/書き込みがSSLなどの安全なトンネルを通過するようにします。あるいは、VPNを使用することもできますか?

1
user91560

コードを書かずにそれを行うことはできませんか?

基本的に、上記のTCP接続と読み取り/書き込みがSSLなどの安全なトンネルを通過するようにします。あるいは、VPNを使用することもできますか?

stunnel を使用する、VPNを使用する、SSHで行われるトンネルを使用するなどの詳細があります。詳細は、インフラストラクチャ、つまり、インストールできるソフトウェア、すでに利用可能なソフトウェアなどによって異なります。終了したいので-エンドツーエンドの暗号化では、接続の両側で必要なソフトウェアが必要です。

2
Steffen Ullrich

接続を安全にしたい場合は、2つのオプションがあります。

  • IPSecポリシーを構成します。 IPSecでは、2つのmachinesそれらの間に安全なトンネルを作成し、このチャネルを使用してトラフィックをルーティングします。クライアントおよびサーバーアプリケーションに対して完全に透過的です。
  • VPN接続(OpenSSL、IPSec/L2TPなど)を作成することもできます。これはクライアントからも透過的です。

SslStreamクラスを使用するようにコードを変更することもできます。 TLSを手動で実装する必要はありませんが、コードを変更する必要があります

1
user996142

一般に、サービスを保護したい場合、または安全でないサービスにアクセスしたい場合、私の推奨事項はssh tunnelを作成することから始まり、簡単で、一般的にどこにでもsshがあります。

0
camp0