StratoPower-Server Firewall einrichten/konfig.

Also Port 111 (portmapper, rpcbind) und 953 (RNDC is used by BIND 9) kannst Du ohne Beeintraechtigung der Funktionalitaet sperren.
bohlen hat gesagt.:
Bei dieser Konfiguration mit "firewall" habe da noch Frage, ich verstehe daß als aller erste die Ketten der firewall nach der Reihenfolge bearbeitet werden, danach werden die Packete in INPUT weitergeleitet. Wen ich aber noch in INPUT einige Regeln habe, ist das Eintrag iptables -A INPUT -j firewall richtig?
Eingehende Pakete landen zuerst in der Chain INPUT, werden dort mit iptables -A INPUT -j firewall in die Chain firewall uebergeben. Falls ein Paket in firewall nicht bearbeitet wird, also keine Regel auf dieses Paket zutrifft, kommt es wieder zurueck in INPUT und wird dort entsprechend weiterverarbeitet, falls dort noch Regeln sind. Falls das Ende der Chain INPUT erreicht wird ohne das eine Regel darauf zutrifft, dann tritt die Policy der Chain in Kraft. Standard-maessig ist das meine ich ACCEPT.
Normalerweise ist das eigentlich nicht wuenschenswert, jedoch ist die von mir gepostete Konfiguration in dem Fall eine Ausnahme. Es kommt ja kein Paket aus firewall zurueck in INPUT. Am Ende von firewall wird ja mit iptables -A firewall -j DROP alles gedroppt was diese Regel erreicht. Es kommt also nichts mehr zurueck in die Chain INPUT, da auf jeden Fall jedes Paket in der Chain firewall bearbeitet wird.
Wie ich schon zuvor gesagt hab wird ein Paket aus dem Filter genommen und der betreffenden Regel (ACCEPT, DROP, REJECT) weiter verarbeitet wenn eine Regel zutrifft.
Folgendes Beispiel: (UDP/67 ist fuer DHCP, nur mal so als Beispiel jetzt)
Code:
iptables -A firewall -p udp -j DROP
iptables -A firewall -p udp --dport 67 -j ACCEPT
Die erste Regel trifft auf alle UDP-Pakete zu, diese werden der Regel entsprechend gedroppt.
Die zweite Regel trifft auf Pakete an UDP-Port 67 (DHCP) zu, und teilt dem Paketfilter mit diese zu akzeptieren.
Das Problem ist hier nun, dass zuerst alle UDP-Pakete gedroppt werden, die zweite Regel wird also nie auf ein Paket zutreffen, da kein entsprechendes Paket diese Regel erreichen wird.
Falls UDP bis auf Port 67 gesperrt werden soll, kann das mit folgenden Beispielen realisiert werden.
Beispiel 1:
Code:
iptables -A firewall -p udp --dport 67 -j ACCEPT
iptables -A firewall -p udp -j DROP

Beispiel 2:
Code:
iptables -A firewall -p udp --dport ! 67 -j DROP

Das erste Beispiel laesst erst alle Pakete durch die an UDP-Port 67 gehen und droppt dann den Rest.
Das zweite Beispiel droppt alle UDP-Pakete die nicht an UDP-Port 67 gehen.

Solche Konstrukte brauchst Du in dem Script was ich hier gepostet hab jedoch nicht, Du kannst einfach alles was Du brauchst akzeptieren, der Rest wird am Ende eh gedroppt.
Dass alles am Ende von firewall gedroppt wird, und somit kein Paket aus Firewall zurueck nach INPUT kommt, gibt Dir eine Beschraenkung beim Einfuegen von Regeln in die Chain INPUT. Sie muessen vor der Verzweigung nach firewall (iptables -A INPUT -j firewall) eingefuegt werden, ansonsten sind sie ueberfluessig.

Ich hoffe ich konnte wieder ein wenig Licht in's Dunkel bringen. Weiterhin viel Erfolg.
 
