web-dev-qa-db-ja.com

ユーザーの実際の場所を取得するために、VPN接続を(場合によっては)検出するにはどうすればよいですか

私はWebサイトを作成しています。「VPN」を使用せずに、実際の物理的な場所からのみサインアップできるようにしたいと考えています。

ローカル時間とサーバー時間を比較しているのではないかと考えていました...他に...?

どのDNSが使用されているか、それがオープンDNS IPの1つであるかどうかを確認しますか?または、VPN企業に登録されているIP範囲を知ることが可能かどうか?

9
Yovav

ユーザーがVPNサービスプロバイダーを使用していることを確認することはそれほど難しくありません。それらのほとんどは、出口ゲートウェイ用の静的IPアドレスを持っているため、既知のIPアドレスのリストを使用してVPNを識別することができます。また、リストがない場合でも、単純なDNS逆ルックアップでは、IPにホスト名が明らかにVPNプロバイダーであり、通常のインターネットサービスプロバイダーによって割り当てられていないことが示されている可能性があります。

ただし、ほとんどのVPNサービスは特にこれを防止するように設計されているため、VPNユーザーの匿名化はより困難な場合があります。考えられる攻撃ベクトルは、ユーザーの必要以上にユーザーについて語る、ブラウザーのフィンガープリントとおしゃべりなブラウザープラグインです。

12
Philipp

各パケットの周りのVPNヘッダーがスペースを取り、その後消える場合、MTUはパケットサイズとMTUを比較して、ユーザーがVPNの背後にいることを推測する方法(ワイルドな推測)を考え出す可能性があります。パケットは他のストリームより常に小さいです。

さらにワイルドな推測は、彼らが往復時間(より正確には、tcp ackが送信されてから次のパケットが戻るまでの時間)を見ていることです。ほとんどのコンピューターは、マイクロ秒単位で向きを変えるのに十分な速度です。そのため、特定のホスト(単一のIP送信リクエスト)で、一部またはすべてのユーザーが実際に世界の遠い部分につながるVPNの背後にいる場合、RTTの変動は非常に大きくなります(一部は120ミリ秒、その他は30ミリ秒など)。これは、誰が一意であるか、何がVPNであるのか、NAT(多くのユーザーはいるがRTTはほとんど同じです)のフィンガープリントを形成します。)

6
Jeff Meden

一般に、誰かがVPNから来ているかどうかを知ることはできません。

VPNを提供している一部の企業のIP範囲を見つけることができる場合がありますが、この情報は読み取り可能ではなく、すぐに古くなります。良いリストを見つけて最新の状態に保つように管理しても、包括的ではありません。多国籍企業で働いているとき、自分のオフィスのどこにでもトラフィックをルーティングすることを選択できました。インターネットに接続している人なら誰でも、友達にVPNサービスを提供できます。 IPアドレスで場所を推測しようとしている場合は、TORユーザーを検出して検出するか、すべてのTOR出口ノードをブラックリストに登録する必要もあります。

また、一部のISPは、地理的に正しく配置されていないIPアドレスを提供していることに注意してください。これにより、誤検知や誤検知が発生する可能性があります。

4
David Waters