IPFW Verbindungsabbrüche

Hainz1968

Member
Guten Tag Com,

ich bin neu bei euch im Forum und möchte gerne ein paar Informationen zur IPFW haben.
Ich nutze einen FreeBSD 11.2 Server, welchen ich neulich mit einer IPFW ausgestattet habe. Selbstverständlich habe ich auf alle Portfreigaben geachtet
und mir passende Tutorials angeschaut. Da ich aber neu in der IPFW Materie bin, habe ich eventuell das ein oder andere falsch verstanden.
Zu meinem Problem:
Es kommt immer wieder zum Abbruch der Verbindung, als ob die Firewall alles dicht macht.
Selbst die Homepage, welche über IP eine Ausnahme erhalten hat, kann sich nicht mehr zu dem Server verbinden.
Anfangs habe ich an Provider-Probleme gedacht, doch dies schließe ich aktuell aus.
Selbst die freigegebenen Ports werden geschlossen. Dies tritt eher sporadisch auf und lässt mich mit drei ? dastehen.
Nun meine Frage:
Habe ich etwas überlesen und ist dieses Verhalten von IPFW normal?
Schließlich geht es ja immer mal wieder. Überprüfungen der IPFW zeigten, dass sie sehr wohl Ports freigibt und sperrt.
Also eigentlich alles richtig macht, nur wieso kommt es zu den Abbrüchen?

LG euer Hainz
 
Wie sieht deine Konfiguration aus?
Wie ist die Ausgabe von netstat -m?
Gibt es Kernelmeldungen, wenn die Abbrüche auftreten (dmesg)?

Rob
 
Besteht die Möglichkeit, dass du die Kiste aktualisierst? Der Support für FreeBSD 11.2 wurde am 31.10.2019 eingestellt. Das ist bald 2 Jahre her. Unabhängig davon wäre, wie @KobRheTilla schon schrieb, deine (vollständige) ipfw-Konfig schon hilfreich.

Funktioniert es denn, wieder wenn du ipfw neu startest? Was heißt "geht es ja immer mal wieder"? Auch ohne Neustart?

Hast du mal ein Log mitlaufen lassen?
 
Danke für eure Antworten.

Eine Aktualisierung ist nicht möglich, dadurch dass ich Software bedingt noch bei 11.2 sitze. Vllt in näherer Zukunft kann ich an einen Upgrade denken.
Wie gesagt funktioniert es sporadisch. Ohne Neustart von IPFW bzw Reboot lässt er erneute Verbindungen zu. Dies benötigt aber mehrere Verbindungsversuche. Ich habe das Gefühl, wenn man mal einige Zeit keine Verbindung zum Server hergestellt hat, z.B über Nacht, macht er solche Probleme.
Eine Kernmeldung konnte ich nicht erkennen, da er die Verbindungen nicht während des aktiven Betriebs unterbricht.
Gibt es dort eine logfile, welche sowas dokumentiert?

Ich füge meine ipfw.rules mal als Anhang hinzu.
Ausgabe von netstat -m:
Screenshot_2.png


in der rc.conf habe ich folgenden Abschnitt:

firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw.rules"

Vielen Dank für eure Hilfe.
 

Anhänge

  • ipfw.rules.txt
    3,6 KB · Aufrufe: 162
Wie schauts denn mit dem rest der Anbeindung - tritt das Problem lokal auf, hängt der am Internet, was ist da noch so technisch unterwegs?

Ipv4/6 oder bei beiden?
 
Wie schauts denn mit dem rest der Anbeindung - tritt das Problem lokal auf, hängt der am Internet, was ist da noch so technisch unterwegs?

Ipv4/6 oder bei beiden?
Es ist ein dedicated Server in einem Rechenzentrum, welchen ich anmiete. Dieser läuft über ipv4.

