web-dev-qa-db-ja.com

転送中および保存中のWebデータを保護する方法(整合性を確保する方法)

考えてみてください(通常のシナリオ)ショッピングカートのWebサイトを所有し、インターネットでホストしている場合、ホスティング会社がデータを格納するためのデータベースを提供します。セキュリティについて話す場合、私たちはそれを以下のために必要とします:

  • サーバー上のファイルとフォルダーの保護(アクセス許可)。
  • データベース:パスワードでデータベースを保護します。
  • プログラミング:ショッピングカートの保護(Webアプリケーションの保護)。
  • 送信中のデータ:クライアントがサーバーに送信するとき、およびサーバーがクライアントに応答を送信するとき(フォーム、注文履歴、ユーザープロファイルなど)などの送信中のデータの保護(ユーザー登録、支払い、請求書など)

大きな問題:整合性を確保する方法は?

  • データを変更した、または変更しようとした不正アクセスを特定しますか?
  • 許可されていないアクションを試行または実行した承認済みアクセスを特定しますか?
  • システム全体の完全性の判断

DBたとえば、MySQLやMSSQLなどのデータベースに保存されたデータは暗号化されず、DBサーバーで安全と見なされます。また、ハグ行の場合、暗号化によりパフォーマンスが低下し、攻撃者がDBサーバーにアクセスすると、秘密鍵も取得できます。

ファイルとフォルダー重要なアクション(アクセス制御、データ保存など)を実行するすべてのファイルを暗号化したとしましょう。攻撃者がサーバーにアクセスした場合、攻撃者は1行を追加してすべて($ _POST、$ _ SESSION、$ _ COOKIE、$ _ GET)をメールに送信します。

転送中のデータSSLが実装されているが、中間者攻撃によってトラフィックのコピーが取得される可能性があることを検討してください(これは可能です)。現在、私とstackexchange.comの間にはいくつのネットワークがありますか?数千!私->私のISP(クライアント->コア->ボーダールーター->外部ISP->外部ISP-> Stackexchangeデータセンター->一部のクラスターまたはその他のモデル-> Stackexchange)これらのネットワーク間のデータが変更されましたか?

この画像を見てください!現在利用できるのはアイデアだけではありません: SSL ATTACK

この時点で、常にTransitのデータに依存するWebアプリケーションのセキュリティを向上させるためのメカニズムがあるかどうかを尋ねています。セキュリティについてのこの悲しみの中で私を通過するいくつかの答えを得たいと思います:(

4
Akam

信頼できるCAからの適切に署名されたSSL証明書を使用して、すべてをSSLで暗号化してください。 Webサーバー/認証局は、プライベートSSLキーを提供してはなりません。同様に、Webブラウザーは、信頼できる認証局の最小限のセットのみを信頼する必要があります。

これにより、盗聴者が復号化/改ざんするのを防ぎます1 コミュニケーション。

1 まあ、彼らはパケットを落としたり、ランダムにパケットを変更したりする可能性があり、非常に高い確率でそのパケットは解読不能になります(パケットを落としたのと同じです)。

Tineyeは、あなたの画像は次の場所からのものだと言っています: http://www.edecision4u.com/HTTPS-SSL.html 、これにはオンラインドキュメントがあります http://www.edecision4u.com /data/DG-HTTPS.SW.Specs.2012.doc (docファイルに注意)。このドキュメントでは特にその制限について述べています。

注:証明書エラーの警告がターゲットユーザーのWebブラウザーに表示されます。この問題は、独自の信頼された認証局(CA)を持つことで解決できます。詳細については、意思決定グループにお問い合わせください。

したがって、この製品を使用するには、ブラウザのCAから信頼されており、MITM攻撃の証明書に署名する必要があります。ただし、侵略的な政府はこれを行うことができる場合があります(特に、ブラウザーがすべてのデフォルトCAを信頼している場合)。

3
dr jimbob