- ベストアンサー
セッション脆弱性を克服するには?
- セッション脆弱性を克服するためには、SSLを使用したログイン認証ページのみに限定し、セッションIDの安全な保存と照合を行う必要があります。また、セッションIDの盗聴やクロスサイト攻撃への対策も重要です。
- 多くのサイトがログイン認証ページにSSLを使用し、それ以外のページは非SSLとする認証方式を取っている理由は、コストやパフォーマンスの問題が関係している場合があります。しかし、セッション脆弱性への対策が不十分な場合はセキュリティ上のリスクがあります。
- セッション脆弱性を防ぐための画期的な方法としては、セッション固定化攻撃やクロスサイトスクリプティングへの対策が挙げられます。さらに、セッションIDの無毒化やトークンを用いた二段階認証なども有効な手段です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>2つ目の質問についてですが、セッションライフタイムを1時間にするというのは正規のログイン中のユーザーも1時間経ったら再ログインが必要ということでしょうか? いろいろ考え方はあると思いますが、 最後にアクセスされてからの時間の場合もあるでしょうし、最初のログインからの時間から考える場合もあると思いますよ Okwaveは最終ログインから24時間?なのかな?ときどきログイン要求されますね webショップの決済開始~決済終了画面までのセッションは15分程度のところもありますね~
その他の回答 (1)
>この「教えて!Goo」の認証もログインページはSSLですが、それ以外は非SSLです。といった具合に多くのサイトがこのような認証方式を取っているのか? SSLの公開鍵方式はサーバへの負担が大きい(処理が重い)から、必要最低限の部分に使用している サーバで処理しきれない場合、暗号化、複合化をSSLアクセラレータ(ハードウェア)で行うこともあるくらいです >もう一つ質問は、私は先に上げたような脆弱性を防ぐ方法がわからないのですが、何か画期的な方法でセッションハイジャックなどを防御しているのでしょうか? よくあるのが、セッションのライフタイムを1時間等にするケース これだと、1時間以内にハイジャックが成功しないといけないですね あと、セッションIDを与えたクライアントのIPアドレスを組で管理する セッションを盗聴されてもIPが違うので不正アクセスと判断できる ユーザ側からの操作では、利用しなくなったセッションはログアウトで無効化する >もしくはセッションIDが盗まれてもそのセッションIDでのアクセスを無毒化するような方法があるのでしょうか? 上記のような方法かな
お礼
回答ありがとうございます。 なるほど。一つ目の質問については納得です。 SSL のサーバー、クライアントへの負荷は巨大なのですね。 2つ目の質問についてですが、セッションライフタイムを1時間にするというのは正規のログイン中のユーザーも1時間経ったら再ログインが必要ということでしょうか?
お礼
あ!なるほど!わかった気がします! 確かに、決済画面のまま晩御飯を食べて戻ってきたらタイムアウトしてしまって最初から入力し直した事があります(;´д⊂) その辺はサイトの仕様ということになるわけですね。 色々と丁寧に教えていただいてありがとうございましたm( __ __ )m すごくわかりやすかったです。