Thread IO::Socket -Listen (4 answers)
Opened by snarf at 2005-05-12 12:36

Froschpopo
 2005-05-12 02:21
#37755 #37755
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ich hab nen kleinen Server gebaut.
Jetzt beschäftige ich mich grad mit dem Thema Sicherheit:

Der Server akzeptiert max. 10 Socketverbindungen. Das lege ich mit der IO::Socket-Option Listen fest.
Wenn ich jetzt ein böswilliger Mensch währe, könnte ich ja aus 10 verschiedenen konsolen 10 Verbindungen aufbauen um so die Aufnahme neuer Sockets zu verhindern. So könne man ja theoretisch den Server lahmlegen.

Bisher hab ich das so gemacht, dass ich nach einer neuen Socketverbindung die IP-Adresse mit bereits vorhandenen Verbindungen verglichen hab und im Falle eines doppelten vorkommens die neue Verbindung der IP-Adresse gelöscht hab.
So dass immer nur ein User mit derselben IP-Adresse einbgeloggt werden kann.

Allerdings kann ich das nur machen, wenn der User schon eine Socketverbindung herstellt hat.

Man könnte also theoretisch ein Programm bauen, welches z.b. in einer Schleife den Server mit neuen Socketverbindungen vollspammt und zwar schneller als der Server die IP-Adressen vergleichen und doppelte Sockets löschen kann.

Meine Frage:
Gibt es ne möglichkeit, schon WÄHREND des Verbindungsaufbaus die IP-Adresse des Clients auszulesen um so die Aufnahme als Socket verhindern zu können wenn z.b. bereits eine Verbindung mit selbiger IP besteht ?

Ferner würde mich noch interessieren ob es noch andere Möglichkeiten gibt Clients voneinander zu unterscheiden. Denn die Methode mit der IP hätte ja zur Folge, dass Proxys nichtmehr unterstützt werden könnten bzw zwei Menschen die denselben Proxy verwenden, einer von beiden die Arschkarte bekäme.\n\n

<!--EDIT|Froschpopo|1115850235-->

View full thread IO::Socket -Listen