多くの場合、私のホームネットワークで、よく知られた特定のサイトにアクセスすると、ランダムなSSL証明書エラーが発生します。今日、それはGoogle SSLエラーであり、Googleは明らかに自分を* .icloud.comとして識別しようとしました。過去に、Facebook、Barnes and Noble、その他からのエラーを見てきました。また、ネットワーク全体にわたるようです。デスクトップ、電話、妻の電話にも、ネットワークに接続しているときにSSLの問題があります。
私はセキュリティの専門家ではないので、これがなぜ起こり得るのかについて、いくつかの壁を越えた推測があります。
これらのエラーの最も一般的な原因は何ですか?これらのエラーの診断をどこから始めますか?
SSLでは、次のようになります。クライアントはDNSでサーバー名を検索します。次に、DNSが作成したIPアドレスに接続します。次に、SSLハンドシェイクが発生し、その間にサーバーが証明書を送信します。その時点では実際のURLはどこにも送信されておらず、サーバー名のみが送信されていることに注意してください。診断用のURLは無視できます。
この問題は、OSとブラウザが異なる複数のマシンに影響を与えるため、ブラウザとOSのバグを除外できます。
グーグル、バーンズ、ノーブル、フェイスブック...は人間の創造物であり、それ自体は不完全であり、時々失敗するかもしれません。しかし、それらすべてが同時に失敗することはほとんどありません。
中間者攻撃 のターゲットである場合、攻撃者は非常に無能です。それもありそうもないことです。
要約すると、問題はおそらくルーターとISPの間のどこかにあります。観察する症状は、ブラウザからのTCP接続(以前はwww.google.com
に向けられていた)がAppleの iCloud サーバーで終了するという仮説と一致しています。最初の潜在的なシナリオは次のとおりです。
ルーターはDNSリレーです。 DHCPを介して、実際にホームマシンを構成してルーターをDNSサーバーとして使用し、そのルーターは構成した外部DNSサーバー(GoogleのDNSサーバ)。その場合、ルーターが内部テーブルを混在させると(ソフトウェアのバグまたはRAMの不良が原因)、マシンに誤ったIPアドレスが与えられる可能性があります。
そのシナリオでは、問題はSSLに限定されません。実際、ブラウザが任意のサーバーに接続する場合は、サーバーにnameを要求しますが、ポートやプロトコルは要求しません。したがって、その仮説が正しければ、SSL以外のプレーンなHTTP接続も失敗することがあります。たとえば、www.facebook.com
への接続がwww.google.com
のIPアドレスにリダイレクトされた場合、Googleの応答(実際にはGoogleのメインページへのリダイレクト)が返され、Facebookのようなものは何もありません。
SSL接続だけに問題がある場合、これはDNSの問題ではありません。これは、2番目の潜在的なシナリオを示します。
ISPの動的ルーティングに問題があります。トラフィックを最適にルーティングして、複数の宛先間でパケットを移動しようとします。これらのルーティングの決定はポート固有であり、SSLのみで問題が発生する理由を説明します。何らかの理由で(おそらく悪いRAM、いずれかのISPルーターで)、パケットが誤って送信されることがあります。
そのような動作をする古いCiscoルーター(RAMが不良)を知っています。ルーターがIPパケットを処理するとき、ヘッダーをコピーして部分的に変更する(少なくともTTLを変更する)必要があるため、ルーターのバグにより宛先アドレスが破損する可能性があります。
このシナリオには、ルーターの不良なRAM(again ...)があり、独自にトリップするバリアントがあります行うときの足 [〜#〜] nat [〜#〜] 。
問題をさらに診断するには:
問題が発生した場合は、同じマシンからnslookup www.google.com
(Googleに連絡したいが別の場所にリダイレクトされた場合)を実行し、次にopenssl s_client -connect www.google.com:443
( OpenSSL コマンドラインツールを使用)を実行します。 -LinuxまたはMacOS Xを使用している場合は、すでに使用しています)。これにより、DNSから返されるIPアドレスと、そのアドレスで応答するとされているサーバーから返される証明書がわかります。
問題が断続的である(つまり、ブラウザー接続が失敗したが、すぐに再試行できる)場合は、 Wireshark または Network Monitor のようなネットワークキャプチャツールを実行して、何が起こったかを正確に観察します。問題が発生したとき。マシンから見たIPアドレスが表示されます。
ホームルーターを交換してください。たとえば、古いルーターを友人から借りるか、新しいルーターを購入します(40ドルかかります)。問題がISPにある場合、ISPサポートスタッフはおそらく最初にルーターが故障していると主張するため、この手順はとにかく避けられません。ルーターを変更することで問題が解決した場合は、不良なRAMストロークをもう一度行うことがわかります。
最近、多くの人がアカマイとボイス5の証明書エラーを目にしています。これは、クラウドが証明書のリレーを処理しており、DNSが非常に迅速に更新されない限り、名前が一致しないためです。また、Optimumのような多くのISPは、データをローカルサーバーにキャッシュします。ほとんどのWindows DNSサーバーとWindowsワークステーションも逆をキャッシュし、不一致状態を強制します。驚きではなく、セキュリティのためにクラウドを使用することの別の結果。それはあなたではありません。それは彼らがクラウドと呼ぶその悲しいことです!
Philが説明したのとまったく同じ問題があったため、いくつかの追加情報を追加したかったのですが、実際には、(ブラウザーに関係なく)悪意のあるWebページのように見えるものが表示されていました。ウェブページは次のようなことを言った:
(Chrome):「引き続きWebサーフィンを行うには、このソフトウェアをダウンロードしてインストールしてください。MicrosoftSystem Tools 16.3846。このネットワークツールは、外部のお客様専用に設計されています!」
なんて心強い。ちなみに私はMacbook Proを使っています。私が問題を抱えていたサイトのタイプは、gmail、facebook、wikipedia、youtubeでした。
とにかく、それはクロスブラウザーであり、ネットワークに関連しているように見えました(同じコンピューターを使用する他のネットワークでは問題はありませんでした)。キャッシュのクリア、ブラウザーの再インストール、新しいブラウザーのインストール、ウイルススキャンの実行など、何も修正するために機能するようには見えませんでした。ネット上には特定の情報はあまりありません...コンピューターの日付/時刻のチェックに関連する情報の多くは、この場合は問題になりません。
モデムの設定をリセットしたところ、当分の間、SSLエラーは解決しました。私のIPアドレスは同じですが、IPスプーフィングの問題ではないでしょうか?
とにかく、うまくいけばこれは他の人を助ける。
乾杯、
エリック