Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

iptables: Zugriff auf mehrere Netze verhindern

Diskussion: iptables: Zugriff auf mehrere Netze verhindern im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hi, ich habe folgende Situation: Ein Netzwerk (N1), das hinter einem Debian Router steht, soll _nur_ ins Internet kommen. ...

Antwort
Alt 27.12.10, 10:41   #1 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard iptables: Zugriff auf mehrere Netze verhindern

Anzeige

Hi,

ich habe folgende Situation: Ein Netzwerk (N1), das hinter einem Debian Router steht, soll _nur_ ins Internet kommen. Zwischen dem Internet und diesem Netzwerk befindet sich ein weiteres Netz (N2). An diesem Netz wiederrum sind per VPN weitere Netzwerke (N3) drangehängt. Nun möchte ich verhindern, dass das man aus N1 ins N2 oder irgendein N3 kommt.

Momentan sieht meine Firewall so aus:

Code:
#!/bin/bash

###################################
# SETUP
###################################
modprobe ip_conntrack
echo 1  >  /proc/sys/net/ipv4/ip_forward
echo 0  >  /proc/sys/net/ipv4/ip_dynaddr
echo 1  >  /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0  >  /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1  >  /proc/sys/net/ipv4/conf/all/rp_filter
echo 61 >  /proc/sys/net/ipv4/ip_default_ttl
echo 1  >  /proc/sys/net/ipv4/tcp_abort_on_overflow
echo 30 >  /proc/sys/net/ipv4/tcp_fin_timeout
echo 3  >  /proc/sys/net/ipv4/tcp_syn_retries
echo 3  >  /proc/sys/net/ipv4/tcp_synack_retries

###################################
# CLEAR ALL AND SET DEFAULTS
###################################
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

###################################
# ALLOW ALL TRAFFIC ON LOOPBACK
###################################
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

###################################
# EXCEPTIONS TO THE INPUT POLICY
###################################
# allow all input through the eth0 device
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT

# allow dns through eth1
iptables -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT

###################################
# EXCEPTIONS TO THE FORWARD POLICY
###################################
iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.0.0/24 -p icmp -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.0.0/24 -p icmp -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.0.0/24 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.0.0/24 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.1.0/24 -p tcp --dport 443 -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ihr seht, dass ich z.B. in

iptables -A FORWARD -i eth1 -o eth0 ! -d 192.168.0.0/24 -p icmp -j ACCEPT

Zugriff gewähre, wenn das Zielnetz nicht ein bestimmtes ist. Wenn ich jetzt für weitere Netzwerke dieselbe Zeile setze, matcht ja trotzdem die obige Zeile zuerst. Somit hat was folgt keine Auswirkungen.

Wie macht man sowas denn?

ciao
serow
Serow ist offline   Mit Zitat antworten
Alt 27.12.10, 13:29   #2 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

iptables erlaubt es dir neben den builtin chains (wie z.B. FORWARD oder INPUT) auch selbst chains zu erstellen ... iptables -N <name>

diese chains funktionieren bis auf ein paar ausnahmen so wie die builtin chains ... sie fangen oben bei regel 1 mit der verarbeitung an, und laufen nach unten alle regeln durch, bis eine passt, oder das ende erreicht wurde... am ende gibts allerdings keine default policy die über das schicksal des pakets entscheidet, sondern man kehrt dahin zurück von wo die chain aufgerufen wurde ...

wenn du nun also deine FORWARD chain um etwas erweitern willst, das mehrere ausschluskriterien hat, wie in deinem beispiel die verbotenen netze, dann könntest du für dieses scenario eine entsprechende chain anlegen...


-N UserDefinedChain1
-A UserDefinedChain1 -d 192.168.0.0/24 -j RETURN
-A UserDefinedChain1 -d 192.168.1.0/24 -j RETURN
-A UserDefinedChain1 -j ACCEPT
-I FORWARD -i eth1 -o eth0 -p icmp -j UserDefinedChain1

alles an ICMP traffic was von eth1 nach eth0 soll wird die regel der FORWARD chain erfüllen, und folglich an UserDefinedChain1 weitergereicht ... trifft dort ein ausschlusskriterium zu, gehts zurück in die FORWARD chain ... trifft kein ausschlusskriterium zu, wirds angenommen

alles was mit RETURN zurück gekommen ist, wird an die nächste regel der FORWARD chain weitergereicht
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 27.12.10, 16:38   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Hi,

ah okay, ich hatte das zwar immer im Hinterkopf, dass es diese Custom Chains gibt. Und jetzt weiss ich auch wozu

ciao
sero
Serow ist offline   Mit Zitat antworten
Alt 28.12.10, 01:49   #4 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

och, nicht nur dazu, aber es ist zumindest ein einsatzzweck
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » iptables: Zugriff auf mehrere Netze verhindern
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61