In der Log konnte ich erkennen, dass eine von mir eingefügte datei einen core dumped hervorruft.
Hier ein Auszug auf der log, bis hin zu dem moment wo ich mich erfolglos einloggen möchte.
Screenshot_5.png

Ich habe nun schon seit knapp einer Woche die Firewall deaktiviert und seitdem kein Problem mehr gehabt. Nach dem Core dumped , muss ich nochmal schauen wieso dieser ausgelöst wird.
 
Schick uns bitte mal die Ausgabe von ifconfig, wenn dir nichts aus macht wären netstat -r -n -f inet und netstat -r -n -f inet6 ggf. auch hilfreich.
 
also folgende Ausgaben:

ifconfig:
Screenshot_6.png


netstat -r -n -f inet:
Screenshot_7.png


und netstat -r -n -f inet6:
Screenshot_8.png


mit xxx.xxx. von mir zensiert.

LG
 
Ohne Neustart von IPFW bzw Reboot lässt er erneute Verbindungen zu. Dies benötigt aber mehrere Verbindungsversuche. Ich habe das Gefühl, wenn man mal einige Zeit keine Verbindung zum Server hergestellt hat, z.B über Nacht, macht er solche Probleme.
Teste mal temporär (ca. eine Woche) bei aktivem IPFW, mit einem cronjob, der z. B. alle 3 Minuten einen arping (arp-requests) an das default gateway (IP-Adresse xxx.xxx.224.1) des Servers macht.
 
Generell mal zur Firewall: deine Regeln sind teilweise überflüssig.
Code:
$IPF 180 allow udp from any to any 3306 in
$IPF 185 allow udp from any to any 3306 out

Soll das für MySQL sein? Da gibt es keinen UDP-Traffic.

Hast du auf dem System eigentlich irgendwelche Dienste laufen, die offene Ports haben und nicht von den ganzen Ausnahmen abgedeckt werden? Wenn nicht, kannst du dir den gesamten Paketfilter sparen, dann ergibt er einfach keinen Sinn.

Rob
 
Sorry für meine späte Antwort. Ja 3306 ist für Mysql gedacht. Ich wusste nicht, dass Mysql kein UDP nutzt.
Und nein, alle Dienste sind in dem Paketfilter abgedeckt.
Teste mal temporär (ca. eine Woche) bei aktivem IPFW, mit einem cronjob, der z. B. alle 3 Minuten einen arping (arp-requests) an das default gateway (IP-Adresse xxx.xxx.224.1) des Servers macht.
Danke, das werde ich mal machen. Ich habe inzwischen herausgefunden, dass nach einem Neustart zu 100% eine Verbindung möglich ist.
 
Ich habe die Hoffnung, meinen Server mithilfe der IPFW und dem Paketfilter sicherer zu gestalten. Damit ich z.B nicht wahllos DOS Attacken ausgesetzt bin.
Deswegen habe ich ja auch die Standard Ports nicht mehr genutzt.

Jedoch muss ich gewisse Ports mit Hilfe des Paketfilters öffnen, um einen laufenden Betrieb aufrecht zu erhalten.
 
Deswegen habe ich ja auch die Standard Ports nicht mehr genutzt.
Das hört sich ein wenig nach "Security by obscurity" an. Ich will es nicht schlecht heißen, dass du nicht die Standardports wählst. Einen Angreifer, der dich als Ziel ausgesucht hat (soll heißen: nicht irgend welche Scriptkiddies), wirst du damit nicht aufhalten. Ich vermute aber, dass dir das klar ist.

Was mir noch nicht ganz klar ist: Welche Situation erfordert es, dass ich aus dem Internet auf einen MySQL-Server zugreifen muss?!

Zu dem Rest (DDOS etc) kann ich mangels Erfahrung/Wissen nichts sagen. :)
 
Ich habe die Hoffnung, meinen Server mithilfe der IPFW und dem Paketfilter sicherer zu gestalten. Damit ich z.B nicht wahllos DOS Attacken ausgesetzt bin.
Deswegen habe ich ja auch die Standard Ports nicht mehr genutzt.

