ipchains - povoleni DNS dotazu

Brano Zarnovican zarnovican na pobox.sk
Čtvrtek Duben 6 14:40:59 CEST 2000


>  - dotazy budou mirene jen z vnitrni (vnejsi) site na server, takze 
> IMHO neni potreba pro DNS nastavovat forwarding (?)
>  - povolim vstup techto paketu z vnitrni site a z vnejsi site
>  - to by melo stacit (??)
> 
> ipchains -A bad-if  -p tcp --dport domain -j ACCEPT
> ipchains -A bad-if  -p udp --dport domain -j ACCEPT
> ipchains -A good-if -p tcp --dport domain -j ACCEPT
> ipchains -A good-if -p udp --dport domain -j ACCEPT

Podla toho examplu v HOWTO su 'bad-if' a 'good-if' v 'input' retazi.
Predpokladam, ze 'output' mate povoleny na vsetko.

Tymi styrmi pravidlami povolite prijem dotazov z oboch sieti.
Odpovede idu cez 'output'.

Ked vsak server nieco nema v cache-i tak je to ON kto posiela
dotazy von (dport:domain,sport:???). Dotaz cez output odide,
ale odpoved (sport:domain,dport:???) uz cez input pravidla
neprelezie.

Bolo by vsak zasadnou chybou dat tam pravidla typu:
ipchains -A bad-if  -p tcp --sport domain -j ACCEPT
ipchains -A bad-if  -p udp --sport domain -j ACCEPT

Nechali by ste si nechranene vsetky porty. Utocnikovi by stacilo
si len dat source port 53.

U TCP sa to riesi:
ipchains -A bad-if  -p tcp ! -y --sport domain -j ACCEPT

Bohuzial ale vacsina DNS ide cez UDP a tam sa take nieco neda.
Jedine co mozte je skusit odhadnut to ???. Zalogujte si zopar
odpovedi a zistite z akeho intervalu OS vybera src port,
pripadne si prestudujete procfs.txt a zistite, ze 'ip_local_port_range'
je asi presne na to.

ipchains -A bad-if  -p udp --sport domain --dport 1024:4999 -j ACCEPT

Druha moznost je, ze nakonfigurujete svoj DNS server tak, ze sa bude
pytat vzdy toho isteho servera (u providera), ten mu to rekurzivne
vyriesi a odpoved bude teda prichadzat vzdy z tej istej IP adresy.

						BranoZ



Další informace o konferenci Linux