<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://admin.wiki.kzoli.hu/index.php?action=history&amp;feed=atom&amp;title=Bind_9_telep%C3%ADt%C3%A9se_%28Jessie%29</id>
	<title>Bind 9 telepítése (Jessie) - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://admin.wiki.kzoli.hu/index.php?action=history&amp;feed=atom&amp;title=Bind_9_telep%C3%ADt%C3%A9se_%28Jessie%29"/>
	<link rel="alternate" type="text/html" href="https://admin.wiki.kzoli.hu/index.php?title=Bind_9_telep%C3%ADt%C3%A9se_(Jessie)&amp;action=history"/>
	<updated>2026-05-05T20:07:19Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://admin.wiki.kzoli.hu/index.php?title=Bind_9_telep%C3%ADt%C3%A9se_(Jessie)&amp;diff=58&amp;oldid=prev</id>
		<title>KZoli: Új oldal, tartalma: „Ez a leírás az [https://www.isc.org/downloads/bind/ ISC BIND] DNS kiszolgáló (9.x verziójának) telepítését írja le publikus authoritatív vagy belső hálóza…”</title>
		<link rel="alternate" type="text/html" href="https://admin.wiki.kzoli.hu/index.php?title=Bind_9_telep%C3%ADt%C3%A9se_(Jessie)&amp;diff=58&amp;oldid=prev"/>
		<updated>2018-05-29T20:54:35Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „Ez a leírás az [https://www.isc.org/downloads/bind/ ISC BIND] DNS kiszolgáló (9.x verziójának) telepítését írja le publikus authoritatív vagy belső hálóza…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ez a leírás az [https://www.isc.org/downloads/bind/ ISC BIND] DNS kiszolgáló (9.x verziójának) telepítését írja le publikus authoritatív vagy belső hálózati &amp;#039;&amp;#039;cache&amp;#039;&amp;#039; kiszolgáló feladatkörben, technikailag &amp;#039;&amp;#039;chroot&amp;#039;&amp;#039; fogdába zárva, és klasszikus, konfigurációs fájl alapú &amp;#039;&amp;#039;backend&amp;#039;&amp;#039;-et használva. &lt;br /&gt;
&lt;br /&gt;
Nem publikus, gyorsítótár (&amp;#039;&amp;#039;cache-only&amp;#039;&amp;#039;) névszerver szolgáltatásra (amelyet rutinszerűen telepíthetünk minden publikus levelező szerverre, webkiszolgálóra, stb. - általában minden &amp;#039;&amp;#039;standalone&amp;#039;&amp;#039; kiszolgálóra) a monolitikus és terjedelmes BIND-9 helyett pl. a [[Dnsmasq telepítése (Jessie)|DNSmasq]] használatát javaslom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress - még ne vedd komolyan!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
==Telepítés==&lt;br /&gt;
Házirend szerint [[Debian_szerver_alaptelep%C3%ADt%C3%A9s_(Jessie) | alaptelepített]] és [[Debian_szerver_%C3%A1ltal%C3%A1nos_biztons%C3%A1gi_be%C3%A1ll%C3%ADt%C3%A1sai_(Jessie) | biztosított]] szervergépre Debian csomagból telepíthetjük - teszteléshez és az adminisztráció megkönnyítésére az alapvető klienseket tartalmazó &amp;#039;&amp;#039;dnsutils&amp;#039;&amp;#039; csomagot is telepítsük:&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install bind9 dnsutils # Plusz függőség könyvtárak&amp;lt;/pre&amp;gt;&lt;br /&gt;
A telepítés elindítja a konfigurálatlan névszervert, ezt állítsuk le:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl stop bind9&amp;lt;/pre&amp;gt;&lt;br /&gt;
===A chroot fogda beállítása===&lt;br /&gt;
A &amp;#039;&amp;#039;jail&amp;#039;&amp;#039;-t egy írható és futtatható partícióra kell tenni, ez célszerűen külön lehet mount-olva, pl. a &amp;#039;&amp;#039;/srv/chroot/bind&amp;#039;&amp;#039; mountpoint-ra. &amp;lt;small&amp;gt;&amp;#039;&amp;#039;&amp;#039;TODO:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;bind-mount&amp;#039;&amp;#039; illetve a &amp;#039;&amp;#039;chroot&amp;#039;&amp;#039;-on belüli szigorítások meggondolása!&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rendezzük be a fogdát:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p -m 755 /srv/chroot/bind&lt;br /&gt;
# etc&lt;br /&gt;
mkdir /srv/chroot/bind/etc&lt;br /&gt;
mv /etc/bind /srv/chroot/bind/etc&lt;br /&gt;
chown -R bind:bind /srv/chroot/bind/etc/bind&lt;br /&gt;
cp /etc/localtime /srv/chroot/bind/etc/localtime&lt;br /&gt;
ln -s /srv/chroot/bind/etc/bind /etc/bind # Security, stb. update-ek miatt&lt;br /&gt;
# dev&lt;br /&gt;
mkdir /srv/chroot/bind/dev&lt;br /&gt;
mknod /srv/chroot/bind/dev/null c 1 3&lt;br /&gt;
mknod /srv/chroot/bind/dev/random c 1 8&lt;br /&gt;
chmod 666 /srv/chroot/bind/dev/null /srv/chroot/bind/dev/random&lt;br /&gt;
# var&lt;br /&gt;
mkdir -p /srv/chroot/bind/var/cache/bind&lt;br /&gt;
mkdir -p /srv/chroot/bind/var/run/bind/run&lt;br /&gt;
chown -R bind:bind /srv/chroot/bind/var/*&amp;lt;/pre&amp;gt;&lt;br /&gt;
A &amp;#039;&amp;#039;syslog-ng&amp;#039;&amp;#039; használata esetén a &amp;#039;&amp;#039;chroot&amp;#039;&amp;#039;-olt bind képes a &amp;#039;&amp;#039;syslog&amp;#039;&amp;#039;-ba írni, erre vonatkozó külön beállítás nem szükséges.&lt;br /&gt;
&lt;br /&gt;
A fogda elkészítése után adjuk meg annak útvonalát a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; konfigurációs állományában:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/default/bind9&lt;br /&gt;
&lt;br /&gt;
# BIND chrooted!&lt;br /&gt;
OPTIONS=&amp;quot;-u bind -t /srv/chroot/bind&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
és indítsuk el a démont:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl start bind9; tail -f /var/log/syslog&amp;lt;/pre&amp;gt;&lt;br /&gt;
A &amp;#039;&amp;#039;syslog&amp;#039;&amp;#039;-ban ellenőrizhető a démon indulása.&lt;br /&gt;
&lt;br /&gt;
==Általános beállítások==&lt;br /&gt;
Nem authoritatív (&amp;#039;&amp;#039;cache&amp;#039;&amp;#039;) szolgáltatásra a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; alapbeállításai általában véve megfelelőek, így az &amp;#039;&amp;#039;/etc/bind9/named.conf.options&amp;#039;&amp;#039; állományban egyelőre csak két módosítást végzünk:&lt;br /&gt;
* Tiltjuk az IPv6 használatát;&lt;br /&gt;
* Tiltjuk a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; verziószámának publikus lekérdezését (minimális &amp;#039;&amp;#039;security in obscurity&amp;#039;&amp;#039;).&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf.options&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        [...]&lt;br /&gt;
        // IPv6 disabled.&lt;br /&gt;
        listen-on-v6 { none; };&lt;br /&gt;
&lt;br /&gt;
        // Do not make public version of BIND.&lt;br /&gt;
        version none;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
A módosítások a névszerver következő újraindításakor érvényesülnek.&lt;br /&gt;
===Kérések és biztonsági riasztások naplózása===&lt;br /&gt;
Alapértelmezésben a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; a &amp;#039;&amp;#039;syslog&amp;#039;&amp;#039;-ba naplóz, és a naplóban (nyilván terjedelmi okból) az egyes konkrét lekérések nem szerepelnek. Az egyes DNS kérések naplózása alapján lehet pl. a &amp;#039;&amp;#039;Munin&amp;#039;&amp;#039; segítségével monitorozni a szerver tevékenységét, a visszautasított kérések naplója pl. a &amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039; számára szükséges. Fentiek számára két új naplóállományt készítünk: a &amp;#039;&amp;#039;/var/log/bind9/query.log&amp;#039;&amp;#039; csak a lekéréseket tartalmazza, a &amp;#039;&amp;#039;/var/log/bind9/bind9.log&amp;#039;&amp;#039; minden mást. &lt;br /&gt;
&lt;br /&gt;
A beállításhoz készítsünk egy új konfigurációs állományt a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; számára, és ebben írjuk elő a fentiek &amp;#039;&amp;#039;syslog&amp;#039;&amp;#039;-on keresztüli naplózását (ez alapértelmezésben nincs beállítva) és tiltsunk meg néhány feleslegesnek tűnő eseménynaplózást:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/bind/named.conf.logging&lt;br /&gt;
chown bind:bind /etc/bind/named.conf.logging&lt;br /&gt;
mcedit /etc/bind/named.conf.logging&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf.logging&lt;br /&gt;
&lt;br /&gt;
logging {&lt;br /&gt;
    channel b_query {&lt;br /&gt;
        syslog daemon;&lt;br /&gt;
        print-time yes;&lt;br /&gt;
        severity info;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    category default { default_syslog; default_debug; };&lt;br /&gt;
    category queries { b_query; };&lt;br /&gt;
    // Disable some annoying log entries&lt;br /&gt;
    category edns-disabled { null; };&lt;br /&gt;
    category lame-servers {null; };&lt;br /&gt;
    category unmatched { null; };&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
A most elkészített konfigurációs állományt a &amp;#039;&amp;#039;/etc/bind/named.conf&amp;#039;&amp;#039; állomány részeként fogjuk bejegyezni:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
include &amp;quot;/etc/bind/named.conf.options&amp;quot;;&lt;br /&gt;
include &amp;quot;/etc/bind/named.conf.logging&amp;quot;;&lt;br /&gt;
include &amp;quot;/etc/bind/named.conf.local&amp;quot;;&lt;br /&gt;
include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; beállítása után módosítsuk a &amp;#039;&amp;#039;syslog-ng&amp;#039;&amp;#039; beállítását is, hogy ténylegesen két külön fájlba menjen az így keletkező napló - a &amp;#039;&amp;#039;destinations&amp;#039;&amp;#039; rész végére szúrjuk be az alábbiakat:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
# Bind 9 separate logging&lt;br /&gt;
destination d_bind9_queries&lt;br /&gt;
    { file(&amp;quot;/var/log/bind9/query.log&amp;quot; owner(root) group(adm)); };&lt;br /&gt;
destination d_bind9&lt;br /&gt;
    { file(&amp;quot;/var/log/bind9/bind9.log&amp;quot; owner(root) group(adm)); };&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
A &amp;#039;&amp;#039;filters&amp;#039;&amp;#039; rész végére írjuk be az alábbiakat:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
# Bind 9 separate logging&lt;br /&gt;
filter f_bind9_queries { facility(daemon) and match(&amp;quot;named&amp;quot; value(&amp;quot;PROGRAM&amp;quot;)) and match(&amp;quot;query:&amp;quot; value(&amp;quot;MESSAGE&amp;quot;)); };&lt;br /&gt;
filter f_bind9 { facility(daemon) and match(&amp;quot;named&amp;quot; value(&amp;quot;PROGRAM&amp;quot;)); };&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Végül a &amp;#039;&amp;#039;log paths&amp;#039;&amp;#039; rész elejére (így a &amp;#039;&amp;#039;final&amp;#039;&amp;#039; flag miatt csak az új logokban jelennek meg a &amp;#039;&amp;#039;named&amp;#039;&amp;#039; üzenetek, azaz nem zavarják a &amp;#039;&amp;#039;logcheck&amp;#039;&amp;#039;-et, stb.) szúrjuk be az alábbiakat:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
# Bind 9 separate logging&lt;br /&gt;
log { source(s_src); filter(f_bind9_queries); destination(d_bind9_queries); flags(final); };&lt;br /&gt;
log { source(s_src); filter(f_bind9); destination(d_bind9); flags(final); };&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
A változtatásokat a &amp;#039;&amp;#039;syslog-ng&amp;#039;&amp;#039; és a &amp;#039;&amp;#039;bind9&amp;#039;&amp;#039; újraindításával érvényesíthetjük:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -m 755 /var/log/bind9   # mert a syslog-ng nem hozza létre, bug&lt;br /&gt;
systemctl restart syslog-ng; systemctl restart bind9; tail -f /var/log/bind9/bind9.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gyorstesztként indítsunk egy lekérést, és nézzük meg, hogy bekerül-e a &amp;#039;&amp;#039;query.log&amp;#039;&amp;#039;-ba:&lt;br /&gt;
&amp;lt;pre&amp;gt;dig @localhost www.debian.org; tail -f /var/log/bind9/query.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
Gondoskodjunk az új naplók rotálásáról:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/logrotate.d/bind9&lt;br /&gt;
&lt;br /&gt;
/var/log/bind9/*.log {&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
    create 0640 root adm&lt;br /&gt;
    postrotate&lt;br /&gt;
       systemctl reload bind9 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || true&lt;br /&gt;
    endscript&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A named bejegyzése a Tiger által ismert démonok közé===&lt;br /&gt;
A DNS szerver a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; Linux felhasználó nevében állandóan fut, így a biztonsági figyelmeztetések elkerülése érdekében be kell azt jegyezni a &amp;#039;&amp;#039;tigerrc&amp;#039;&amp;#039; állományba:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/tiger/tigerrc&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
Tiger_Listening_ValidUsers=&amp;#039;[...]|bind|[...]&amp;#039;&lt;br /&gt;
[...]&lt;br /&gt;
Tiger_Listening_ValidProcs=&amp;#039;[...]|named|[...]&amp;#039;&lt;br /&gt;
[...]&lt;br /&gt;
Tiger_Running_Procs=&amp;#039;[...] /usr/sbin/named [...]&amp;#039;&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kérések monitorozása a Muninnal===&lt;br /&gt;
A Debian terjesztésben a szükséges &amp;#039;&amp;#039;plugin&amp;#039;&amp;#039; szerepel, de az alapbeállításai nem megfelelőek, ezért készítsünk hozzá egy konfigurációs állományt:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/munin/plugin-conf.d/bind9&lt;br /&gt;
&lt;br /&gt;
[bind9]&lt;br /&gt;
    user root&lt;br /&gt;
    env.statefile /var/lib/munin-node/plugin-state/bind9.state&lt;br /&gt;
    env.logfile /var/log/bind9/query.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ezután a szokott módon belinkelhetjük, és érvényesíthetjük a beállítást:&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /usr/share/munin/plugins/bind9 /etc/munin/plugins/bind9&lt;br /&gt;
systemctl restart munin-node&amp;lt;/pre&amp;gt;&lt;br /&gt;
Gyorsteszt:&lt;br /&gt;
&amp;lt;pre&amp;gt;dig @localhost www.debian.org&lt;br /&gt;
telnet localhost 4949&lt;br /&gt;
[...]&lt;br /&gt;
fetch bind9&lt;br /&gt;
&amp;amp;gt;  query_A.value 1&lt;br /&gt;
&amp;amp;gt;  query_other.value 0&lt;br /&gt;
&amp;amp;gt;  .&lt;br /&gt;
quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Helyi gyorsítótár használatba vétele===&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;&amp;#039;TODO:&amp;#039;&amp;#039;&amp;#039; pontosítani!&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A fentiek szerint telepített &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; azonnal használható &amp;#039;&amp;#039;cache-only&amp;#039;&amp;#039; névszerverként, ha névkiszolgálóként történő használatát előírjuk a &amp;#039;&amp;#039;/etc/resolv.conf&amp;#039;&amp;#039; állományban:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
nameserver 127.0.0.1&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Amennyiben a telepítés alatt álló gép (bármelyik hálózati &amp;#039;&amp;#039;interface&amp;#039;&amp;#039;-én!) DHCP-n keresztül kap IP-címet, érdemes előírni a DHCP kliensnek, hogy ezt a beállítást hagyja meg elsőként használatos névszervernek (ellenkező esetben a következő IP &amp;#039;&amp;#039;lease&amp;#039;&amp;#039; megújításnál bejegyzésünk felülíródhat!). Ehhez módosítsuk a &amp;#039;&amp;#039;/etc/dhcp/dhclient.conf&amp;#039;&amp;#039; állományt (vegyük ki a commentet az alábbi sor elől):&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
prepend domain-name-servers 127.0.0.1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ezután kérjünk egy DNS feloldást a &amp;#039;&amp;#039;dig&amp;#039;&amp;#039; paranccsal, pl. &lt;br /&gt;
&amp;lt;pre&amp;gt;dig www.debian.hu&lt;br /&gt;
[...]&lt;br /&gt;
;; Query time: 62 msec&lt;br /&gt;
;; SERVER: 127.0.0.1#53(127.0.0.1)&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
A válasz végén látható, hogy az valóban a helyi névkiszolgálón keresztül érkezett (127.0.0.1) és megfigyelhető a válaszidő is. A kérés ismételt kiadása esetén ez a válaszidő (közel) 0 lesz, jelezve, hogy a feloldás a helyi &amp;#039;&amp;#039;cache&amp;#039;&amp;#039;-ből történt.&lt;br /&gt;
&lt;br /&gt;
==Publikus (authoritatív) DNS kiszolgálás==&lt;br /&gt;
Ebben a szerepkörben a telepítés alatti szervergép egy vagy több zóna számára elsődleges vagy másodlagos névszerver lesz - az authoritatív kifejezés nagyjából azt jelenti, hogy ezen zónák mindenkori hiteles tartalmát a telepítés alatti névszerver szolgáltatja (a felettes zónák névszerverei ezt a gépet jelölik NS adatforrásként). Publikus authoritatív szolgáltatáshoz:&lt;br /&gt;
* a csomagszűrő tűzfalon be kell engedni a DNS lekéréseket;&lt;br /&gt;
* célszerű védekezni a túlterheléses támadások ellen;&lt;br /&gt;
* engedélyezni kell a zónatranszfert az illetékes DNS regisztrátorok és a másodlagos névszerverek számára;&lt;br /&gt;
* definiálni kell az általunk szolgáltatott zónákat.&lt;br /&gt;
===A DNS kérés átengedése a névszerver tűzfalán===&lt;br /&gt;
A kifelé menő DNS kérések a házirend szerinti tűzfal-szabályokban eleve engedélyezettek. Authoritatív szolgáltatóként (általában) bárhonnan beérkező DNS kéréseket fogadnunk kell; ehhez a Shorewall használata esetén vegyük fel az alábbi szabályt:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r----- root root /etc/shorewall/rules&lt;br /&gt;
[...]&lt;br /&gt;
DNS/ACCEPT        all    fw&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;Amennyiben szervergépünk csak a helyi hálózatra nézve authoritatív (belső DNS szerver), természetesen elegendő a DNS kéréseket helyi hálózat felől engedélyezni.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A változtatás érvényesítéséhez a Shorewall-t újra kell indítani:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart shorewall&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;Alapértelmezésben a rekurzió nem engedélyezett, így a fenti beállításokkal a névszerver csak azokra a kérésekre fog válaszolni, amelyekre nézve authoritatív.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===fail2ban integráció===&lt;br /&gt;
A házirend szerint [[Debian_szerver_%C3%A1ltal%C3%A1nos_biztons%C3%A1gi_be%C3%A1ll%C3%ADt%C3%A1sai_(Jessie)#A_fail2ban_telep.C3.ADt.C3.A9se | korábban már telepített]] &amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039; segítségével a névszerver érvénytelen vagy illetéktelen lekérésekkel történő túlterhelése (DOS) ellen igyekszünk védekezni. Publikus szolgáltatás esetén célszerű ezt a védelmet beállítani.&lt;br /&gt;
&lt;br /&gt;
Egészítsük ki a &amp;#039;&amp;#039;maintainer&amp;#039;&amp;#039; által biztosított, a &amp;#039;&amp;#039;named&amp;#039;&amp;#039;-re vonatkozó szabályokat úgy, hogy vonatkozzék a dinamikus &amp;#039;&amp;#039;update&amp;#039;&amp;#039; kísérletekre is:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/fail2ban/filter.d/named-refused.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
failregex = [...]&lt;br /&gt;
            ^%(__line_prefix)s(\.\d+)?( error:)?\s*client &amp;lt;HOST&amp;gt;#\S+( \([\S.]+\))?: update &amp;#039;.*&amp;#039; denied\s*$&lt;br /&gt;
            [...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Készítsünk egy új &amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039; beállító állományt, ebben adjuk meg a &amp;#039;&amp;#039;bind9.log&amp;#039;&amp;#039; naplót a &amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039; számára figyelendőnek, és rendeljük hozzá a megfelelő szabályokat; ha van megbízható (&amp;#039;&amp;#039;trusted&amp;#039;&amp;#039;) IP címünk tartományunk, amellyel szemben a védelmet szeretnénk mellőzni, definiáljuk azt is:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fail2ban/jail.d/bind9.conf; chmod 600 /etc/fail2ban/jail.d/bind9.conf&lt;br /&gt;
mcedit /etc/fail2ban/jail.d/bind9.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw------- root root /etc/fail2ban/jail.d/bind9.conf&lt;br /&gt;
&lt;br /&gt;
# TCP only - see http://nion.modprobe.de/blog/archives/690-fail2ban-+-dns-fail.html&lt;br /&gt;
[named-refused-tcp]&lt;br /&gt;
enabled = true&lt;br /&gt;
logpath = /var/log/bind9/bind9.log&lt;br /&gt;
ignoreip = IP.IP.IP.IP IP.IP.IP.IP/MASK&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olvastassuk újra a &amp;#039;&amp;#039;fail2ban&amp;#039;&amp;#039; konfigurációját, és a naplóban ellenőrizzük, hogy megjelent-e a &amp;#039;&amp;#039;named&amp;#039;&amp;#039;-re vonatkozó &amp;#039;&amp;#039;jail&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart fail2ban; tail -f /var/log/fail2ban.log  # Jail &amp;#039;named-refused-tcp&amp;#039; started&amp;lt;/pre&amp;gt;&lt;br /&gt;
Gyors tesztként &amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Zónatranszfer engedélyezése===&lt;br /&gt;
Teljes zónák lekérdezése alapértelmezésben csak a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039; számára engedélyezett. Amennyiben authoritatív szolgáltatást nyújtunk, legalább az [https://www.internic.net/ InterNIC]-nek a helyi domain regisztrátorok által használt szerverei számára; &amp;#039;&amp;#039;master&amp;#039;&amp;#039; szolgáltatóként a &amp;#039;&amp;#039;slave&amp;#039;&amp;#039;-eink számára is engedélyeznünk kell a zónatranszfert.&lt;br /&gt;
&lt;br /&gt;
A zónatranszfer engedélyezéséhez vegyünk fel egy, az alábbihoz hasonló szakaszt a &amp;#039;&amp;#039;named.conf.options&amp;#039;&amp;#039; állományba (magyarországi helyi beállítások):&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf.options&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        [...]&lt;br /&gt;
        // During test phase only.&lt;br /&gt;
        //notify no;&lt;br /&gt;
&lt;br /&gt;
        allow-transfer {&lt;br /&gt;
                127.0.0.0/16;&lt;br /&gt;
                193.6.27.63;        # www.nic.hu&lt;br /&gt;
                193.239.149.113;    # hureg.nic.hu&lt;br /&gt;
                193.239.149.97;     # hureg.nic.hu&lt;br /&gt;
                // our secondaries&lt;br /&gt;
                IP.IP.IP.IP;        # our 1st secondary&lt;br /&gt;
                IP.IP.IP.IP;        # our 2nd secondary&lt;br /&gt;
        };&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;A fenti beállításban szereplő &amp;#039;&amp;#039;notify no&amp;#039;&amp;#039; bejegyzést tesztelési időszakban érdemes a komment (&amp;#039;&amp;#039;//&amp;#039;&amp;#039;) eltávolításával bekapcsolni, így nem küldünk a &amp;#039;&amp;#039;secondary&amp;#039;&amp;#039; szervereinknek felesleges zónatranszfer felhívásokat. Éles üzemben természetesen szükségesek lesznek az értesítések!&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A beállítás a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; újraindításával érvényesíthető - helyes beállítás esetén a naplóállományban nem szabad hibasoroknak megjelenniük:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart bind9; tail -f /var/log/bind9/bind9.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zónadefiníciók elhelyezése===&lt;br /&gt;
Ebben a leírásban az alábbi fájlszerkezetet használjuk az általunk kezelt zónák definiálására:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/bind/                   # valójában -&amp;gt; /srv/chroot/bind/etc/bind&lt;br /&gt;
         master/             # master zónafájlok&lt;br /&gt;
          slave/             #  slave zónafájlok&lt;br /&gt;
         named.conf.master   # master zónák felsorolása&lt;br /&gt;
         named.conf.slave    #  slave zónák felsorolása&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Master zónák definíciója====&lt;br /&gt;
Amennyiben rendelkezünk &amp;#039;&amp;#039;master&amp;#039;&amp;#039; zónákkal, ezek definíciói számára jegyezzünk be egy &amp;#039;&amp;#039;include&amp;#039;&amp;#039; állományt a &amp;#039;&amp;#039;named.conf.local&amp;#039;&amp;#039; konfigurációba:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf.local&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
// Master zones&lt;br /&gt;
include &amp;quot;/etc/bind/named.conf.master&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Készítsük el a hivatkozott állományt, benne egy formális fejléccel:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo -e &amp;quot;//Master zones\n//Keep the ABC order, please\n&amp;quot; &amp;gt; /etc/bind/named.conf.master&lt;br /&gt;
chown bind:bind /etc/bind/named.conf.master&amp;lt;/pre&amp;gt;&lt;br /&gt;
Végül a konkrét zónafájlok számára készítsünk egy tároló könyvtárat:&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -m 2755 /etc/bind/master&lt;br /&gt;
chown bind:bind /etc/bind/master&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Master zóna felvétele====&lt;br /&gt;
Egy &amp;#039;&amp;#039;master&amp;#039;&amp;#039; zóna felvételéhez szerkesszük meg ezt az állományt, és vegyünk fel benne egy, az alábbihoz hasonló zónadefiníciót:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf.master&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;mydomain.com&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/master/mydomain.com&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;Célszerű minden zóna (domain) számára külön zónafájlt használni, azonban a nyilvánvalóan &amp;#039;&amp;#039;alias&amp;#039;&amp;#039; domainek számára (pl. egy domain ékezet nélküli és ékezetes verziója, hosszabb és rövidített változata, stb.) számára definiálhatunk azonos tartamú &amp;#039;&amp;#039;file&amp;#039;&amp;#039; bejegyzést több &amp;#039;&amp;#039;zone&amp;#039;&amp;#039; bejegyzéshez is.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Készítsük el a tényleges zónafájlt a fenti definícióban megadott néven, és töltsük fel az alábbihoz hasonló, minimálisnak tekinthető kiinduló tartalommal:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/master/mydomain.com&lt;br /&gt;
&lt;br /&gt;
@               IN      SOA     ns0.mydomain.com.  dnsadmin.mydomain.com. (&lt;br /&gt;
                        YYYYMMDD01              ;Serial nr.&lt;br /&gt;
                        14400                   ;Refresh&lt;br /&gt;
                        7200                    ;Retry&lt;br /&gt;
                        86400                   ;Expire&lt;br /&gt;
                        3600                    ;TTL&lt;br /&gt;
                        )&lt;br /&gt;
&lt;br /&gt;
@               IN      NS              ns0&lt;br /&gt;
@               IN      NS              secondary.somewhere.com.&lt;br /&gt;
@               IN      MX      10      mail.mydomain.com.&lt;br /&gt;
&lt;br /&gt;
ns0             IN      A               IP.IP.IP.IP&lt;br /&gt;
mail            IN      A               IP.IP.IP.IP&lt;br /&gt;
&lt;br /&gt;
;@              IN      A               UNKNOWN YET&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;A SOA (&amp;#039;&amp;#039;source of authority&amp;#039;&amp;#039;) bejegyzésben a névszerver megadása utáni elem egy e-mail cím, ahol a @ helyett is pont karakter áll. A névszerver és egy &amp;#039;&amp;#039;postmaster@&amp;#039;&amp;#039; fiókot fogadó levelező szerver IP címének megadása (közvetlenül vagy közvetve) kötelező a DNS rekordban. A rekord sorszámát célszerű a fenti konvenció alapján képezni és azonos naptári napon belül is minden módosításkor inkrementálni. A példában szereplő időadatok az [https://www.ripe.net/publications/docs/ripe-203 ajánlottnál] rövidebbek, teszt időszakra méretezettek.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A beállítás a &amp;#039;&amp;#039;bind&amp;#039;&amp;#039; újraindításával érvényesíthető - helyes beállítás esetén a naplóállományban nem szabad hibasoroknak megjelenniük:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart bind9; tail -f /var/log/bind9/bind9.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Slave zónák definíciója====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
====Slave zóna felvétele====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Helyi hálózati (belső) DNS szolgáltatás==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Még hiányos, ne vedd komolyan!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
===Rekurzív DNS kérések engedélyezése===&lt;br /&gt;
Alapértelmezetten a BIND csak azokra a DNS kérésekre válaszol bárkinek (azaz nem a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-nak), amelyekre nézve authoritatív (azaz a válaszhoz nem kell további, külső lekérdezéseket indítania).  Amennyiben a telepítés alatt álló gép dedikált DNS szerver valamely IP tartomány számára (pl. egy SOHO hálózat DNS szervere, azaz bármilyen innen érkező kérést ki kell szolgálnia), akkor ezt a viselkedést a &amp;#039;&amp;#039;/etc/bind/named.conf.options&amp;#039;&amp;#039; állományban engedélyezni kell:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root bind /etc/bind/named.conf.options&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
[...]&lt;br /&gt;
        allow-recursion { IP.IP.IP.IP/MASK; localhost; };&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
A változtatást a BIND újraindításával érvényesíthetjük:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl restart bind9; tail -f /var/log/bind9/bind9.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Belső hálózati zóna kezelése===&lt;br /&gt;
&amp;#039;&amp;#039;Opcionális beállítás; belső hálózati és nem kifejezetten DNS kiszolgáló gépeken alkalmazzuk.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Előfordulhat, hogy adott zónák adatait nem az alapértelmezett névkiszolgálókról szeretnénk megkapni - pl. a belhálózati neveket illetve &amp;#039;&amp;#039;reverse&amp;#039;&amp;#039;-eket a helyi DNS szerver(ek)ről szeretnénk megkapni (máshonnét nem is lehetne), de az általános DNS feloldásokat nem - azokat &amp;quot;saját hatáskörben&amp;quot; intéznénk. Ilyenkor a belső zónák és a belhálózati IP tartomány &amp;#039;&amp;#039;reverse&amp;#039;&amp;#039;-e számára &amp;#039;&amp;#039;forwarder&amp;#039;&amp;#039; bejegyzéseket érdemes definiálni a &amp;#039;&amp;#039;/etc/bind/named.conf.local&amp;#039;&amp;#039; állományban:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- bind bind /etc/bind/named.conf.local&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
// local domain&lt;br /&gt;
zone &amp;quot;OFFICE.MYDOMAIN.COM&amp;quot; {&lt;br /&gt;
	type forward;&lt;br /&gt;
        forward only;&lt;br /&gt;
	forwarders {IP.IP.IP.IP; IP.IP.IP.IP;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// RFC-1918 non-routable IP range (reverse)&lt;br /&gt;
zone &amp;quot;10.in-addr.arpa&amp;quot; {&lt;br /&gt;
	type forward;&lt;br /&gt;
        forward only;&lt;br /&gt;
	forwarders {IP.IP.IP.IP; IP.IP.IP.IP;};&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
ahol &amp;#039;&amp;#039;IP.IP.IP.IP&amp;#039;&amp;#039; a belső hálózati DNS szerver(ek) IP címei (a belhálózati domain nevet és az - RFC-1918 szerinti - IP tartományt módosítsuk az általunk használtra!). &lt;br /&gt;
&lt;br /&gt;
A beállítás arra utasítja a &amp;#039;&amp;#039;named&amp;#039;&amp;#039;-et, hogy a megnevezett zóna illetve reverse IP tartomány feloldásait csak a felsorolt névszerver(ek)től kérje.&lt;br /&gt;
&lt;br /&gt;
==Irodalom==&lt;br /&gt;
* [http://www.falkotimme.com/howtos/debian_bind_chroot/  Bind-Chroot-Howto (Debian)] (&amp;#039;&amp;#039;elavult&amp;#039;&amp;#039;)&lt;br /&gt;
* [https://wiki.debian.org/Bind9 Bind 9 (Debian Wiki)]&lt;br /&gt;
* [http://tldp.fsf.hu/HOWTO/DNS-HOWTO-hu/DNS-HOWTO-hu.html DNS HOGYAN] (&amp;#039;&amp;#039;elavult&amp;#039;&amp;#039;)&lt;/div&gt;</summary>
		<author><name>KZoli</name></author>
	</entry>
</feed>