Jedoch muss ich gewisse Ports mit Hilfe des Paketfilters öffnen, um einen laufenden Betrieb aufrecht zu erhalten.
Ein Paketfilter macht nur dann Sinn, wenn Du auf den öffentlichen Interfaces/Adressen Dienste lauschen hast, die nicht oder nur eingeschränkt (z.B. von bestimmten IP Adressen aus) von ausserhalb erreichbar sein sollen. Wie sich das so anhört was Du schreibst, ist dies bei Dir gar nicht der Fall. Dann ist der Paketfilter schlicht überflüssig, denn Du sperrst damit nur Ports, auf denen eh nichts läuft. Wie ein Stopschild mitten im Wald wo eh nix fährt.

DOS Attacken auf Ports auf denen kein Dienst läuft prallen auch so ab, ohne Filter. Um DOS Attacken auf offene Ports abzuwehren muss man komplexere Verfahren im Paketfilter anwenden, z.B. die zulässige Anzahl der TCP SYN Pakete pro Zeiteinheit begrenzen, ob IPFW das kann weiß ich nicht (IPTABLES unter Linux kann das, aber auch nur mit einer Erweiterung).
 
Der verweiß auf IPTables ist so veraltet wie die ganze Diskussion über Paketfilter. Seit über 15 Jahren sind die Quasi Standard in jedem Enterprise OS und werden auch genutzt. Viel beschworene Nachteile gabs noch keine. Also lasst den guten Mann doch seinen Paketfilter :)

Ist auch blöd wenn später Anforderungen dazukommen, die einen benötigen. Da sich lieber jetzt damit auseinenader setzen und das Ding ordentlich einrichten.
 
Ob IPFW das kann weiß ich auch nicht
Ja, das sollte gehen. Etwas sehr aus dem Trockenen geschrieben kann man SYNs matchen (setup ist eventuell das Keyword, weiß ich nicht genau) und dann per limit oder so begrenzen. Eventuell kann man es auch über eine pipe machen, wobei die zumindest in meiner Erinnerung nur Bandbreite begrenzen und nicht die Anzahl Pakete.
 
Wenns rein um Synflood geht kann man auch versuchen dem ganzen mit syncookies Herr zu werden.
 
Also, ich bin flexibel und kann auch auf andere Firewall-Systeme umsteigen. Mir ist nur wichtig, dass ich nicht ohne Schutz dastehe. Ich habe regelmäßigen Datenfluss auf dem Server und ungefähr 30 Angestellte, welche in Zukunft darauf zugreifen sollten. Zudem werden in naher Zukunft vertrauensbezogene Daten dort abgespeichert. Ich bin für jegliche Hilfe, welche meinen Server sicher vor Angreifern und den laufenden Betrieb gewährleisten können dankbar.

LG Hainz
 
hi

mit pf kannt man recht einfach ddos bekämpfen. ( source tracking siehe man ).

es sollte aber klar sein das sich dadurch nicht die erreichbarkeit , während eines ddos ,
verbessert.

holger
 
Mir ist nur wichtig, dass ich nicht ohne Schutz dastehe.

OK, um es mal bildlich zu machen:

Angenommen, du hast eine quadratische Platte aus Holz, dort sind 20 Löcher an definierten Positionen.
Die Holzplatte ist dein IP-Stack, die Löcher sind die Dienste, die von Außen erreichbar sein sollen.

Nun legst du vor die Holzplatte eine ebenso große Metallplatte mit Löchern an genau den selben Stellen, wie bei der Holzplatte.
Dies ist deine Firewall - nutzlos.

Jeder Dienst, der von Außen erreichbar sein muss, wird in deinem Fall nicht gefiltert.
Du hast keine Dienste auf dem Server, bei denen ein Filter wirken kann.

Rob
 
Zurück
Oben