Warum sollte ich für eine Sitzung mehrere IP-Adressen auf einer Website zulassen?


18

Ich hoffe, meine Frage entspricht dem Umfang dieser Website.

Ich entwickle ein CMS . Momentan sind meine angemeldeten Benutzer für die Sitzung an ihre IP-Adresse gebunden. Leider springt ein kleiner Teil meiner Nutzerbasis ständig zwischen zwei oder mehr IP-Adressen. Die meisten von ihnen verwenden wahrscheinlich Load Balancer. Technisch ist es nicht erforderlich, die Benutzersitzungen an eine IP-Adresse zu binden. Ich habe nicht erwartet, dass Clients für eine einzelne Seitenanforderung auf meiner Website zwischen mehreren IP-Adressen wechseln.

Ich frage mich jetzt, welche Risiken es birgt, wenn meine Kunden bei einer Seitenanforderung ständig zwischen IP-Adressen wechseln (z. B. werden CSS-Dateien von xxx.xxx.xxx.xxx und JavaScript-Dateien von yyy.yyy.yyy angefordert). yyy)? Sollte ich das generell erlauben oder verbieten?


39
Sie benötigen nicht einmal Load Balancer, um IPs zu umgehen. Stellen Sie eine Verbindung mit Ihrem Telefon in der U-Bahn her. Möglicherweise erhalten Sie alle paar Minuten eine andere IP-Adresse, wenn der Zug fährt, und erneut, wenn Ihr Telefon an einem Zielort auf WLAN umschaltet.
Whatsisname

13
Auch für Laptops, die zwischen Standorten wechseln (z. B. home> work> starbucks). Außerdem: IPv6-Zufallsadressen (IPv6-SLAAC-Datenschutzerweiterungen).
März

intuitiv würde ich erwarten, dass der Client, der auf verschiedenen Quell-Ips herumspringt, Probleme verursacht, wenn es mehr als "gelegentlich" ist.
Tom H

1
Wenn Sie eine Webanwendung entwickeln, die in einem von Ihnen kontrollierten Netzwerk installiert wird, oder Sie wissen, dass Sie dies möglicherweise aus Sicherheitsgründen tun, da Sie möglicherweise sagen können, dass in dieser Situation nicht mehrere IPs auftreten, da Benutzer dies tun müssen greifen Sie von ihrem WS aus darauf zu und es gibt keine Load Balancer oder andere Dinge dazwischen, die ihre IP ändern könnten "... in diesem Fall können Sie möglicherweise sogar die IPs der Benutzer verfolgen, da ihr WS immer die gleiche (oder dieselbe) hat möglicherweise nur einmal alle paar Monate)
Bakuriu

1
@TomH Nein, die große Mehrheit der Webanwendungen kümmert sich nicht um Ihre IP-Adresse. Sie akzeptieren dieselben Cookies in einer HTTP-Anfrage über eine neue TCP-Verbindung. Nur wahnsinniger und schlecht gestalteter Mist sperrt Ihre Sitzung an eine IP oder eine Verbindung.
Navin

Antworten:


35

Ein kleiner Teil meiner Nutzerbasis wechselt ständig zwischen zwei oder mehr IP-Adressen.

Ursachen

Angenommen, Ihre Benutzer versuchen nicht aktiv, ihre realen IP-Adressen mithilfe eines Anonymisierungsdienstes zu verbergen ...:

Die meisten Unternehmensbeispiele, die ich gesehen habe, werden von größeren Unternehmen und einigen Internetdienstanbietern verursacht, die einen Cluster von Proxy-Servern mit jeweils einer anderen externen IP-Adresse verwenden, wobei Benutzeranforderungen über diesen Cluster verteilt werden.

Möglicherweise stellen Dual-Stack-Benutzer Anforderungen über IPv4 und IPv6 und wechseln für nachfolgende Anforderungen zwischen den beiden Protokollen RFC 8305 .

Das andere Szenario ist, wenn ich mich in der äußersten Reichweite eines WLAN-Zugangspunkts befinde und mein Gerät "zufällig" zwischen WLAN- und Mobilfunkdaten wechselt.

Lösungen

Im ersten Szenario können Sie Kompromisse eingehen, wenn Sie in Ihren Sitzungen die "Sicherheit" einer solchen IP-Adresse beibehalten, indem Sie nur die ersten drei Oktette berücksichtigen, da sich ein solcher Cluster von Proxyservern normalerweise alle in einem kleinen Subnetz befindet und benachbarte IP-Adressen aufweist.

Im zweiten und dritten Szenario sehen Sie völlig unterschiedliche Client-IP-Adressen, sogar von unabhängigen Anbietern.

Binden Sie Ihre Sitzungen nicht an eine bestimmte IP-Adresse, da dies die Benutzererfahrung eher beeinträchtigt als die tatsächliche Sicherheit erhöht.


27
Aus genau diesen Gründen bindet niemand mehr Sitzungen an IP-Adressen.
Michael Hampton

33
NIEMALS Sessions an IP-Adressen binden, die 80er sind vorbei! Mein ISP versorgt mein Telefon mit einem vollständigen / 64-Netzwerk, in dem mein Browser wie verrückt herumspringt .
Bjoster

6
Darüber hinaus wird Multipath TCP immer häufiger.
Kann Poyrazoğlu

3
Wenn Sie Ihr CMS für technische Benutzer erstellen, können Sie auf der Anmeldeseite
Ferrybig

6
@bjoster Das liegt daran, dass die IPv6-Datenschutzerweiterungen ständig die Adresse wechseln, sodass Websites Sie nicht allein anhand Ihrer IP nachverfolgen können (dies ist bei IPv4 kein Problem, da mehrere Personen hinter derselben Adresse stehen)
Ferrybig,

