4

私は、ユーザーが html と javascript を使用して独自のオンライン プレゼンテーションを構築できるこの webapp を構築しています (これらのアップロードは、サーバー自体ではなく AWS S3 に行われます)。ドメイン名をアプリケーションに接続します。私は次の設定をしていますが、これがセキュリティの観点から最も安全な設定であるかどうか、および/またはリスクが何であるかを知りたいです。助けてくれてありがとう!

グローバル設定

  1. ユーザーが非 sl ドメイン ( http://userdomain.com ) から admin にログインすると、ログインフォームは資格情報を SSL ログインドメイン ( https://logindomain.com )に直接送信します。

  2. logindomain.com で検証が行われ、成功すると新しい PHP セッションが開始されます。セッションは userdomain.com に対してのみ有効です。session_id も、このユーザー アカウントのデータベースに保存されます。

  3. 次に、この session_id が $_GET (双方向暗号化) 経由で userdomain.com に送信されます

  4. userdomain.com を追加すると、送信された session_id がデータベースの useraccount に対して検証され、OK の場合、この session_id に基づいて新しいセッションが開始されます。新しいセッションが完了すると、データベースで session_id が再生成および更新されます。このセッションは限られた時間有効です (セッションのタイムアウトに関してだけでなく、データベース内でも)

  5. ユーザーはログインしているため、アプリケーション (非 SSL) に転送されます。

  6. 各ページで、session_id と有効なタイムウィンドウに基づいて、ユーザー セッションがデータベースに対して検証されます。

サーバーは共有ホスティング設定ではないため、セッション データを共有する他の仮想ホストはありません。

このログイン設定は安全ですか?それともどうすればより安全にできますか?

ありがとう!乾杯

グラム。デニス

4

1 に答える 1

3

ユーザーが非 sl ドメインから admin にログインすると ( http://userdomain.com)、ログインフォームはクレデンシャルを SSL ログインドメインに直接ポストします ( https://logindomain.com) 。

これは、フォームが HTTP 経由で提供されたことを示しています。したがって、資格情報が攻撃者によってキャプチャされるように傍受および編集される可能性があります。これは安全ではありません。

ユーザーはログインしているため、アプリケーション (非 SSL) に転送されます。

セキュリティで保護する必要があるデータを含む (または含む予定の) ページは、SSL 経由で送信する必要があります。ユーザーがログインしたら、SSL を離れないでください。そうすると、Firesheep スタイルの攻撃にさらされます。

于 2013-02-22T07:37:18.343 に答える