Guten Morgen,
nach einen Tipp gestern, nicht nur ICMP-Ping Pakete in der IPTables zu erlauben, habe ich meine Regeln gestern Abend wie folgt modifiziert und über Nacht laufen lassen: Zunächst habe ich meine "erlaube Alles von Uniklinikserver Regel" rausgenommen und an das Ende meines Regelwerkes die Regel "erlaube alle ICMP Pakete von Uniklinikserver" angefügt. Leider bin ich nicht so hundertprozentig bewandert mit IPTabels und hatte mir das Grundgerüst von einem Kollegen geben lassen, der es so ähnlich auf Webservern (da nur Port 443 offen anstatt 25) betreibt. Folgendes Regelwerk war heute Nacht aktiv:
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -d 141.AAA.BBB.CCC -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -s 141.MMM.NNN.OOO/24 -d 141.AAA.BBB.CCC -i eth0 -p tcp -m tcp --syn --dport 25 -j DROP -A INPUT -d 141.AAA.BBB.CCC -i eth0 -p tcp -m tcp --syn --dport 25 -j ACCEPT -A INPUT -s 141.XXX.YYY.ZZZ/24 -d 141.AAA.BBB.CCC -i eth0 -p tcp -m tcp --syn -m multiport --dports 22 -j ACCEPT -A INPUT -d 141.AAA.BBB.CCC -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -s 149.AAA.BBB.CCC -d 141.AAA.BBB.CCC -i eth0 -p icmp -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT -s 141.AAA.BBB.CCC -o eth0 -j ACCEPT COMMIT
(141.AAA.BBB.CCC ist wieder mein Mailserver, der beim Senden an 149.AAA.BBB.CCC ab und zu Probleme hat; 149.AAA.BBB.CCC ist der problematische Uniklinik Mailserver; alles andere mit 141.*.*.* sind subnetze bei uns)
Kurz gesagt es ging nicht. Ich hatte das selbe Phänomen bei einigen Mails erneut. Und laut Log wurden wieder nur TCP und keine ICMP Pakete bei den gescheiterten Übertragungen verworfen.
Dann bin ich dem Hinweis von (ich glaube es war Walter) nachgegangen, der meinte das diese Zeile -A INPUT -d 141.AAA.BBB.CCC -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT alles aufmacht. Ich habe einfach mal versucht eine SSH Verbindung aus einem Subnetz, welches nicht in der Zeile mit dem Port 22 erlaubt ist, aufzumachen. Das ist dann mit einem Timeout gescheitert. D.h. das sollte doch alles dicht sein?
Mein Intension die ich mit meiner IPTables Regel durchführen möchte:
1) Connection zum Mailserver per SSH nur aus ausgewähltem Subnetz möglich 2) Da es ein Relay ist soll der Server Mails von jedem annehmen und an jeden verteilen dürfen (alles weitere habe ich in der main.cf und entspr. restrictions gelöst) 3) Das Relay soll von einem definierten Subnetz keine Mails annehmen. Das habe ich eigentlich auch schon mit Restrictions in Postfix geregelt, dachte mir aber, wenn ich die Firewall dicht mache, brauch der Postfix sich damit gar nicht erst beschäftigen. 4) Ansonsten soll natürlich alles laufen was für den Betrieb eines Servers notwendig ist (Updates einspielen, interne Kommunikation, etc)
Eigentlich nichts wildes. Es lief auch mehrere Wochen Reibungslos zu zwei weiteren internen Mailservern. Nur als ich auf einmal letzte Woche Mailverkehr der für unsere Uniklinik bestimmt ist über das Relay geleitet habe, bekamm ich ab und an das beschriebene Phänomen beim Abliefern der Mails in der Uniklinik.
Danke für eure Hilfe
VG
Stephan
Stephan Jacob
Otto-von-Guericke Universität Magdeburg Universitätsrechenzentrum (URZ)
Universitätsplatz 2 Gebäude 26 - 035
39106 Magdeburg
Tel.: 0391-67-58572 Fax: 0391-67-11134
-----Ursprüngliche Nachricht----- Von: postfix-users [mailto:postfix-users-bounces+stephan.jacob=ovgu.de@de.postfix.org] Im Auftrag von Jörn Bredereck Gesendet: Montag, 27. Juni 2016 20:13 An: Walter H. Walter.H@mathemainzel.info Cc: postfix-users@de.postfix.org Betreff: Re: Unklare Übertragungsprobleme bei einigen Mails
Das Problem trat auf, als ich folgende IPTabels Regeln aktiv hatte:
*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -d 141.AAA.BBB.CCC -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
diese line ist merkwürdig, öffnest du ungehindert jeden port für die ganze Welt?
Nein, tut er meines erachtens nicht. Wenn ich das richtig sehe, dann gilt diese Rule nur für Verbindungen mit dem State „RELATED“ oder „ESTABLISHED“. Das sind in der Regel eingehende Pakete die sich auf bereits bestehende Verbindungen beziehen. Also in der Regel Antwort-Pakete für Verbindungen, die der Server selbst nach aussen iniitiiert hat. Ohne eine solche Regel würden keine Antwort-Pakete durch die Firewall kommen, die der Server selbst angefragt hat (z.B. Antworten auf DNS-Anfragen, die der Server an die DNS-Server verschickt).
Viele Grüße, Jörn Bredereck