Server in DMZ bestimmte ports trotzdem mit iptables blocken?

Hi, habe nen Server (OpenSuSE 11.0) in einer DMZ. Meine Frage lautet nun ist es moeglich bestimmte ports nur lokal zugaenglich zu machen (Programm kann man leider nicht auf localhost bescharaenken) ? Gruss -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo, Am Mittwoch, 3. September 2008 schrieb lists:
Hi,
habe nen Server (OpenSuSE 11.0) in einer DMZ. Meine Frage lautet nun ist es moeglich bestimmte ports nur lokal zugaenglich zu machen (Programm kann man leider nicht auf localhost bescharaenken) ? Warum nicht? Natürlich könnte man auf diesem Server die lokale Firewall aktivieren und bestimmte Ports nur für Localhost zuzulassen - oder andersherum nur bestimmte Ports für das externe Netz zuzulassen.
Theoretisch könnte man so etwas auch über ein AppArmor-Profil lösen... Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Martin Hofius wrote:
Hallo,
Am Mittwoch, 3. September 2008 schrieb lists:
Hi,
habe nen Server (OpenSuSE 11.0) in einer DMZ. Meine Frage lautet nun ist es moeglich bestimmte ports nur lokal zugaenglich zu machen (Programm kann man leider nicht auf localhost bescharaenken) ?
Warum nicht? Natürlich könnte man auf diesem Server die lokale Firewall aktivieren und bestimmte Ports nur für Localhost zuzulassen - oder andersherum nur bestimmte Ports für das externe Netz zuzulassen.
Theoretisch könnte man so etwas auch über ein AppArmor-Profil lösen... Zwischen DMZ und Internet sollte auch einen Firewall liegen. Die nur lokal zugänglichen Ports hier erst gar nicht freischalten bzw. sperren.
Uwe -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Uwe Diederich schrieb:
Zwischen DMZ und Internet sollte auch einen Firewall liegen. Die nur lokal zugänglichen Ports hier erst gar nicht freischalten bzw. sperren.
Uwe
Hallo, ja ne Firewall waere ne Idee, ich dachte nur das es evtl. einfacher waere best. Ports zu sperren. Mein Router kann das leider nicht. Services die ich auf dem Server anbiete sind alle fuer den Zugriff von "draußen" gedacht. Ein Port will ich nicht unbedingt im Internet haben, deshalb diese Idee/Frage. Danke fuer die Antwort :) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Martin Hofius schrieb:
Warum nicht? Natürlich könnte man auf diesem Server die lokale Firewall aktivieren und bestimmte Ports nur für Localhost zuzulassen - oder andersherum nur bestimmte Ports für das externe Netz zuzulassen.
Theoretisch könnte man so etwas auch über ein AppArmor-Profil lösen...
Gruß Martin
Hi, das werde ich mir mal genauer anschauen. Vielen Dank fuer den Tip :) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

On Wed, 03 Sep 2008 01:56:03 +0200 lists <mr.astral@gmx.net> wrote:
habe nen Server (OpenSuSE 11.0) in einer DMZ. Meine Frage lautet nun ist es moeglich bestimmte ports nur lokal zugaenglich zu machen (Programm kann man leider nicht auf localhost bescharaenken) ?
Ja, idealerweise machst Du das zweischichtig: Sowohl am Gateway zum public Internet als auch mit dem host-internen Paketfilter. Dann funktioniert der Schutz auch noch, wenn beim Arbeiten am Rechner mal versehentlich der Paketfilter falsch konfiguriert oder abgeschaltet ist. -- Gruß, Tobias. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Tobias Crefeld schrieb:
Ja, idealerweise machst Du das zweischichtig: Sowohl am Gateway zum public Internet als auch mit dem host-internen Paketfilter. Dann funktioniert der Schutz auch noch, wenn beim Arbeiten am Rechner mal versehentlich der Paketfilter falsch konfiguriert oder abgeschaltet ist.
Hallo, also Firewall am Router und an den "normalen" Clients ist hochgefahren, nur die vom DMZ Rechner nicht. Ich sehe schon das einfachste waere ne Firewall aufzusetzen und meinen Services nur bestimmte Ports zuzuteilen. Danke an alle fuer die Infos. Als erstes schau ich mir mal AppArmor an ;) Gruesse. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

