web-dev-qa-db-ja.com

SNISSL証明書によるカード支払いの受け入れ

私が作成しているアプリの一部として、Stripeを使用している顧客に代わってカードを処理するプレミアムバージョンを作成しています。

sNI(Cloudflare)ベースのSSL証明書は、これに対して安全性が低いと見なされていますか/仕事にとって悪いツールですか?

明らかに適切に統合したいのですが、SNIがオプションでない場合は、チェックアウトを使用できます。

ありがとう

1
FBMG_

まず、SNISSL証明書やSNIベースのSSL証明書などはありません。 SNIはTLS拡張であり、クライアントはTLSハンドシェイクにサーバー名を含めて、複数の証明書が同じIPアドレスで提供される場合にサーバーが正しい証明書を選択できるようにします。 SNIで使用される証明書と使用されない証明書の種類に違いはありません。ブラウザは、サーバーが適切な証明書を提供する必要があるかどうかがわからないため、すべてのTLS接続にSNI拡張機能を使用します。

代わりに、主な質問は、TLS接続のエンドポイントがどこにあるかです。 CloudflareのようなCDNの場合、このエンドポイントはCDNです。これは、Cloudflareが復号化されたトラフィックを確認できることを意味します。また、複数のホストが同じIPアドレスで提供されるため、CloudflareはSNIを使用してこれを可能にします。ただし、これは単なる副作用であり、セキュリティ自体の問題ではありません。

同様の問題で、共有ホスティングまたはマネージドホスティングを使用している場合に実行します。この場合、少なくともシステムを管理している会社は、復号化されたトラフィックにアクセスできます。また、共有ホスティングを使用すると、同じシステムを他の何百人ものユーザーと共有するため、攻撃対象領域が大幅に増加します。攻撃者は、システムにアクセスするために、Webアプリケーションの1つに単一の弱点があるか、シェルアクセスに弱いパスワードが必要になることがよくあります。特権昇格攻撃により、彼はシステム全体をすばやく所有し、復号化されたトラフィックを確認できます。また、SNIは、複数の証明書間で同じIPアドレスを共有するために共有ホスティングでよく使用されます。ただし、この場合、問題はSNIではありません。

最善のオプションは、独自のサーバーをTLSエンドポイントとして使用し、他のサーバーと共有せず、安全な方法で管理する場合です。また、代わりにTLSエンドポイントとなるCDNを前に使用しないでください。ただし、いつものように、すべてのリスクを一緒に明確に評価する必要があります。TLSエンドポイントとして機能するCDNを前面に配置することはセキュリティに悪影響を及ぼしますが、DOS攻撃から保護するCDNを配置することはセキュリティに優れています。

1
Steffen Ullrich