PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu iptables



_Andy_
24.10.12, 14:40
Hallo

Ich habe eine Frage zu iptables. Auf einem XenServer habe ich mit iptables den Host abgesichert.
Die VMs sind mittels Point-to-Point so konfiguriert, das über den Host geroutet wird.

Das Problem ist jetzt das Filtern der VMs. Wenn ich diese Regel entferne:

-A RH-Firewall-1-INPUT -i xenbr0 -o xenbr0 -j ACCEPT

dann erreiche ich keine VMs mehr. Also muss dadurch es doch möglich sein nur bestimmte Ports zu den VMs
durchzulassen. Wie kann ich diese Regel so erweitern, das zb nur der Port TCP 80 durchgelassen wird.
Wenn ich diese Regel teste, dann funktioniert das nicht.

-A RH-Firewall-1-INPUT -p tcp -i xenbr0 -o xenbr0 --dport 80 -j ACCEPT

Die Regel wird zwar angenommen aber dann sind alle Ports frei, nicht nur der Port 80.

Hat da jemand eine Idee??


*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i xenbr0 -o xenbr0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -d 5.9.x.y -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -d 5.9.x.y -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

nopes
24.10.12, 16:12
Hi,

post mal die Ausgabe von
iptables -nvL

_Andy_
24.10.12, 18:24
Hallo

Danke für die Hilfe.
Hier die Ausgabe. Die Zeile ist im Moment drin, sonst würde der Server ja nicht erreichbar sein.



Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
23 1492 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
100 374K RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 14 packets, 1608 bytes)
pkts bytes target prot opt in out source destination

Chain RH-Firewall-1-INPUT (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
100 374K ACCEPT all -- xenbr0 xenbr0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
23 1492 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 5.9.x.y state NEW tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 5.9.x.y state NEW tcp dpt:443
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

nopes
24.10.12, 20:45
...


Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
23 1492 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
100 374K RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 14 packets, 1608 bytes)
pkts bytes target prot opt in out source destination

Chain RH-Firewall-1-INPUT (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
100 374K ACCEPT all -- xenbr0 xenbr0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
23 1492 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 5.9.x.y state NEW tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 5.9.x.y state NEW tcp dpt:443
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Also, wenn du die Regel bzgl. Port 80 aufnimmst, darf die fett markierte Zeile nicht mehr erscheinen, falls es möglich ist, poste die Ausgabe mit aktivierter Regel.

Ich vermute aber, dass die Regel nur hinzugefügt wird, was dann nichts bring, da ja schon vorher alles akzeptiert wird.

_Andy_
24.10.12, 22:31
ich habe jetzt diese Regel rausgenommen

-A RH-Firewall-1-INPUT -i xenbr0 -o xenbr0 -j ACCEPT

und dafür diese eingefügt

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -i xenbr0 -o xenbr0 -j ACCEPT

danach ist der Server gar nicht zu erreichen. Auch nicht über Port 25.
Kann mann die Regel so abändern das Port 25 an den Server durchgereicht wird? Ich verstehe nicht warum der Server erreichbar ist wenn nur die erste Regel drin ist aber der Server gar nicht mehr erreichbar ist wenn ich die zweite Regel aktiviere. Irgendwie muss das doch gehen.


Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
40 3107 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
137 7930 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 164 packets, 19026 bytes)
pkts bytes target prot opt in out source destination

Chain RH-Firewall-1-INPUT (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- xenbr0 xenbr0 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
39 3047 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
1 60 ACCEPT tcp -- * * 0.0.0.0/0 5.9.65.139 state NEW tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 5.9.65.139 state NEW tcp dpt:443
137 7930 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

nopes
25.10.12, 10:28
Also ich sehe da spontan nichts falsches. Folgende Fragen gehen mir durch den Kopf.
Sicher das es TCP ist? Nicht das UDP gebraucht wird.
Wie hast du geprüft, ob der Port auf ist?
Falls zur Hand prüfe doch mal mit nmap (http://nmap.org/).Hier mal eine Ausgabe von einem meiner System
nmap 192.168.10.7

Starting Nmap 5.00 ( http://nmap.org ) at 2012-10-25 10:33 CEST
Interesting ports on 192.168.10.7:
Not shown: 990 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
443/tcp open https
2049/tcp open nfs
3000/tcp open ppp
8080/tcp open http-proxy

_Andy_
25.10.12, 16:43
Ich bin mit sicher das es TCP ist. Dahinter liegt ein Mailserver (TCP 25)
Nehme ich die Regel Nr 1 rein ist der Mailserver erreichbar. Allerdings antwortet mir dann auch z.B. der Webserver auf Port 80 und 443.

Aktiviere ich die Regel Nr 2 sollte ja nur Port 25 offen sein. Leider ist das nicht der Fall. Dann antwortet der Server auf keinen Port mehr.

Ich glaube das hat mit dem XenServer zu tun wie der routet. Irgendwas passt da nicht.
Die Regel muss sich doch so modifizieren lassen das es geht.

Mann,Mann komm mir richtig dämlich vor.

Geprüft ob der Port offen ist mache ich mit Telnet. Telnet xxx.xxx.xxx.xxx 25 und der Mailserver antwortet oder im Fall Regel 2 dann eben nicht
und der Prompt bleibt stehen.

nopes
25.10.12, 16:51
Dann probier geschickt zu logen (http://www.linuxquestions.org/questions/linux-security-4/iptables-logging-385165/) und so die garstigen Ports zu finden.