lists schrieb:
Tobias Crefeld schrieb:
Ja, idealerweise machst Du das zweischichtig: Sowohl am Gateway zum public Internet als auch mit dem host-internen Paketfilter. Dann funktioniert der Schutz auch noch, wenn beim Arbeiten am Rechner mal versehentlich der Paketfilter falsch konfiguriert oder abgeschaltet ist.
Hallo,
also Firewall am Router und an den "normalen" Clients ist hochgefahren, nur die vom DMZ Rechner nicht. Ich sehe schon das einfachste waere ne Firewall aufzusetzen und meinen Services nur bestimmte Ports zuzuteilen.
Danke an alle fuer die Infos.
Als erstes schau ich mir mal AppArmor an ;)
??? aber mit AppArmor kann man keine DMZ machen! eine DMZ liegt immer zwischen 2 Firewalls (der inneren und der äusseren)..sonst ist es keine DMZ... man kann Bastionhost machen..da aber eben nur einen! Und... alles (!!) muss durch die DMZ durch ohne Ausnahme...sonst ist es kein DMZ-Netz ! Der DSL-Router sollte da nur als "Modem" betrieben/gesehen werden na ja .. zumindest sieht so das eigentliche (technische) DMZ-Konzept aus... was Marketing daraus macht - ist eine ganz andere Frage...
Gruesse.
Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

On Thu, 04 Sep 2008 00:09:49 +0200 lists <mr.astral@gmx.net> wrote:
also Firewall am Router und an den "normalen" Clients ist hochgefahren, nur die vom DMZ Rechner nicht. Ich sehe schon das einfachste waere ne Firewall aufzusetzen und meinen Services nur bestimmte Ports zuzuteilen.
Kann Dir da grad nicht ganz folgen. Es gibt eigentlich nur ein gültiges Setup für eine DMZ, aber daneben schwirren noch Variationen herum, die sich gelegentlich auch "DMZ" schimpfen. "Normal" gehen die Clients im LAN über die Firewall (samt NAT und/oder Proxy) in die DMZ und von dort geht ein Router mit einfachem Filter ins public Internet. Hat den Charme, dass man das LAN doppelt schützen kann: Durch Filter am Access Router UND durch Filter (plus ALG/Proxy) in der Firewall. Firewall, Router und sonstige Teilnehmer haben alle gültige, öffentliche Internet-Adressen und alles ist gut. Paketfilter auf den DMZ-Hosts kann man machen, muss man aber nicht. Eine "sogenannte" DMZ kann auch beinhalten, dass die Firewall am Access Router hängt (ggf.: der Access Router IST) und ein Interface ins LAN und ein extra Interface zur DMZ hat. Ohne Access Router mit Filter fehlt allerdings die 2-Stufigkeit der LAN-Absicherung, weshalb ich das nicht so toll finde. Außerdem ist die DMZ vom Funktionieren der Firewall abhängig, was man eigentlich nicht will. Eine Variation dazu ist die Arme-Leute-Lösung, die auch mit drei Interfaces an der Firewall arbeitet, aber die DMZ ebenso wie das LAN mit privatem Adressraum betreibt und per Port-Forwarding beschickt. Das ist eigentlich ein Krampf, weil man damit viele Services, die eine öffentliche IP-Adresse "sehen" wollen gar nicht oder nur sehr umständlich realisieren kann. In welcher Variante Du Deine Installation ansiedelst, ist mir nicht ganz klar geworden.
Danke an alle fuer die Infos.
Als erstes schau ich mir mal AppArmor an ;)
Sicher auch nicht uninteressant, auch wenn es vermutlich mittelfristig stirbt, nachdem der Hauptprogrammierer zum Feind übergelaufen ist. Mit Firewall hat das eigentlich nichts zu tun, eher mit Systemhärtung. En vogue scheint mittlerweile eher SE-Linux zu sein. Der Weg dahin ist aber ein steiniger. -- Gruß, Tobias. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Moin moin, lists schrieb:
Hi,
habe nen Server (OpenSuSE 11.0) in einer DMZ. Meine Frage lautet nun ist es moeglich bestimmte ports nur lokal zugaenglich zu machen (Programm kann man leider nicht auf localhost bescharaenken) ?
Beschäftige dich mal mit iptables, statt AppArmor. Mit AppArmor kannst du lediglich den Zugriff auf Dateien/Verzeichnisse auf Kernelebene restriktieren, nicht mehr und nicht weniger, das hilft dir bei Port's net weiter. Generell solltest du per default alles verbieten was aus dem 'bösen, weiten Netz' kommt. Dies kannst du sehr schnell vie 'default policy' im Iptables einstellen. Dann öffnest Du sukzessive die Ports für diejenigen (Clients,Subnetze) die darauf zugreifen sollen. Kurzes Beispiel, nicht aktivieren wenn du per Remote den Rechner verwaltest sonst sägst Du dir den Ast ab wenn was schief läuft ;) 1. Standardregeln setzten iptables --policy INPUT DROP iptables --policy FORWARD DROP 2. jetzt bestimmte Sachen öffnen // unserem loopbackdevice vertrauen wir einfach mal, es darf alles iptables -A INPUT -p ALL -i lo -j ACCEPT // Verbindungen die bereits aufgebaut wurden bzw. mit anderen in Relation stehen un demzufolge den Filter schonmal passiert haben vertrauen wir auch iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT // jetzt öffnen wird unserem lokalen Subnetz (192.168.168.0/24) den SSH Port 22 iptables -A INPUT -p tcp --source 192.168.168.0/24 --dport 22 -j ACCEPT so jetzt kann unser localhost (loobackdevice lo) auf alle Dienste zugreifen und alle Clients aus dem Subnetz 192.168.168.0/24 auf den SSH Dienst für weiter Ports einfach die o.g. Chain nach --dport anpassen und hinzufügen, das ganze verpackst du in ein nettes Bootscript und alles sollte funktionieren. mfg Max

