PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache Zugriff limitieren



Friesi
09.07.04, 22:59
Also ich möchte gerne, das ein User nur 40 mal pro Minute den Apache Server "befragen" darf.

Ich habe so eine iptabels Regel angelegt:
iptables -A INPUT -i eth0 -p tcp --dport 80 -m limit --limit 40/m -j ACCEPT

doch sperrt er mir damit nach 40 zugriffen den Apache. Also er zählt die 40 Zugriffe von allen IPs zusammen und nicht von jedem.

Was muss ich an der Regeln denn ändern?

Danke

corresponder
10.07.04, 08:59
hi,

macht mensch das nicht besser über den apache selber?

z.b. in der httpd.conf:

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15


es gibt da massen an einstellungsmöglichkeiten...

evtl hilft dir das?!


gruss

c.

derRichard
10.07.04, 09:46
Also ich möchte gerne, das ein User nur 40 mal pro Minute den Apache Server "befragen" darf.

Ich habe so eine iptabels Regel angelegt:
iptables -A INPUT -i eth0 -p tcp --dport 80 -m limit --limit 40/m -j ACCEPT

doch sperrt er mir damit nach 40 zugriffen den Apache. Also er zählt die 40 Zugriffe von allen IPs zusammen und nicht von jedem.

Was muss ich an der Regeln denn ändern?

Danke
hallo!

versucht es mal mit --state, dass der netfilter pro state nur 40 zulässt.
ich hab es selber noch nicht getestet, aber es könnte gehen.
schau dir auf der netfilter website das howto zu -m state an...

//richard

Friesi
10.07.04, 10:51
Also in der httpd.conf gehts nicht so wie ich es will.
Problem ist, ich habe es momentan mit einer art DDOS zutun. Irgendwer ruft über verschiedene IPs die Forensoftware auf wobei dann ca. 4000 User online sind im Forum (Gäste) wobei mein Server dann in die brüche geht.
Nun wollte ich das ein wenig limitieren, doch wenn ich den Apache drossel rennt alles nicht mehr so klasse.

Was macht denn dieses -m state genau? So super kenne ich mich mit iptables noch nicht aus :-/

Bubble
11.07.04, 22:47
http://iptables-tutorial.frozentux.net/iptables-tutorial.html#STATEMACHINE

Sorry dass es nur einen Link gibt, aber dort ist es wirklich super erklärt finde ich.
Bubble

Thomas
12.07.04, 08:28
States machen hier keinen Sinn, da ein Angreifer für jede Anfrage eine neue Connection erstellen wird. Somit wird eine Filterung nach "ESTABLISHED" nutzlos, wenn man ausschließlich nach "NEW" filtert, kann man das "state" gleich weglassen.


Es ist mit iptables unmöglich, Zugriffe auf IP Basis mittels "limit" zu beschränken.


Thomas.

Friesi
12.07.04, 10:30
Wie könnte ich das denn sonst machen?

Benutze Apache 1.3.31

Also ich hab herausgefunden das diese massiven Anfragen auf mein Forum meist von einem IP Bereich kommen, welchem einer Firma / einem Provider im Spanien zugeteilt ist. Diese würde ich gerne komplett sperren, doch wie mach ich das genau.

Nehmen wir mal an der IP-Bereich wäre: 192.168.10.0 - 192.168.24.0
Dann kann ich ja schlecht mit 192.168.10.0/31 arbeiten, da er ja dann auch 192.168.25.0 sperren würde. Oder lieg ich da falsch?

cane
12.07.04, 17:05
Also ich hab herausgefunden das diese massiven Anfragen auf mein Forum meist von einem IP Bereich kommen, welchem einer Firma / einem Provider im Spanien zugeteilt ist.

Ist es eine Firma oder ein Provider? Das sollte sich doch recherchieren lassen.
DDOS Attacken sind strafbar!

Eine Emal an den Verursacher könnte ja eventuell was bringen...

mfg
cane

Friesi
12.07.04, 17:10
Ich habs ja schon den Jungs in dem Rechenzentrum gemeldet, wo auch unser Server steht.
Deren Router waren ja auch schon damit beschäftigt die DDOS abzuwehren. Glaub die haben schon was in die wege geleitet.
Wollte mich halt nur selbst auch ein wenig absicher, verlasse mich nicht gerne auf andere ;-) Jedenfalls nicht wenn es um die Sicherheit meiner Systeme geht.

canis_lupus
12.07.04, 18:16
Es gibt auf der netfilter-Seite zumindest einen Patch von Jozsef Kadlecsik, der es einem erlaubt IP-Ranges in einer Regel anzugeben. Das macht das Sperren leichter.

http://www.netfilter.org/patch-o-matic/pom-base.html

Es gibt zwar auch einen um die Anzahl paralleler TCP-Verbindungen zu beschränken, aber das dürfte hier nicht nützlich sein, da die Verbindung nur während des Abrufes der Seiten besteht und dann sofort abgebaut wird.