BIND9 DNS szerver naplózás beállítása
A konfiguráció felépítése
A BIND9 DNS szerver alapól a /var/log/messages
vagy a /var/log/system
fájlba naplózik a syslogd beállítása szerint. Ha részletesebb és szeparáltabb naplózást szeretnénk, akkor először is meg kell ismerni a beállítás szintaktikáját.
A BIND9 eléggé széleskörű és részletes naplózási beállítási lehetőségeket biztosít. Lássuk egy egyszerű naplózási beállítás felépítését. Hozzuk létre a /etc/bind/named.conf.log
fájlt a következő tartalommal.
# nano /etc/bind/named.conf.log
logging {
channel update_debug {
file "/var/log/bind/update_debug.log" versions 3 size 100k;
severity debug;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/bind/security_info.log" versions 1 size 100k;
severity info;
print-severity yes;
print-time yes;
};
channel bind_log {
file "/var/log/bind/bind.log" versions 3 size 1m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { bind_log; };
category lame-servers { null; };
category update { update_debug; };
category update-security { update_debug; };
category security { security_info; };
};
Nézzünk meg egy log fájl meghatározást részletesen.
...
channel bind_log {
file "/var/log/bind/bind.log" versions 3 size 1m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
...
category default { bind_log; };
...
A channel
-el nevesítjük a log fájl definícióját, amire késöbb a category
-nál hivatkozhatunk. Tehát a DNS szerver bind_log
definíciója a /var/log/bind/bind.log
fájlba mutat. A version 3 size 1m
kifejezés írja le, hogy a naplóbejegyzés 1 megabyte méretű lehet. Amint meghaladja, akkor új fájlt nyit és a régiekből hármat
tart meg visszamenőleg. Úgy működik mint a logrotáció csak nincs tömörítése. A severity
határozza meg a fájlba kerülő naplóbejegyzés súlyosságát, amit már a
syslog beállításokból ismerhetünk. A print-category
, print-severity
és print-time
beállítás határozza meg mi szerepeljen még egy-egy sorban, vagyis a
bejegyzés kategóriája, súlyossága és ideje. A category
-val határozzuk meg, hogy a default
napló bejegyzések kerülnek a bind_log
névvel meghatározott fájlba az előzőkben megadott paraméterek szerint.
A default
, lame-servers
, update
, update-security
és security
mellett még jó pár kategória van amit bővebben a BIND9 dokumentációjából megtudhatunk.
Ellenőrizzük le az elkészült fájlt a named.checkconf
utasítással.
# named-checkconf /etc/bind/named.conf.log
Ha nincs kimenete az ellenőrzésnek, akkor minden rendben. Most készítsük el a /var/log/bind
mappát és benne a update_debug.log
, security_info.log
és a bind.log
fájlokat, majd állítsuk be a jogosultságokat. Mivel a DNS szerverünk bind
felhasználó jogosultságával fut, így a mappa és a naplófájlok tulajdonosa is ez lesz.
# mkdir /var/log/bind
# touch /var/log/bind/update_debug.log /var/log/bind/security_info.log /var/log/bind/bind.log
# chown -R bind. /var/log/bind
Ahhoz hogy a BIND9 használja az elkészült naplózási beállítást és log fájlokat, szúrjuk be a következő sort a named.conf.local
konfigurációs fájl elejére.
# nano /etc/bind/named.conf.local
include "/etc/bind/named.conf.log";
...
Nincs más hátra mint a BIND9 DNS szerver újraindítása.
# systemctl restart bind9
És a futásának ellenőrzése.
# systemctl status bind9
● bind9.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/bind9.service; enabled)
Drop-In: /run/systemd/generator/bind9.service.d
└─50-insserv.conf-$named.conf
Active: active (running) since cs 2016-03-10 18:53:14 CET; 1h 2min ago
Docs: man:named(8)
Main PID: 371 (named)
CGroup: /system.slice/bind9.service
└─371 /usr/sbin/named -f -u bind
...
Ha megnézzük a /var/log/bind
mappát, akkor láthatjuk, hogy a szerver szépen naplóz a megfelelő fájlokba.
# ls -l /var/log/bind/
összesen 20
-rw-r--r-- 1 bind bind 12621 márc 10 19:53 bind.log
-rw-r--r-- 1 bind bind 76 márc 7 20:45 security_info.log
-rw-r--r-- 1 bind bind 0 márc 7 20:37 update_debug.log