web-dev-qa-db-ja.com

sslstrip攻撃を防ぐには?

Sslstrip攻撃のダイナミクスを理解する手助けが必要です。私が所有しているサイトのセキュリティをテストするために使用しています。被害者(この場合は自分)の資格情報をインターネット経由で盗聴できましたが、GmailまたはMSNトラフィックに対して同じ攻撃が発生した場合、何も返されません。その場合、それは完全に静的です。私は私のssl交換を保護するためにgo-daddy証明書を使用しています。

彼らのSSLは安全で私のものは安全ではないということですか? sslstripによって生成された不正なssl証明書がssl証明書のセキュリティによってキャッチおよびブロックされ、鉱山が非セキュアモードで構成されているように? KEMPロードバランサーのようなデバイスは、そのような攻撃を防ぐために何かしますか?

このような攻撃から自分のサイトを防ぐために何をする必要がありますか?ありがとう。

11
Saladin

IIRC、SSLStripは従来のSSL-MITM攻撃を行いません。 HTTPトラフィックを監視し、リンクを探してHTTPSトラフィックにリダイレクトし、それらのリンク/リダイレクトをHTTPに書き換えます。彼らの website をざっと見て、これを確認します。

そのため、sslページにリンク/リダイレクトする非sslページが必要です。 SSLStripはそれを確認し、リンク/リダイレクトを非セキュアなリンク/リダイレクトに変更します。たとえば、 https://domain.com/login.php にリンクするindex.phpがあるとします。 SSLstripはそれを http://domain.com/login.php に変更します。これを確認するには、ブラウザーに入力して https://domain.com/login.php とし、SSLStripがユーザー名とパスワードを引き続き表示するかどうかを確認します(またはログインリンクをクリックしたときに、ブラウザのURLバーにhttpまたはhttpsがある)。

あなたはこの攻撃を阻止します

  1. サイトをSSLのみにします。
  2. 使用するWebサーバー(Apache、IISなど)については、特定のディレクトリにSSL接続でのみアクセスできるようにする方法が必要です。すべての認証済みコンテンツをSSLのみにします。単純なグーグル検索で、特定のサーバーソフトウェアに対してこれを行う方法が明らかになるはずです。
10
mikeazo

IIRCでは、実際の証明書がない限り、HTTPS経由で証明書に不一致があるという警告が表示されます。

SSLstripはHTTPSを再読み込みして、明らかにHTTPをクリアします。

また、SSLストリップで「不正な」公開鍵が使用されるのはなぜですか。それはウェブサイトの公開鍵を使用します。

自分を保護する方法はありますが、ブラウザはそれをサポートする必要があります。 (読みます)

これが機能しない理由は、おそらくChromeまたはFirefoxまたはその他の主要なブラウザで使用しているためです。それらは HTTP Strict Transport Security を使用します。

2つのプロパティがあります。

  1. Webサイトへの安全でないリンクを安全なリンクに自動的に変換します。 (たとえば、 http://example.com/some/page/ は、サーバーにアクセスする前に https://example.com/some/page/ に変更されます。)
  2. 接続のセキュリティを確保できない場合(サーバーのTLS証明書が自己署名されている場合など)は、エラーメッセージを表示し、ユーザーがサイトにアクセスできないようにします。
2
Lucas Kauffman