Meine IPtables - könnt Ihr mal drüberschauen?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

Meine IPtables - könnt Ihr mal drüberschauen?

Beitrag von Ganeymed » 07.09.2005 11:41:52

Hi,

ich habe eine Firewall mit Snort-Inline für meine Diplomarbeit geschreiben.

Das ganze wird so aussehen:
Bild
Bestimmter Zugriff soll also nur aus dem FH-NET erlaubt sein.
Auch von innen herraus gibt es jede Menge restriktionen.

Sie läuft gut, und macht das wass sie soll.
Aber könnt Ihr mal drüberschauen, ob man etwas verbessern kann?

Ich weis, die ist ganz schön lang, aber vieleicht gibts ja noch ein paar Kniffe die sie verbessern.

Vielen Dank
Holger (Ganeymed)

(der LOG beim RTP-Verkehr fliegt noch raus, der ist nur zum testen. Alle 20ms ein Packet ist doch etwas arg viel zum loggen)

verschoben nach http://nopaste.debianforum.de/1023
Bitte Forumsregeln beachten.
TCA

Benutzeravatar
bluestar
Beiträge: 2421
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Beitrag von bluestar » 07.09.2005 12:44:12

NoPaste wäre hilfreich.

Um die Lesbarkeit zu erhöhen, würde ich dir das anlegen eigener Ketten empfehlen.... Schließlich willst du ja in einem Jahr auch noch auf den ersten Blick erkennen, was von wo nach wo erlaubt/nicht erlaubt ist.

Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

Beitrag von Ganeymed » 07.09.2005 13:28:44

Ich hab jede Menge Ketten rausgeschmissen, damit es lesbarer wird.
mit Ketten war das ding noch viel länger.

Daher habe ich ja auch nach Protokollen geordnet.

Es sind eigentlich auch recht wenig Sachen gepastet, weil die Zustände stark reglementiert sind.

Benutzeravatar
t4pion
Beiträge: 46
Registriert: 04.05.2005 19:54:42
Kontaktdaten:

Beitrag von t4pion » 07.09.2005 13:37:30

Debian Sid; 2.6.12 kernel; Athlon 2500+; nvidia geforce 4 ti 4200

Benutzeravatar
bluestar
Beiträge: 2421
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Meine IPtables - könnt Ihr mal drüberschauen?

Beitrag von bluestar » 07.09.2005 16:32:55

Ganeymed hat geschrieben:

Code: Alles auswählen

#$IPTABLES -A FORWARD -p tcp -s $INTERN_NET --sport 1024:65535 -o $EXTERN_ETH --dport 22 -m state --state NEW -j ACCEPT

Code: Alles auswählen

#$IPTABLES -A FORWARD -p tcp -s $FH_NET --sport 1024:65535 -d $fwclient --dport 22 -m state --state NEW -j ACCEPT

Code: Alles auswählen

#$IPTABLES -t mangle -A FORWARD -i $EXTERN_ETH -p tcp -d $FTP_Server --dport 22 -m state --state NEW -j MARK --set-mark 1
#$IPTABLES -t mangle -A FORWARD -i $EXTERN_ETH -p tcp -d $FTP_Server --dport 22 -m state --state ESTABLISHED -j MARK --set-mark 2
Also die Qualiät deiner Frage is ziemlich dürftig, aber du wolltest ja ne Meinung zu der Firewall, habe mal ein paar Auszüge gewählt und dazu muss ich sagen: Kommentare sind sinnlos und erhöhen bei sowas die Verwirrung nur noch mehr ....

Ketten hingegen sind sinnvoll, auch wenn es dadurch länger wird, weil so kann man jede Kette auf ihre Korrektheit überprüfen und das macht den Gesamtüberblick viel einfacher... Im Bezug auf's Studium fällt mir da so direkt folgendes ein: Modules, SwQA

Für mich als Admin wäre deine Firewall schon durchgefallen, weil ich da viel zu wenig Überblick habe... Ich empfehle ein Redesign

Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

Re: Meine IPtables - könnt Ihr mal drüberschauen?

Beitrag von Ganeymed » 07.09.2005 20:57:32

Danke an TCA fürs NoPasten - irgendwie hab ich das voll missverstanden -
Und auch erst jetzt verstanden was NoPaste ist. Sorry.

@ Bluestar
bluestar hat geschrieben: Für mich als Admin wäre deine Firewall schon durchgefallen, weil ich da viel zu wenig Überblick habe... Ich empfehle ein Redesign
Deswegen wollt ich ja mal nachfragen was Ihr davon haltet. Das ist nämlich meine
erste eigene Firewall. :? Und ich will es ja auch richtig machen.

Danke für die Hinweise.

Ach ja, die Firewall und die DMZ sollen nur FTP Zugriff nach außen haben,
solange ich noch am Rumbasteln bin.
Ich muß ja noch ab und zu was Nachinstalliern bis alles perfekt ist (sein soll)
Danach wird das augeknippst.

Nochmal zu den Ketten.
Ich verstehe nicht ganz, wie die zur Übersichtlichkeit beitragen.
Könntest Du das mal an dem FTP Beispiel verdeutlichen (nett frag).
Oder ist die Ordnung nach Protokollen dann eher schlecht?
Ich hab auch eine Firewall mit fwbuilder gebaut, da wurden jede Menge Ketten
verbaut, aber es wurde nach "Ein und Ausgängen" sortiert.
Und das war Megaunübersichtlich. Nicht zuletzt weil fwbuilder so sinnvolle
Kettennamen wie "Cid409F78F6.0" verwendet.
Außerdem konnte fwbuilder das QUEUE nicht, was ich für Snort-Inline brauche.
Die Vorgabe ist halt ein ganz bestimmtes Regelwerk nach Protokollen.
Daher fand ich die Idee, das nach Protokollen zu ordnen, eigentlich gut.

