Zum Inhalt springen

Firewall für Linux-Server


PHP-Freak

Empfohlene Beiträge

Hallo

ich bräuchte eine Firewall für meinen Webserver.

Vieleicht genügt sogar IPTables.

Also folgendes sollte sie können:

- DDOS erkennen und blocken

- Bestimmte Http-Requests blocken z.b. solche die auf einen bestimmten Ordner

http://www.meinedomain.de/ordner/

Aber es soll weiter hin der Zugriff auf alle anderen Verzeichnisse erlaubt sein.

http://www.meinedomain.de/

http://www.meinedomain.de/ordner2/

.

.

.

Hintergrund ist der, dass irgendwelche Webseiten auf eine Bestimmte Unterseite meiner Domain verlinkt sind bzw. ein Banner anfordern.

Dies lastet meinen Apche ziehmlich aus. Daher währe es schön wenn man es direkt per Firewall abfangen könnte.

Sonst sollte man alle Ports usw generell freischalten können.

Es geht mir nur um DDOS angriffe usw.

Betriebsystem kann Suse 9.3 64 Bit oder Fedoracor 4 64 Bit sein.

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

Vieleicht genügt sogar IPTables.

ähm. IP-Tables ist eine absolut vollwertige und qualitativ hochwertige Firewall, die eigentlich kaum Wünsche offen lässt. Einzig die komplexe Konfiguration (wobei da eigentlich nur ein Frontend fehlt) erfordert ein wenig Einarbeitungszeit. Wobei man bei einer Firewall schon genau wissen sollte, was man tut, und IPTables zwingt dich quasi dazu.

Genug geschwärmt. Alles, was du da möchtest, ist mit IPTables möglich. Welche Module du dafür brauchst und wie du das konfigurierst sollte z. B. hieraus hervorgehen:

http://iptables-tutorial.frozentux.net/iptables-tutorial.html

Ein super Frontend gibts hier:

www.fwbuilder.org

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gegen (ordentliche) DDoS-Attacken wird dir keine Firewall helfen.

Was das Filtern von HTTP-Geraffel angeht solltest du dir lieber mod_security anschauen, denn das ist eine Layer-7- und keine Layer-3-Aufgabe.

Fuer Sachen wie Ports freischalten, Connects kontrollieren,etc ist IPtables ganz klar das Mittel der Wahl.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sind wenn überhaupt immer "kleine" DDOS von einer IP aus.

Also muss die Firewall nur erkennen, dass da übermäßig Anfragen von einer Ip kommen und denn die Ip blocken.

ICh glaub des geht auch mit Fail2Ban.

Des mit mod_security hab ich auchschon versucht bin aber leider am konfigurieren gescheitert.

Kanst du mir kurz sagen wie ich des einstellen muss, dass Anfragen auf ein bestimmtes Verzeichniss geblockt werden?

Wird dadurch eigentlich die Auslastung des Apaches verringert?

Im moment schickt er immer ein 403 zurück.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sind wenn überhaupt immer "kleine" DDOS von einer IP aus.

Dann handelt es sich aber um DoS, nicht um DDoS.

Also muss die Firewall nur erkennen, dass da übermäßig Anfragen von einer Ip kommen und denn die Ip blocken.

IPtables LIMIT ist hier der richtige Ansatz.

ICh glaub des geht auch mit Fail2Ban.

Nein, das ist ungeeignet.

Des mit mod_security hab ich auchschon versucht bin aber leider am konfigurieren gescheitert.

Kanst du mir kurz sagen wie ich des einstellen muss, dass Anfragen auf ein bestimmtes Verzeichniss geblockt werden?

Die Dokumentation ist doch ausfuehrlich.

Probier es mal mit "SecFilterSelective REQUEST_URI bla.de/boeser_ordner". Eigentlich solltest du aber ein Deny in der httpd.conf machen, wenn da wirklich keiner dran soll. Und warum liegt es dann ueberhaupt im DocumentRoot...

Wird dadurch eigentlich die Auslastung des Apaches verringert?

Im moment schickt er immer ein 403 zurück.

Ja, das ist ja auch das einfachste.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es geht nicht dadrum dass da keiner dran soll. Sondern es soll den Apache entlasten.

Im moment ist die Datei http://www.meinedomain.de/toplist/image.php in einige Banner farmen eingetragen. Deshalb hatte ich die Toplist entfernt.

Also des Verzeichnioss www.meinedomain.de/toplist/ exsistiert nicht mehr.

Aber da die Admins nicht auf meine Anfragen reagieren wird diese URL zig mal hintereinander aufgerufen. Dadurch wird mein Apache mit unnötigen Anfragen ausgelastet.

Nur deswegen hab ich immer irgendwie mehr als 40 Apache-Childs laufen die den ganzen Ram fressen.

Ambesten währe es wenn Anfragen auf diese URL direkt geblockt werden und der Apache die garnicht bearbeiten muss.

Vieleicht würde es sogar helfen wenn der Apache bei dieser URL sofort die bearbeitung abbricht und auch keine Antwort zurückschickt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das starten der Apaches wirst du nicht verhindern können, aber der einfachste Weg so etwas zu lösen ist mod_rewrite.

Damit kannst du auch dafür sorgen, das anstelle deines Bildes sehr "interessante" Bilder geladen werden, die bei den Admins bestimmt zu einer Reaktion führen werden... :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Bestimmte Http-Requests blocken z.b. solche die auf einen bestimmten Ordner

