web-dev-qa-db-ja.com

MACアドレスに基づいてブロックできますか?

IPをブロックすると、攻撃者は新しいIPを取得するか、プロキシを使用してブロックを回避できます。 MACアドレスで禁止することはできますか?不要なユーザーがサイトへの不要なトラフィックを作成しないように、Webサーバーレベルでブロックしたいと思います。

MACアドレスはHTTPリクエストの一部として送信されますか?

15
Geek

いいえ、MACアドレスはヘッダーで送信されません。難しいですが、チェックすることをお勧めします: https://panopticlick.eff.org/

要するに、答えはnoであり、通常はブロックできませんMACアドレスに基づきます。そしてできれば、それは役に立たないでしょう。理由を理解するには、インターネットの仕組みについて少し知っておく必要があります。

デバイス間の通信は一般に Ethernet protocol(wiki) を介して行われ、送信元と宛先がIPで識別されているにもかかわらず、実際の通信はMACごとに行われます。次のネットワークを想像してください。

クライアントがサーバーにパケットを送信したい場合、最初にサーバーが同じサブネット内にあるかどうかをチェックします。いいえ、サーバーには10.x IPがあり、クライアントには192.168.x IPがあります。クライアントは、それを宛先に転送できることを期待して、ルーターR1に送信します。パケットに含まれるもの:

Source IP:       192.168.1.100     (belongs to: Client)
Destination IP:  10.1.1.1          (belongs to: Server)
Source MAC:      01:01:01:02:02:02 (belongs to: Client)
Destination MAC: 02:01:01:02:02:02 (belongs to: R1)

その場合、R1は「ああ、そのIPはインターネット上のどこかにある」のようなものです。 (サーバーがパケットを送り返すことができるように)送信元IPをパブリックIPに変更し、R2に転送します。パケットには以下が含まれます。

Source IP:       172.16.1.1        (public IP from R1)
Destination IP:  10.1.1.1          (belongs to: Server)
Source MAC:      02:01:01:02:02:02 (belongs to: R1)
Destination MAC: 03:01:01:02:02:02 (belongs to: R2)

ご覧のように、宛先IPは変更されませんが、転送先のルーターと送信元のルーターに基づいて、(ルーターによって)転送されるたびにMACアドレスが変更されます。

今後は、R2がNATルーターではないため)R1が行ったようなIPを改ざんすることはありません(ほとんどの消費者が持っているように)。R2は単にパケットを転送します。

最終的に、サーバーはR3からのMACアドレスのみを参照できます。通信が機能するためには、R1からの元のIP以外に知っている必要があるのはそれだけです。 (返信パケットがR1に戻ってきたら、パケットがクライアントに届くように他のことを確認します。)すべての通信が単にMACベースではない理由を知りたい場合は、 serverfaultに関するこの質問

これに対する1つの例外は、クライアントがサーバーと同じLAN内にある場合です。先ほど触れたように、クライアントはまず自身のIPサブネットと宛先を比較します。同じである場合(例:192.168.1.101と192.168.1.44、/ 24サブネットの場合)、通信はMACアドレスに基づいています。クライアントは、サーバーのIPに属するMACを要求するメッセージをLANにブロードキャストし、そのMACに送信します。パケットにはまだ宛先IPが含まれていますが、2つの間にルーターはありません。 (あるかもしれませんが、それはルーターとしてではなく、スイッチまたはハブとして機能します。)しかし、これはおそらくあなたが考えていたシナリオではありません。

MACを特定できた場合、かなり大きなプライバシー違反になります。あなたのMACアドレスは間違いなく世界中であなたを一意に識別するので、広告ネットワークはあなたを追跡するのに問題はなく、またcookieや他の方法を追跡することもありません。

攻撃者をMACでブロックすることは、攻撃者をcookieでブロックすることと同じです。理由はほとんどないので現在はほとんど変更されていませんが、MACで攻撃者を特定してブロックできれば、単純に変更できます。ルーティング可能にするには、IPアドレスをグローバルに認識する必要がありますが、MACにはこの問題はありません。

また、攻撃者は、そのMACアドレスをスプーフィングしてブロックをトリガーすることにより、MACを知っているクライアントをブロックする可能性があります。そのMACアドレスを実際に使用するユーザーは、サービスの使用を禁止されます。

結論:可能であればかなり効果がなく、DoSの脆弱性が発生しますが、クライアントにMACを送信させることができないためHTTPヘッダーか何か、それは同じLANの外では不可能です。

18
Luc

送信元MACアドレス(レイヤー2)は、パケットを転送する 最後のルーター のみを表示します。

7
Bradley Kreider

この質問の意味がわかりません-WebサーバーでのHTTPリクエストのブロックWifiポイントへのアクセスをフィルタリングしますか?ファイアウォールとルーティング?

ただし、MACアドレスに基づいてブロックできるかどうかに関係なく、より適切な質問は、ブロックするべきかです。
そして簡単な答えはいいえです。

簡単に言うと、MACアドレスは簡単に変更またはスプーフィングでき、エンドユーザーが完全に制御できます(そうです、ほぼ完全に)。したがって、それに基づいて任意のタイプのコントロールを実装しようとしても意味がありません。

4
AviD