Page 1 of 1
Ports für Namenauflösung
Posted: 2006-12-22 22:12
by grandcat
Hallo zusammen

,
ich hätte da mal wieder eine kleine Frage: Da ich bei meinem Server prinzipiell alle Anfragen nach außen und innen blockiere und nur gewollte Dienste mit dem WWW kommunizieren lassen will, würde ich gerne wissen, welche Ports benötigt werden, um eine Domain auf einem externen DNS-Server aufzulösen? :)
Re: Ports für Namenauflösung
Posted: 2006-12-22 23:59
by nyxus
für DNS sollte normalerweise UDP/53 reichen.
Re: Ports für Namenauflösung
Posted: 2006-12-23 00:11
by flo
Code: Select all
grep name /etc/services
domain 53/tcp nameserver # name-domain server
domain 53/udp nameserver
für paranoide Firewalls eventuell noch die 953 dazunehmen, falls der Rechner auf dem Controlchannel horchen soll.
flo.
Re: Ports für Namenauflösung
Posted: 2006-12-23 00:13
by grandcat
Wenn ich bei den iptables folgende Regeln hinzufüge, sollte es doch klappen:
Code: Select all
iptables -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53 -j ACCEPT
So kommen die Verbindungen vom Port 53 des DNS-Servers über die Highports zum Server und umgekehrt. Allerdings klappt das nicht :?
Schalte ich die Firewall ab, so gehts natürlich, aber das will ich ja nicht unbedingt. Weiß jemand Rat? :)
EDIT:
Habe dein Beitrag erst gerade gesehen, Flo. Das werde ich gleich mal ausprobieren ;-)
Re: Ports für Namenauflösung
Posted: 2006-12-23 00:26
by flo
IMHO ist derzeit TCP das angesagtere ;-) probiers mal - aber so, wie ich die iptables-rule verstehe, müsste das sonst generell passen.
flo.
Re: Ports für Namenauflösung
Posted: 2006-12-23 00:33
by mad cow
rein:
Code: Select all
$IPTABLES -A INPUT -p udp -s $DNS0 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $DNS0 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -s $DNS1 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $DNS1 --sport 53 -j ACCEPT
raus:
Code: Select all
$IPTABLES -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT
Re: Ports für Namenauflösung
Posted: 2006-12-23 00:46
by grandcat
Hier zur Lösung meines Problems. Da ich das iptables-Script auf einer Homepage generieren lies, habe ich nicht auf folgenden Regelsatz aufgepasst:
Code: Select all
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
Dabei wird jede einzelne Regel mit MY_REJECT gefiltert, dadurch sind anscheinend die DNS-Abfragen gestört worden. Mit Herausnahme funktioniert es aber vorerst einmal

Re: Ports für Namenauflösung
Posted: 2006-12-23 00:49
by grandcat
Mad Cow wrote:rein:
Code: Select all
$IPTABLES -A INPUT -p udp -s $DNS0 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $DNS0 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -s $DNS1 --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $DNS1 --sport 53 -j ACCEPT
raus:
Code: Select all
$IPTABLES -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT
Das ist auch eine interessante Möglichkeit, lag bei mir aber an etwas anderem, wie schon erwähnt. Übrigens sind die Variablen $DNS0 und $DNS1 bei mir nicht belegt. Man müsste diese wahrscheinlich erst durch Auslesen der "/etc/resolv.conf" belegen

(Suse Linux 10.0)
Re: Ports für Namenauflösung
Posted: 2006-12-23 11:03
by r. u. serious
Macht es nicht mehr Sinn, etwas wie dnsmasq oder einen anderen lokalen "DNS-Proxy" zu betreiben, und die iptables-regel explizit per iptables uid-owner zu matchen. - Wobei man selbst dann natürlich immer noch über DNS tunneln kann...