web-dev-qa-db-ja.com

安全なサイトでのGoogle Analytics

Google Analyticsと偽造証明書のリスク に関するこの記事を読んでください。

遅かれ早かれ、それは起こるでしょう。偽造されたSSL証明書を取得することは、それ以外の場合は期待するのが簡単すぎます。それについて私たちは何ができますか? HTTPS経由でサイトにアクセスする場合は、GoogleアナリティクスのJavaScriptを読み込まないでください。これは簡単です。GoogleアナリティクスのJavaScriptを読み込むdocument.writeまたはs.parentNode.insertBeforeコードの周りにif( "http:" == document.location.protocol)をスローするだけです。 Tarsnapオンラインバックアップサービスのウェブサイトでこれを何年も行っています。SSL証明書が偽造される可能性を心配するだけでなく、Googleがユーザーのパスワードを盗むことも望まないからです。 !

重要なのは、Googleアナリティクスの優れた点の1つは、目標を追跡できることです。つまり、ユーザーに特定の方法でサイトを操作してもらうことができます。

SSLのこの機能をオフにすると、多くの目標(サインアップして商品を購入させる)が必然的にブロックされることになります。

だから、私は引き裂かれています。私のウェブサイトのセキュリティの類似性を維持しながら、この目的でGoogleアナリティクスを使い続ける方法はありますか?これは、機能とセキュリティの不可能なトレードオフですか?

8
Jordan Reiter

本質的にはそれはリスクです。安全なページでサードパーティがホストするJavaScript(Google Analyticsなど)を使用することを選択した場合、情報を収集するための扉を開きます。これには、悪意を持って偽造された証明書や、Googleによるga.jsスクリプトの変更が含まれる可能性があります。

分析データをキャプチャするためにセキュリティを必要としないセクションを介して人々をプッシュしてプッシュするWebアプリケーションのフローを検討するか、モバイルデバイス向けGoogleアナリティクスの実装を検討することができます。

JavaScriptをサポートしていないデバイスは、通常、分析データをGoogleに送信できません。この場合、Googleはサーバー側の代替実装サンプルを提供します。 http://code.google.com/apis/analytics/docs/mobile/mobileWebsites.html を参照してください

この場合、コードを変更したり、ウェブアプリケーションを拡張したりできる場合は、必要な情報のみをGoogleに送信できます。これには明らかに、サーバーにGoogleへの接続を開始する必要があり、負荷を誘発する可能性があるため、慎重に保護する必要があります。

この設計は、JavaScriptをサポートするWebクライアントを対象としたものではなかったため、Googleのサービス規約に違反していないことを確認する必要があります。

6
Bernie White

その記事はばかげています。今日でも証明書を偽造できる可能性はありますが、最初にジャンプするフープはまだたくさんあります

まず、証明書を持っているからといって、それを使って何もできない。彼らは自分のサーバーを使用するようにDNSを変更する必要があります(おそらくDNSポイズニングを介して将来問題になることはないでしょう)。そうすれば、偽のマシンで証明書を提示できます。

次に、彼らのコードはあなたのサイトに特化する必要があります。そのジェネリックと言って、彼らがサードパーティのJavaScriptに悪質なコードを追加することができます(サイトが何であるかを知らずに)できる最も注目すべきことは、Cookieを盗む、DOM/htmlを盗むことです。 httpのみのCookieを使用している場合は、サイトへのセッションを盗んだりクローンしたりすることはできません。基本的に彼らが持っているのは読み取りサポートだけです。多くのサイトがgoogle analyticを使用しているため、サーバーにDOMを送信するのが一般的であると想定すると、マシンの帯域幅が大幅に増える可能性があります。

一般的な攻撃の場合、問題は発生しません。今、あなたが目標を定めた立場を求めているのなら、それがあるかもしれない。その人が証明書を取得してDNSを害することができると想定すると、コードがDOMから機密データを取得し、ajax経由でクエリを実行することが可能です。ただし、ソフトウェア、サーバー、ホスティング会社(ソーシャルエンジニアリングの使用を含む)をハックする方が、サイトをターゲットにするよりもはるかに簡単です。それは問題ではないと思います。銃を持ってデータセンターに侵入し、ハードドライブを盗むようなものです。それは可能ですか?実際にあなたはその小さなチャンスを気にしていますか?

1
user5575