私はSSLサポートを提供するwebserver [proprietary]をテストしていますが、ターゲットプロトコルのみを有効にしてIE=からのリクエストを実行することで確認したTLS 1.1および1.2をサポートしていると言っています。
ただし、サーバーに実装されているTLSプロトコルに既知のセキュリティ問題がないかどうかを確認するにはどうすればよいですか?
チェックすべき主な機能は何ですか?
この目的に使用できるツールはありますか?
実装の欠陥を確認することはできません。クライアントから見ることができるものは次のとおりです。
本質的に弱いプロトコルの使用。サーバーがTLS 1.1と1.2をサポートしていることを確認することで、すでにそれを排除しています。
香りのする不適切さ。たとえば、サーバーの公開鍵(サーバー証明書に表示)が小さすぎてセキュリティが不十分である場合(512ビットのRSA鍵など)。または、サーバーの「ランダム」が常に同じであることに気付いた場合。
これは証明の負担を逆転させます。通常、特定の実装は、積極的に実装時に適切な開発規則に従っていることをドキュメントなどで説明することにより、それが正しく機能することを示すよう努める必要があります。これは、「私たちはLibfoobarSSLバージョン42.17を使用している」と説明するのと同じくらい簡単ですが、何らかのドキュメントが必要です。欠陥に対して実装を「検証」するのはあなたの仕事ではありません。そのような事後ブラインド検証が機能しないことはよく知られています。最も明白な穴に気づくかもしれませんが、何も見つけられないということは、見つけるものがないということではありません。
例として、1996年頃、非常に悪い [〜#〜] prng [〜#〜] -統計的テストのため、Netscape(当時の最先端のWebブラウザ)でのSSL実装はおそらく弱かったただし、問題は悪いシードであったため、問題を表示できませんでした。PRNGの内部状態のほとんどは予測可能でした。 SSLトンネルをクラックするのに数秒の時間ですが、統計テストでは何も問題がありませんでした。その欠陥の検出が必要です リバースエンジニアリング 。これはツールで自動化できません。
このSSLテスト SSL Labsからは、TLSのかなりの数のプロパティがカバーされています。