http://www.meinedomain.de/ordner/

Aber es soll weiter hin der Zugriff auf alle anderen Verzeichnisse erlaubt sein.

http://www.meinedomain.de/

http://www.meinedomain.de/ordner2/

.

.

.

Dazu brauchst du keine Firewall.


# .htaccess Datei im Ordner [b]ordner[/b]

order deny,allow

deny from all

Aber was bringt dir das? Wenn alle Anfragen auf den Ordner geblockt werden, könntest du ihn auch einfach löschen ;) Ansonsten kannst du mit mod_rewrite auch alle Anfragen blocken, die einen Referer haben, der nicht deine URL enthält.

RewriteEngine On

RewriteCond %{REQUEST_URI} .*\.(gif|jpg|jpeg|png) [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(.*)deine\.domain\.tld/.*$ [NC]

RewriteRule (.*) /bilder/nixDa.jpg [L,NS]

Alle Anfragen auf Bilder, die einen Referer haben und deren Referer nicht deine URL enthält (bzw. mit deiner URL anfängt) bekommen immer nur das Bild "nixDa.jpg" zu sehen.

Das sollte ja schon reichen für das, was du machen willst.

Ansonsten könntest du mod_security probieren. Die Apache-Firewall.

Damit kannst du Anfragen blocken, wenn der Apache sie bekommt und du sie auch auswerten kannst. IPTables kann nur TCP/IP-Pakete blocken, ohne zu wissen was die überhaupt sollen.

"Firewalls" sind keine Lösung für alle Probleme und kein Allheilmittel ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Soweit bin ich ja schon längst.

Es geht ja nich dadrum den Zugriff dadrauf zu sperren sondern den Apache zu entlasten.

Dieser ganze Ordner exsitiert ja nicht mehr.

Nur wird diese Datei weiterhin sehr oft aufgerufen kann ja mal nen Log posten.

Da ist eigentlich nur diese URL drin.

Dadurch frisst der Apache immer den ganzen Ram und hängt sich irgendwann auf.

Im mom muss ich ihn mindestens 4 mal am Tag neustarten.

Ich hab auch schon was von GeoIp gelesen. Denn als ich mal nachgeschaut hatte waren die meisten Ips von Türkischenanbietern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dieser ganze Ordner exsitiert ja nicht mehr.

Nur wird diese Datei weiterhin sehr oft aufgerufen kann ja mal nen Log posten.

Da ist eigentlich nur diese URL drin.

Dadurch frisst der Apache immer den ganzen Ram und hängt sich irgendwann auf.

Im mom muss ich ihn mindestens 4 mal am Tag neustarten.

Wenn so etwas zum Absturz/Aufhängen deines Apache's führt muß am Setup etwas gewaltig faul sein !

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dieser ganze Ordner exsitiert ja nicht mehr.

Nur wird diese Datei weiterhin sehr oft aufgerufen kann ja mal nen Log posten.

Da ist eigentlich nur diese URL drin.

Dann wende dich doch einfach an die Abuseabteilung des Providers, von dem die IP-Adresse kommt. http://www.ripe.net/ Da bekommst du raus, wem diese IP-Range gehört. Dazu gibt es solche Sachen ja. abuse@domain.tld sollte es bei jedem Provider geben.

Dadurch frisst der Apache immer den ganzen Ram und hängt sich irgendwann auf.

Im mom muss ich ihn mindestens 4 mal am Tag neustarten.

Wegen einer (oder sehr vieler) 404-Meldungen sollte der Apache ja keine Probleme bekommen. Das muss nen anderen Grund haben...

Aber du kannst ja das Logging für diesen Ordner ausschließen. Hab das noch nie probiert, aber hier was gefunden:

Das folgende Beispiel definiert mit Hilfe von SetEnvIf die Variable nolog, wenn eine Anfrage von localhost selbst stammt, und schließt das Logging entsprechender Zugriffe aus:

# localhost ausschließen

SetEnvIf Remote_Addr "127\.0\.0\.1" nolog

# Log-Format common definieren

LogFormat common "%h %l %u %t \"%r\" %>s %b"

# Alles andere in die Log-Datei schreiben

CustomLog logs/access_log common env=!nolog

Das letzte Beispiel erstellt eine Combined-Log-Format-Datei sämtlicher Anfragen, die eine Web-typische Bilddatei (JPEG, GIF oder PNG) angefordert haben:

# imgreq definieren, falls Bild angefordert

SetEnvIf Request_URI "(\.jpg)|(\.gif)|(\.png)$" imgreq

Die letzte Zeile mit dem ersten Teil kombinieren und du kannst deinen Ordner vom Log ausnehmen.

EDIT:

Ich denke vielleicht wird die Logdatei zu groß. Wenn die recht groß is kann das vielleicht Probleme machen...sonst könnt ich mir nicht vorstellen, was das Problem sein sollte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ca 10 Min danach hat sie mindestens einige Mb.

Dann musst du ja bombardiert werden mit Anfragen... dann würd ich mich erstrecht mal an den Provider wenden (muss ja ein Referer dabeistehen, bzw. die IP ja sowieso). Das ist ja fast schon ein DoS dann.

Diese "irgendwelche Webseiten" müssen ja irgendwo gehostet werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...