sockt verbindungen beschränken.

Apache, Lighttpd, nginx, Cherokee
andreas-stoltze
Posts: 2
Joined: 2012-07-24 19:44

sockt verbindungen beschränken.

Post by andreas-stoltze » 2012-07-24 20:01

Hallo,
gibt es eine Möglichkeit die Anzahl der Socketverbindungen zu beschränken welche ein User pro Tag haben kann?
(System openSuse)

Vielen dank im voraus!

Andreas

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: sockt verbindungen beschränken.

Post by daemotron » 2012-07-25 17:24

Kurze Antwort: nein

Lange Antwort:
Man kann die Anzahl parallel offener File Handles beschränken (man ulimit) - das ist aber nicht dasselbe wie ein Counter, der die Anzahl an geöffneten File Handles in einem bestimmten Zeitraum überwacht. Außerdem wird hier generell die Anzahl offener File Handles mit limitiert, nicht nur File Handles vom Typ AF_INET, AF_INET6 oder AF_UNIX.

Um das zu erreichen, was Du möchtest, müsste man einen Kernel-Patch schreiben, der den Syscall hinter der socket()-Funktion überschreibt (bzw. als Wrapper für diesen agiert) und eine entsprechende Counter-Tabelle im Kernel-Space pflegt.

Alternativ könnte man auch per Cron im Minutentakt mittels lsof die offenen Sockets eines Users abfragen, dabei gleichnamige Sockets eliminieren und den verbleibenden Rest als neu zählen. Sobald neu kumulativ einen bestimmten Schwellwert überschreitet, könnte man dann per ulimit die Anzahl erlaubter File Handles auf Null setzen (sehr drastisch) oder zumindest auf 1 beschränken. Sehr genau ist das aber nicht; ein Programm, das in einer Endlosschleife Sockets erzeugt, könnte innerhalb der einen Minute das Tageslimit locker mehrfach ausschöpfen, bevor der Cron-Job überhaupt zum Zuge kommt. Außerdem erfasst der Cron-Job natürlich nur Sockets, der über die Grenze der vollen Minute hinaus geöffnet waren.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

andreas-stoltze
Posts: 2
Joined: 2012-07-24 19:44

Re: sockt verbindungen beschränken.

Post by andreas-stoltze » 2012-07-25 21:19

besten Dank! Das hat auf jeden Fall geholfen (muss mir jetzt nicht mehr den Kopf zerbrechen) :-BD