ipchains - povoleni DNS dotazu

Miroslav BENES mbenes na tenez.cz
Čtvrtek Duben 6 17:04:32 CEST 2000


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

Ano. Nechtel jsem toho opisovat moc.

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

Jasne.

> 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.

To ze se pta on sam je mi taky jasne, akorat jsem si nedokazal poradne 
predstavit ty pakety co se vraci.
 
> 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

Cili odmitnout pakety, snazici se o navazani spojeni (nove) a pustit jenom 
"stare" zname. Chapu to dobre ?

> 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

JO ! To je presne ono. Diky moc !

> 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.

Jak ? Konfiguroval jsem caching-nameserver podle LDP, v /etc/resolf.conf mam:

search tenez.cz

nameserver 127.0.0.1
nameserver <prvni_DNS_providera>
nameserver <druhy_DNS_providera>



Takze by se jich mel ptat sam, ne ? Nslookup sice vypisuje "Server 
127.0.0.1", ale on se snad pta dalsich nameserveru (nebo root-serveru ?)

Jak by pak mely vypadat ty pravidla ?

ipchains -A bad-if -p tcp -s <prvni_DNS_providera> -sport domain -j ACCEPT

 .. a dtto pro druhy DNS server a pro UDP. Pak bych tedy mel nechranene porty 
ve vztahu k temto dvema serverum, coz by mi ale nevadilo. Je to tak ?




--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------


Další informace o konferenci Linux