PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Iptables Routen



Duffy1905
07.05.03, 15:03
Man oh man diese IPtables, hab schon voll den Kopf!!!
Meine Ausgangslage:

Habe 4 Webserver in einer DMZ stehen.
Die Anbindung erfolgt über einen Switch der über einen Router und der davor stehenden zentralen Firewall mit dem Internet verbunden ist. Die Zentrale Firewall besitzt allerdings nur ein Sicherheitskonzept für Verbindungen ins Intranet. Für Rechner der DMZ bestehen keine Sicherheitsregeln, es existiert ein so genannter unbehinderter Durchgang in beide Richtungen.
(wenn dazu noch fragen sind schreibt es bitte)


Mir hat jemand gesagt ich muss portforwarding machen.
aber wie mach ich das wenn ich mehrere Webserver hinter der Firewall habe!




Ich weis meine Fragen sind sau dumm, aber ich bin total neu auf dem Gebiet!


hier ist jetzt mein momentanes Script:

#!/bin/sh


### Alle vorhandenen Regelketten werden gelöscht
iptables -F
iptables -t nat -F
iptables -X


### Variablen für unsere Interfaces
DEV_EXT=eth0
DEV_LAN=eth1


### Alles was von Aussen kommt oder rausgeht wird verworfen
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


### Loopback-Interface aktivieren
iptables -A OUTPUT -o lo -j ACCEPT
iptables A INPUT -i lo -j ACCEPT


### Aktivieren von Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward


### Die benutzerdefinierten Chains werden angelegt
iptables -N MY_REJECT
iptables -N MY_DROP

### MY_REJECT füllen
iptables -A MY_REJECT -p tcp -m limit 7200/h -j LOG --log prefix "REJECT TCP"
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit 7200/h - LOG --log prefix "REJECT UDP"
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit 7200/h -j LOG --log prefix "DROP ICMP"
iptables -A MY_REJECT -p icmp -j ACCEPT
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER"
iptables -A MY_REJECT -j REJECT --reject-with icmp-port-unreachable



### MY_DROP-CHAIN
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP"
iptables -A MY_DROP -j DROP


### Alle verworfenen Packete protokollieren
iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID"
iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID"


### Korrupte Pakete zurueckweisen
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP

### ausgehende Pakete bei bereits aufgebauter Verbindung erlauben
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### Rückkanal: eingehende Pakete zu einer bestehenden Verbindung
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW,INVALID -j MY_REJECT

### HTTP:
iptables -A INPUT -i $DEV_EXT -o $DEV_LAN -m state --state NEW -p tcp --dport 80 -j ACCEPT

### HTTPS:
iptables -A INPUT -i $DEV_EXT -o $DEV_LAN -m state --state NEW -p tcp --dport 443 -j ACCEPT

### SMTP:
iptables -A INPUT -i $DEV_EXT -o $DEV_LAN -m state --state NEW -p tcp --dport 25 -j ACCEPT

### FTP:
iptables -A INPUT -i $DEV_EXT -o $DEV_LAN -m state --state NEW -p tcp --dport 21 -j ACCEPT

### SSH:
iptables -A INPUT -i $DEV_EXT -o $DEV_LAN -m state --state NEW -p tcp --dport 22 -j ACCEPT

Duffy1905
07.05.03, 15:04
Achso noch ganz vergessen:

Die Firewall (Paketfilter) soll vor den Switch.

Also Internet ---zentrale Firewall --- Router --- Meine Firewall --- Switch --- Webserver

Matzetronic
07.05.03, 21:49
hi,

die zeile

iptables -A INPUT -m state --state NEW,INVALID -j MY_REJECT

sorgt dafür, dass die pakete schon vorher rausfliegen.

ciao,
matze

Duffy1905
08.05.03, 07:08
also diese Zeile am Schluss?!
Und wie siehts mit dem Routing aus, wie mach ich das?