9

Ich frage mich jetzt, welche Risiken es birgt, wenn meine Kunden bei einer Seitenanforderung ständig zwischen IP-Adressen wechseln (z. B. werden CSS-Dateien von xxx.xxx.xxx.xxx und JavaScript-Dateien von yyy.yyy.yyy angefordert). yyy)? Sollte ich das generell erlauben oder verbieten?

Das Hauptrisiko besteht darin, dass ein böswilliger Benutzer die Sitzung missbraucht. Wenn Sie sich auf eine oder einen kleinen Satz von IP-Adressen beschränken könnten, könnten Sie verhindern, dass Benutzer mit völlig anderen IP-Adressen die Sitzung übernehmen.

Das Problem ist, dass einige Benutzer dies legitim tun. Unabhängig davon, ob sie einen Proxy mit Lastenausgleich verwenden oder sich am Rand von zwei drahtlosen Zugriffspunkten (oder was auch immer) befinden, verwenden sie mehrere IP-Adressen. Sie müssen es also für diese Benutzer so ziemlich zulassen. Und es ist schwer zu sagen, welche Benutzer mehrere IP-Adressen benötigen, es sei denn, sie fordern mehrere IP-Adressen an.

Eine Möglichkeit, die Auswirkungen zu verringern, ist die Verwendung von HTTPS. Dann muss der böswillige Akteur eine Möglichkeit haben, sowohl die sichere Ebene als auch das Sitzungscookie zu gefährden. Über eine unsichere Verbindung könnte der böswillige Akteur die Netzwerkinspektion nur verwenden, um ein Sitzungscookie zu gefährden. Über HTTPS muss jedoch derselbe böswillige Akteur Zugriff auf eines der Gesprächsenden haben. Und wenn der böswillige Akteur das hat, ist es nicht notwendig, eine andere IP zu verwenden.

TL; DR : Im Allgemeinen sollten Sie Anforderungen von verschiedenen IP-Adressen für denselben Benutzer zulassen. Es gibt legitime Gründe dafür. Verwenden Sie stattdessen HTTPS, um sich vor diesen Exploits zu schützen.


4

Was sind die Risiken, wenn ich meinen Kunden erlaube, bei einer Seitenanfrage ständig zwischen IP-Adressen zu wechseln?

Aus sicherheitstechnischer Sicht - null Risiken.

Nun aus praktischer Sicht. Dies bedeutet, dass Sie bestimmte Arten von Algorithmen weder für die Sicherheit noch für den DoS- Schutz verwenden können.

Eine einfache Möglichkeit, Benutzeranforderungen zu drosseln, besteht darin, nach IP-Adresse zu verfolgen. Da dies nicht mit Ihrem Anwendungsserver interagieren muss, können Sie dazu Dienste auf niedrigeren Ebenen verwenden. Software wie mod_evasive von Apache macht das. Sie können diese Techniken weiterhin verwenden, aber Benutzer, die IP-Adressen ändern, werden ihre Wirksamkeit verringern. Andererseits werden Benutzer die IP-Adressen sowieso wechseln, so dass diese Techniken nie wirklich effektiv waren.

Ein verwandter, aber anderer Anwendungsfall ist das Drosseln fehlgeschlagener Anmeldeversuche. Dies dient dazu, das Erraten von Brute-Force-Passwörtern zu verhindern. Aber auch hier können Sie nichts tun, wenn Benutzer IP-Adressen ändern. Ein wirklich ernsthafter Hacker würde nicht einmal seine eigenen Maschinen benutzen. Er kauft sich einfach etwas Zeit in einem Botnetz (oder verwendet sein eigenes, zuvor infiziertes Botnetz) und stellt über 10.000 PCs anderer Personen (IP-Adressen) eine Verbindung zu Ihrem Dienst her. Dies hängt nicht wirklich mit der Einschränkung der IP-Adresse des Benutzers zusammen, da es sich um eine Voranmeldung handelt. Beachten Sie dies jedoch.


1

Es gibt mehrere Gründe, warum ein Benutzer zu einer neuen IP-Adresse springen kann.

  1. IPv6-Datenschutzerweiterungen, viele IPv6-Clients werden heutzutage innerhalb von / 64 auf dem LAN herumspringen.
  2. Load Balanced Proxies, die Client-Anfrage wird an einen von mehreren Proxies mit jeweils einer eigenen IP weitergeleitet.
  3. In NAT-Pools wird das Border-Nat mit mehreren IP-Adressen konfiguriert und weist Client-TCP-Verbindungen IP / Port-Kombinationen aus dem Pool arbitarilly zu.
  4. Der Benutzer wechselt zwischen verschiedenen Netzwerken oder Teilen eines Netzwerks, wie es heutzutage bei Telefonen üblich ist.
  5. Dual-Stack-Benutzer können zwischen IPv4 und IPv6 wechseln.

Ich frage mich jetzt, welche Risiken es birgt, wenn meine Kunden bei einer Seitenanforderung ständig zwischen IPs wechseln

Das Sperren von Client-Sessoins auf IPs hat den Vorteil, dass Sitzungsdiebstahl-Angriffe schwieriger werden. Wenn ein Angreifer über einen Mechanismus verfügt, mit dem er die Client-Cookies stehlen kann, jedoch keine Verbindungen von der IP-Adresse des Clients zu Ihrem Server herstellt, blockiert die IP-Sperre den Diebstahl der Sitzung.

Der Nachteil ist, wie Sie sagen, dass es für einige Benutzer zu Problemen kommen wird, deren Sitzung ohne ersichtlichen Grund für ungültig erklärt wurde.

Die meisten Websites scheinen heutzutage der Meinung zu sein, dass der Bruch die Vorteile eines solchen Verschlusses überwiegt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.