web-dev-qa-db-ja.com

サーバーは、セッションハイジャックを防ぐために、サーバー側にコンピューターのMACアドレスを保存できますか?

サーバーは、セッションハイジャックを防ぐために、サーバー側にMACアドレスコンピューターを格納できますか?

たとえば、サーバー側の場合、サーバーはMACアドレスとセッションIDをペアで保存し、すべてのリクエストでMACアドレスとセッションIDを比較して、セッションの乗っ取りを防ぎます。

私はそれが実行されているか実行可能である場合、セッションの乗っ取りを防ぐのに役立ち、良い解決策になると思います。

これは実行可能ですか、それができない場合、それを妨げる問題は何ですか。

2
Mohamad

一般にセッション終了の条件としてMACアドレスを使用する

一般に、変更されたMACアドレスは、セッションを終了するための弱い条件として使用される可能性がありますが、

  • それらはほとんどのネットワークカードで任意に偽造することができます(そのため、これを可能にするものを見つける必要があります)
  • また、ユーザーが同じデバイス上にいるときにも変更されますが、ネットワークインターフェイスを切り替えます(たとえば、モバイルブロードバンド、WiFi、イーサネット接続間)。

サーバーはクライアントのMACアドレスを知りません

とにかく、サーバーがクライアントのMACアドレスをまったく受信せず、クエリを実行できないため、サーバーでMACアドレスを学習することはできません(彼が同じネットワークセグメントにいない限り、ほとんど発生しません)インターネットシナリオ)。

MACアドレスは OSIレイヤー 2( データリンク )でのデータ送信にのみ使用され、前の送信者のMACアドレス情報は、パス上の各ルーターによって置き換えられます。ネクストホップのフレームヘッダー。

Address Resolution Protocol ARP は、ローカルネットワークセグメントに限定されているため、クライアントのMACアドレスの学習にも役立ちません。

6
Jens Erat