DNS HOWTO

Obsah | Zpět | Další

6. Základní možnosti zabezpečení

Jamie Norrish

Nastavení konfiguračních možností pro snížení pravděpodobnosti výskytu problémů.

Existuje několik jednoduchých kroků, které můžete udělat, abyste více zabezpečili váš server a potenciálně také snížili jeho zátěž. Tento materiál je pouze úvodem; pokud se zajímáte o zabezpečení (a měli byste), obraťte se na další zdroje na internetu (viz poslední kapitola).

Následující konfigurační direktivy se mohou objevit v named.conf. Pokud se direktiva objeví v souboru v sekci options, aplikuje se na všechny zóny v souboru. Pokud se objeví pouze v položce zone, aplikuje se pouze na tuto konkrétní zónu. Položka zone je nadřazena položce options.

6.1 Omezení přenosů zóny

Aby vaše slave servery byly schopné odpovídat na dotazy na vaši doménu, musí být schopné přenést informace o zóně z vašeho primárního serveru. Málokdo další potřebuje dělat to samé. Omezte tedy přenosy zóny použitím možnosti allow-transfer, za předpokladu že 192.168.1.4 je IP adresa ns.friend.bogus a přidáním localhostu pro potřeby ladění:

zone "linux.bogus" {
      allow-transfer { 192.168.1.4; localhost; };
};

Omezením přenosů zóny zajistíte, že jediná informace dostupná všem je pouze ta, o kterou si řeknou přímo – nikdo se nemůže zeptat na všechny detaily vašeho nastavení.

6.2 Ochrana před spoofing-em

Za první, zamezte všem dotazům na domény, které neznáte, kromě interních/lokálních počítačů. Toto opatření vám nejenom pomůže zabránit podvodnému používání vašeho DNS serveru, ale také snižuje nadbytečnou zátěž vašeho serveru.

options {
      allow-query { 192.168.196.0/24; localhost; };
};

zone "linux.bogus" {
      allow-query { any; };
};

zone "196.168.192.in-addr.arpa" {
      allow-query { any; };
};

Dále, zamezte rekurzivním dotazům kromě dotazů z interních/lokálních počítačů. Sníží se tím riziko „cache poisoning“ útoků (při kterých je váš server zahlcen falešnými daty).

options {
        allow-recursion { 192.168.196.0/24; localhost; };
};

6.3 Spouštění named jinak než jako root

Je velmi rozumné spouštět named jako jiný uživatel než root, takže pokud bude kompromitovaný, jsou oprávnění získaná crackerem co nejomezenější. Nejdříve musíte vytvořit uživatele, pod kterým bude named běžet, a pak upravit inicializační skript, který používáte pro spuštění named. Nové uživatelské jméno a skupinu předáte do named pomocí příznaků -u a -g.

Například, v Debian GNU/Linux 2.2 můžete upravit /etc/init.d/bind skript přidaním následujícího řádku (kde byl uživatel named již vytvořen):

start-stop-daemon --start --quiet --exec /usr/sbin/named -- -u named

To samé lze udělat v Red Hat a dalších distribucích.

Dave Lugo popsal zabezpečené nastavení duálního chroot http://www.etherboy.com/dns/chrootdns.html, mohlo by vás to zajímat. Udělá hostitele, na kterém běží váš named, ještě bezpečnejším.

Obsah | Zpět | Další