Markus Heinze schrieb:
Moin moin, lists schrieb:
Hi,
habe nen Server (OpenSuSE 11.0) in einer DMZ. Meine Frage lautet nun ist es moeglich bestimmte ports nur lokal zugaenglich zu machen (Programm kann man leider nicht auf localhost bescharaenken) ?
Beschäftige dich mal mit iptables, statt AppArmor. Mit AppArmor kannst du lediglich den Zugriff auf Dateien/Verzeichnisse auf Kernelebene restriktieren, nicht mehr und nicht weniger, das hilft dir bei Port's net weiter. Generell solltest du per default alles verbieten was aus dem 'bösen, weiten Netz' kommt. Dies kannst du sehr schnell vie 'default policy' im Iptables einstellen. Dann öffnest Du sukzessive die Ports für diejenigen (Clients,Subnetze) die darauf zugreifen sollen.
Kurzes Beispiel, nicht aktivieren wenn du per Remote den Rechner verwaltest sonst sägst Du dir den Ast ab wenn was schief läuft ;)
1. Standardregeln setzten
iptables --policy INPUT DROP iptables --policy FORWARD DROP
2. jetzt bestimmte Sachen öffnen
// unserem loopbackdevice vertrauen wir einfach mal, es darf alles iptables -A INPUT -p ALL -i lo -j ACCEPT
// Verbindungen die bereits aufgebaut wurden bzw. mit anderen in Relation stehen un demzufolge den Filter schonmal passiert haben vertrauen wir auch iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
// jetzt öffnen wird unserem lokalen Subnetz (192.168.168.0/24) den SSH Port 22 iptables -A INPUT -p tcp --source 192.168.168.0/24 --dport 22 -j ACCEPT
so jetzt kann unser localhost (loobackdevice lo) auf alle Dienste zugreifen und alle Clients aus dem Subnetz 192.168.168.0/24 auf den SSH Dienst für weiter Ports einfach die o.g. Chain nach --dport anpassen und hinzufügen, das ganze verpackst du in ein nettes Bootscript und alles sollte funktionieren.
mfg Max
Hallo Max, vielen dank, werde das ganze wohl mit dieser Loesung machen. Neuer Router mit echter DMZ kommt erstmal nicht in Frage. Gruesse. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Markus Heinze schrieb:
das ganze verpackst du in ein nettes Bootscript und alles sollte funktionieren.
noch ne kurze Frage.. Muss ich das in ein Bootscript packen? Merkt sich iptables die Regeln nicht selbststaendig? Gruesse. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

lists schrieb:
Markus Heinze schrieb:
das ganze verpackst du in ein nettes Bootscript und alles sollte funktionieren.
noch ne kurze Frage.. Muss ich das in ein Bootscript packen? Merkt sich iptables die Regeln nicht selbststaendig?
warum sollte er ? du kannst Regeln im laufenden Betrieb ändern.. deswegen brauchts ein Init-Script
Gruesse.
Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Fred Ockert
-
lists
-
Markus Heinze
-
Martin Hofius
-
Tobias Crefeld
-
Uwe Diederich