Bin für jeden Hinweis und auch Kritik dankbar. Soll ja auch gut werden. :D

Danke und viele Grüße
Holger (Ganeymed)

Benutzeravatar
bluestar
Beiträge: 2421
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Meine IPtables - könnt Ihr mal drüberschauen?

Beitrag von bluestar » 08.09.2005 10:37:11

Ganeymed hat geschrieben: Nochmal zu den Ketten.
Ich verstehe nicht ganz, wie die zur Übersichtlichkeit beitragen.
Ich würde dir folgende Ketten empfehlen:

INPUT Chains auf der Firewall:
  • intern2firewall
    fhnet2firewall
    dmz2firewall
    badnet2firewall
OUTPUT Chains auf der Firewall:
  • firewall2intern
    firewall2fhnet
    firewall2dmz
    firewall2badnet
Forward Chains auf der Firewall:
  • dmz2intern
    dmz2fhnet
    dmz2badnet
    intern2dmz
    intern2fhnet
    intern2badnet
    fhnet2dmz
    fhnet2intern
    fhnet2badnet
    badnet2fhnet
    badnet2intern
    badnet2dmz
Wenn du dan weitere Dienste freischalten willst, z.b. vom FH-Netz in die DMZ dann brauchst du nicht die gesamte Firewall durchackern, sondern erweiterst einfach die Ketten: fhnet2dmz und dmz2fhnet (wobei letzteres nicht mal notwendig sein müsste)
Ganeymed hat geschrieben: Ach ja, die Firewall und die DMZ sollen nur FTP Zugriff nach außen haben,
solange ich noch am Rumbasteln bin.
Ich muß ja noch ab und zu was Nachinstalliern bis alles perfekt ist (sein soll)
Danach wird das augeknippst.

Code: Alles auswählen

DMZ = Netz der DMZ
DMZ_ETH = Interface
INTERN = Netz Intern
INTERN_ETH = Interface intern
FH_NET = Netz der FH
FH_ETH = Interface für FH-Netz und Bad-Net

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $DMZ_ETH -o $INTERN_ETH -s $DMZ_NET -d $INTERN -j dmz2intern
$IPTABLES -A FORWARD -i $DMZ_ETH -o $FH_ETH -s $DMZ -d $FHNET -j dmz2fh
$IPTABLES -A FORWARD -i $DMZ_ETH -o $FH_ETH -s $DMZ -d 0.0.0.0 -j dmz2badnet

So würde ein Teil deines Forward-Chains aussehen und jetzt zu deinem FTP Beispiel:

Code: Alles auswählen

# DMZ FTP freischalten überall hin
$IPTABLES -A dmz2intern -p tcp -m tcp --dport 21 -j ACCEPT
$IPTABLES -A dmz2fhnet -p tcp -m tcp --dport 21 -j ACCEPT
$IPTABLES -A dmz2badnet -p tcp -m tcp --dport 21 -j ACCEPT

# Firewall selbst freischalten für FTP überall hin
$IPTABLES -A firewall2intern -p tcp -m tcp --dport 21 -j ACCEPT
$IPTABLES -A firewall2fhnet -p tcp -m tcp --dport 21 -j ACCEPT
$IPTABLES -A firewall2badnet -p tcp -m tcp --dport 21 -j ACCEPT
So wäre das ganz wesentlich einfacher!
Übrigens:
FTP = Port 21
SSH = Port 22

Noch eine Anmerkung zum Thema localhost - ich würde genrell keine Firewallregeln für das Pseudodevice einrichten.

Code: Alles auswählen

$IPTABLES -i lo -j ACCEPT
$IPTABLES -o lo -j ACCEPT

Ganeymed
Beiträge: 35
Registriert: 29.06.2005 21:20:07

Beitrag von Ganeymed » 08.09.2005 22:14:16

Super erklärt - Vielen Dank für Deine Mühe.

Ich werde das mal überarbeiten und versuchen das umzusetzen.

Danke und Viele Grüße
Holger (Ganeymed)

Benutzeravatar
Hosi
Beiträge: 226
Registriert: 17.03.2003 15:17:29

Beitrag von Hosi » 09.09.2005 01:39:02

Code: Alles auswählen

#
# Forwarding aktivieren
#
echo "1" > /proc/sys/net/ipv4/ip_forward
#
# Syncookies aktivieren - gegen flood Attacken
#
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
Das gehört weniger in ein Firewallscript. Wenn die Firewall unter Debian läuft, solltest Du einfach /etc/network/options ändern.

Benutzeravatar
bluestar
Beiträge: 2421
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Beitrag von bluestar » 09.09.2005 01:41:22

Ganeymed hat geschrieben: Super erklärt - Vielen Dank für Deine Mühe.
Kein Problem, ich geh mal davon aus das du selbst in meinem Beispiel gesehen hast, wie schön einfach und übersichtlich das mit eigenen Ketten werden kann.
Ganeymed hat geschrieben: Ich werde das mal überarbeiten und versuchen das umzusetzen.
Ja und wenn du die überarbeitete Fassung fertig hast, dann lass mich mal nen Blick drauf werden....

Antworten