Guten Abend,
es geht um ein Shared Hosting bzw. darum, dass die User fsockopen und url_fopen "genießen" können. Damit lässt sich natürlich sehr viel Mist bauen. Daher ist userspezifischer Traffic limitiert:
Begrenzt wird hierbei auf 30 Requests in 60 Sekunden (diese Werte stehen in einem Array). Scheint für die meisten Anwendungen auszureichen, schützt aber dennoch vor ausgehendem DoS (o.ä.).
Meine eigentliche Frage ist jetzt:
Macht es Sinn, dass nur TCP durchgelassen wird? Schränkt das den Webspace-User ein oder macht man mit z.B. UDP eher Mist? Wie gesagt, das sind Webspaces - mir ist nichts bekannt, wofür man mehr als TCP braucht - aber vielleicht denk ich einfach nicht weit genug.
Oder sollte man doch ganz anders vorgehen?
Danke im Voraus für die Antworten!
Edit:
iptables -L gibt solche Sachen aus:
- Ist es hierbei "schlimm", dass das ACCEPT am Ende steht? Wird da gar nichts limitiert? 
Grüße
es geht um ein Shared Hosting bzw. darum, dass die User fsockopen und url_fopen "genießen" können. Damit lässt sich natürlich sehr viel Mist bauen. Daher ist userspezifischer Traffic limitiert:
Code:
iptables -A OUTPUT -o eth0 -m owner --uid-owner %owner% -j DROP
iptables -I OUTPUT -p tcp -o eth0 -m owner --uid-owner %owner% -m state --state NEW -m recent --update --seconds %limitsec% --hitcount %limitcount% --name LIMIT_%owner% -j DROP"
iptables -I OUTPUT -p tcp -o eth0 -m owner --uid-owner %owner% -m state --state NEW -m recent --set --name LIMIT_%owner%
Meine eigentliche Frage ist jetzt:
Macht es Sinn, dass nur TCP durchgelassen wird? Schränkt das den Webspace-User ein oder macht man mit z.B. UDP eher Mist? Wie gesagt, das sind Webspaces - mir ist nichts bekannt, wofür man mehr als TCP braucht - aber vielleicht denk ich einfach nicht weit genug.
Oder sollte man doch ganz anders vorgehen?
Danke im Voraus für die Antworten!
Edit:
iptables -L gibt solche Sachen aus:
Code:
tcp -- anywhere anywhere owner UID match <USERNAME> state NEW recent: SET name: LIMIT_<USERID> side: source
DROP tcp -- anywhere anywhere owner UID match <USERNAME> state NEW recent: UPDATE seconds: 60 hit_count: 31 name: LIMIT_<USERID> side: source
ACCEPT tcp -- anywhere anywhere owner UID match <USERNAME>
Grüße
Last edited by a moderator: