Page 1 of 2
					
				Frage zu iptables
				Posted: 2003-05-20 18:46
				by sfeni
				Sorry, dieser Thread handelt sich nich um 1und1 rooties, wenns nicht in dieses forum gehört einfach in off-topic. danke
Ich habe nun Debian als Router eingerichtet und folgendes Skript mit iptables gebaut:
Code: Select all
#!/bin/sh
#
# firewall
#
IPTABLES=/sbin/iptables
EXTIF="ppp0"
INTIF="eth0"
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
Und ein paar Zusatzinfos:
Code: Select all
sfeni:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
LOG        all  --  anywhere             anywhere           LOG level warning
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
sfeni:~# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
sfeni:~#
Wie kann ich nun das so einrichten, dass die Ports von außen nicht offen sind? Ich kann momentan auf alle offenen Ports von außen zugreifen und das will ich net, bzw. ich möchte nur bestimmte ports freigeben können.
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-20 18:51
				by captaincrunch
				Ganz dicht :
Code: Select all
iptables -A INPUT -i $EXTIF -j DROP
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-20 18:59
				by sfeni
				Ich habe noch einen bind auf dem router laufen, der alle anfragen forwardet. und wenn ich nun alles blocke funzt der nicht mehr. :-(
wie kann ich das nun einstellen?
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-20 19:08
				by adjustman
				CaptainCrunch wrote:Ganz dicht :
Code: Select all
iptables -A INPUT -i $EXTIF -j DROP
 
 :lol:  :lol:
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 00:41
				by sfeni
				*delete*
hab alles wieder gelöscht, was ich hier gepostet habe...
Code: Select all
$IPTABLES -A INPUT  -p udp -i $EXTIF --sport 53 --dport 1024:65535 -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j DROP
so funktioniert es ;-)
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 07:49
				by captaincrunch
				Dafür :
Code: Select all
$IPTABLES -A INPUT  -p udp -i $EXTIF --sport 53 --dport 1024:65535 
-j ACCEPT
gibt's die State-Table, die auf magische Weise unter IPTables auch mit NS-UDP ziemlich gut funktioniert ... ;)
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:09
				by sfeni
				"State-Table" ? Was ist das?
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:11
				by captaincrunch
				"State-Table" ? Was ist das?
Das, was du oben mit dem "-m state --state ESTABLISHED,RELATED" erreichen wolltest ... ;)
Genauer : 
http://iptables-tutorial.frozentux.net/ ... ATEMACHINE 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:18
				by sfeni
				aso, ok.
verstehe das zwar nicht ganz, aber naja. wird schon passen.
wenn du kurz zeit hast, dann kannst du ja mal 1 oder 2 worte darüber verlieren, was man damit eigentlich genau erreicht. die regeln stammen nämlich nur teilweise von mir.  :?
EDIT:
established: auch eingehenden traffic erlauben, wenn die verbindung von intern aufgebaut wurde
related: wenn diese verbindung zusätzliche verbindungen aufbaut, wie z.B. bei ftp, bei dem es eine control- und eine data-verbindung gibt, dann eingehenden traffic erlauben
könnte man das so beschreiben?
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:24
				by captaincrunch
				wenn du kurz zeit hast, dann kannst du ja mal 1 oder 2 worte darüber verlieren, was man damit eigentlich genau erreicht.
Kurz beschreiben ist gut ... ;)
established: auch eingehenden traffic erlauben, wenn die verbindung von intern aufgebaut wurde
related: wenn diese verbindung zusätzliche verbindungen aufbaut, wie z.B. bei ftp, bei dem es eine control- und eine data-verbindung gibt, dann eingehenden traffic erlauben
könnte man das so beschreiben?
Jau, besser hätte ich's auch nicht sagen können. Nur gut, dass ich dein Edit noch früh genug gesehen hatte ... ;)
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:38
				by sfeni
				Hehe, sonst hättest du wohl das ganze auch versucht zu beschreiben. :-)
Worauf du wahrscheinlich raus wolltest ist das, oder?
Code: Select all
$IPTABLES -A INPUT  -p udp -i $EXTIF --sport 53 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:46
				by captaincrunch
				Nicht ganz. Dadurch, dass die Verbindung dann in den State-Tables steht, kannst du auf die Definition der Source und Destionation-Ports verzichten, und schaffst dir so zusätzliche Sicherheit, weil du nicht alles freigeben musst.
Bei mir würd's wahrscheinlich so aussehen :
Code: Select all
$IPTABLES -A INPUT  -p udp -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 09:54
				by sfeni
				ok, werde ich testen. danke schön
"hier wird man immer geholfen"  8)
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 17:17
				by sfeni
				Das ganze sieht nun so aus.
Bis jetzt funktioniert auch alles...
Code: Select all
#!/bin/sh
#
# firewall
#
IPTABLES=/sbin/iptables
EXTIF="ppp0"
INTIF="eth0"
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
$IPTABLES -A INPUT -p tcp -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p udp -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j DROP
Noch irgendwelche Verbesserungen?
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 17:35
				by captaincrunch
				Ja : Mach mal aus
Code: Select all
$IPTABLES -A INPUT -i $EXTIF -j DROP
ein
Code: Select all
$IPTABLES -A INPUT -i $EXTIF -j REJECT
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 17:38
				by sfeni
				ok, habs umgestellt.
wo liegt da der unterschied?
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 17:41
				by captaincrunch
				Ganz einfach : durch REJECT beendet der TCP-Stack die Verbindung durch ein RST, dem Client wird also mitgeteilt, dass die Verbindung nicht mehr besteht.
Beim DROP bekommt der Client keine Rückmeldung, und schickt munter weiter.
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 17:55
				by sfeni
				cool, das problem hatte ich heute auch schon bei einem test.
wollte mit telnet mal testen ob ich auf einen port komme und der hat ewig gebraucht bis er sagt keine verbindung, aber nun bricht er sofort ab.
danke
noch irgendwas zu verbessern?
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 17:59
				by captaincrunch
				Ja :
sollte ein 
sein ... ;)
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 18:04
				by sfeni
				danach funzt gar nichts mehr :-(
außerdem löscht der alle regeln eh wieder ;-)
[/code]
 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 23:22
				by rootmaster
				die INPUT-chain muss beim inneren interface des gateways für pakete aus dem intranet auf ACCEPT stehen ;)
"back to the roots"
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-21 23:37
				by sfeni
				stimmt, da hätte ich wohl mitdenken müssen...
werds dann mal ausprobieren.
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-22 09:02
				by sfeni
				Wie kann ich dem ganzen denn noch eine Log-File geben in der alles mitgeloggt wird?
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-05-22 13:38
				by sfeni
				ich habe nun ein kleines, bzw. teilweise großes, problem:
wieso brauchen manche seiten sehr sehr lange zu laden oder funktionieren gar nicht?
mit der suse standard-iptables konfiguration ging das wunderbar, aber nun mit dem selbstgebauten skript geht das nicht mehr so gut.
			 
			
					
				Re: Frage zu iptables
				Posted: 2003-06-26 13:40
				by sfeni
				nachdem dies nun funktioniert, habe ich mal wieder eine frage...
wieso erreiche ich hiermit meinen vnc server auf meinem rechner im netzwerk von außen nicht?
Code: Select all
#!/bin/sh
#
# firewall
#
IPTABLES=/sbin/iptables
EXTIF="ppp0"
INTIF="eth0"
case "$1" in
start)
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 5500 -j DNAT --to 10.0.0.2:5500
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 5800 -j DNAT --to 10.0.0.2:5800
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 5900 -j DNAT --to 10.0.0.2:5900
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
$IPTABLES -A INPUT -p tcp -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p udp -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 21 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 22 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 3306 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 4661 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 4662 --syn -j ACCEPT
$IPTABLES -A INPUT -p udp -i $EXTIF --dport 4665 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 5500 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 5800 --syn -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $EXTIF --dport 5900 --syn -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j REJECT
;;
restart)
$0 stop && $0 start
;;
stop)
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -F -t nat
;;
esac
EDIT:
Wie kann ich dem ganzen denn noch eine Log-File geben in der alles mitgeloggt wird?