(Sorry für Offtopic)
Hallo Reptiler, ich glaube ... ich bin gescheitert :( Ich habe mir ein Buch gekauft (Der eigene Webserver), die iptables schon einigermaßen in "Griff" bekommen, da trifft mich ein neues Problem. Der Rootserver ist eine Nummer zu groß für mich.

Ich wollte meine Webseite schon Online stellen und weiterhin an der Erforschung des Servers arbeiten. Es stellte sich fest, ich muss ganz unten anfangen, es geht um die richtige Hardware und Mysql Einstellung. Habe eben gerade ein Invisionborad installiert (ist ein unverzichtbares Teil meiner Webseite) und lief soweit gut. Aber, als ich die Startseite des Forums vielmals pro Sekunde aufgefrischt habe (F5 Taste), hängt sich der ganze Server auf (solche Spielchen treiben einige Kids einfach zur Spaß). Danach muß ich den Server reeboten sonnst geht nichts weiter. Ich habe alle iptables gelöscht und das gleiche Problem. In die Logdateien habe ich folgende Fehler ausgelesen:

Code:
Mar 11 18:40:29 h88942 named[793]: binding TCP socket: address in use
  Mar 11 18:40:29 h88942 named[793]: binding TCP socket: address in use
  Mar 11 18:52:42 h88942 kernel: VM: killing process php
  Mar 11 18:52:45 h88942 last message repeated 2 times
  Mar 11 18:52:45 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:45 h88942 kernel: VM: killing process php
  Mar 11 18:52:46 h88942 last message repeated 5 times
  Mar 11 18:52:47 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:47 h88942 kernel: VM: killing process named
  Mar 11 18:52:47 h88942 kernel: VM: killing process php
  Mar 11 18:52:47 h88942 kernel: VM: killing process php
  Mar 11 18:52:47 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:47 h88942 kernel: VM: killing process php
  Mar 11 18:52:47 h88942 last message repeated 7 times
  Mar 11 18:52:47 h88942 kernel: VM: killing process svscan
  Mar 11 18:52:47 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 last message repeated 2 times
  Mar 11 18:52:48 h88942 kernel: VM: killing process sshd
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process authdaemond.pla
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process nscd
  Mar 11 18:52:48 h88942 kernel: VM: killing process cron
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process tcpserver
  Mar 11 18:52:48 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process cron
  Mar 11 18:52:48 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:48 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process httpd2-prefork
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
  Mar 11 18:52:48 h88942 kernel: VM: killing process php
Mein Server ist eben nicht konfiguriert, was muss ich da tun um die Stabilität des Servers in meinem Fall zu gewährleisten? Bei mir läuft NUR Invisionboard. Meine Webseite wird sehr oft als Ziel des dos und flood atacken, ich brauche deswegen wirkungsvollen Schutz.
Ich will nicht einfach aufgeben, ich bin bei www.all-inkl.de schon bei der Menagedserver 2 Wochen lang gewesen (als Übergangslösung) und dort hatte ich auch sehr oft eine Fehleranzeige von Mysql (Max connect user) usw. ....

Ich habe noch 2 Tage um aus dem Vertrag von Strato zurück zu treten, wo soll ich dann hin :( Ich bin fassungslos....
 
Hmm, also das ist echt schon krass, das der Server stirbt wenn Du einfach ein paar mal refreshst.
In der Materie bin ich nicht ganz so drin, aber es koennte sein, dass der Apache vielleicht eine Moeglichkeit bietet den Refresh nicht so oft zuzulassen. Genau kann ich Dir das nicht sagen.
Ansonsten waere vielleicht QoS (Quality of Service) eine Idee. Also Traffic-Shaping.
Aber damit hab ich selbst noch nix gemacht, ich weiss nur, dass es sowas gibt. :)
Sorry, dass ich Dir dabei nicht behilftlich sein kann.
 
Hallo Reptiler!

Ich möchte besonders Dir für deine Hilfe danken. Ich bin durch Zufall auf diese hilfreiche Seite gestossen http://www.harry.homelinux.org/. IPgenerator


Noch mal vielen vielen Dank und schöne Grüße an Alle!
Bohlen
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück