Nimeserveri seadistamine BIND9 näitel: Difference between revisions
(81 intermediate revisions by 4 users not shown) | |||
Line 5: | Line 5: | ||
=Versioon= | =Versioon= | ||
1.00(valmis) | |||
1.01 Lisatud uuemad versioonid [[User:Mleisber|Mleisber]] 10:22, 20 October 2010 (EEST) | |||
=Viimase muutmise aeg= | =Viimase muutmise aeg= | ||
15. Detsember 2009 12:17 | |||
=Sissejuhatus= | =Sissejuhatus= | ||
==Olukorra kirjeldus== | ==Olukorra kirjeldus== | ||
On olemas üks võrk 192.168.145.0/24, kus asub kaks domeeni(too.ee ja koht.ee) ning üks alamdomeen(arendus.koht.ee). | |||
Selles võrgus on olemas veebiserver, mailiserver, failiserver, testserver ja dhcp-server. | |||
Veebiserverile peaks saama ligi nii www-aadressiga kui ka ilma. | |||
Mailiserverile peaks saama ligi erinevatest domeenidest nende domeeni nimega ja igalt domeenilt peaks ka kirju olema võimalik saata. | |||
Samuti peaks olema võimalik tõendada, et kiri tuli ikka õigest domeenist ja domeeni masinast. | |||
Võrgu ülesehituse joonis on järgmine: | |||
[[Image:Vork.jpg]] | |||
Masinate ip-aadresside ja nimede vastavuse tabel: | |||
{| class="wikitable" border="1" | |||
|- | |||
! NIMI | |||
! IP AADRESS | |||
|- | |||
| ns.too.ee | |||
| 192.168.145.128 | |||
|- | |||
| mail.too.ee | |||
| 192.168.145.129 | |||
|- | |||
| mail.koht.ee | |||
| 192.168.145.129 | |||
|- | |||
| mail.arendus.koht.ee | |||
| 192.168.145.129 | |||
|- | |||
| www.too.ee / too.ee | |||
| 192.168.145.130 | |||
|- | |||
| fail.koht.ee | |||
| 192.168.145.131 | |||
|- | |||
| masin.koht.ee | |||
| 192.168.145.132 | |||
|- | |||
| test.arendus.koht.ee | |||
| 192.168.145.133 | |||
|} | |||
Tehes laborit oma masinas tuleks kohandada ip aadressid vastavalt oma võrgule. | |||
==Eeldused== | ==Eeldused== | ||
*Peab oskama Linuxit käsurealt hallata | *Peab oskama Linuxit käsurealt hallata | ||
*Peab olema installeeritud Ubuntu server 9.10 | *Peab olema installeeritud Ubuntu server 9.10~(testitud ja töötab ka Ubunu 10.04) | ||
*Peab olema installitud BIND9 (vähemalt v 9.4.0 või suurem). | |||
*Masinasse peab olema paigaldatud programmid dig ja nslookup | *Masinasse peab olema paigaldatud programmid dig ja nslookup | ||
*Masinal kuhu konfigureeritakse DNS peab olema staatiline IP-aadress. Meie näite puhul on selleks: | *Masinal kuhu konfigureeritakse DNS peab olema staatiline IP-aadress. Meie näite puhul on selleks(ise proovides tuleb ip aadress konfigureerida vastavalt oma võrgule): | ||
<pre> | <pre> | ||
IP aadress: 192.168.145.128 | IP aadress: 192.168.145.128 | ||
Line 31: | Line 83: | ||
*Ilma www-ta aadressis peab saama veebisaidile ligi. | *Ilma www-ta aadressis peab saama veebisaidile ligi. | ||
*Nimeserveri varundamine/taastamine. | *Nimeserveri varundamine/taastamine. | ||
* | *BIND9 serveri turvavead. | ||
=Installeerimine= | =Installeerimine= | ||
BIND9 | Minna juurkasutajaks ja paigaldada BIND9: | ||
<pre> | <pre> | ||
Line 42: | Line 94: | ||
=Seadistamine= | =Seadistamine= | ||
Algul määratleme oma DNS serveri nime ja millises domeenis asub. Selleks muudame /etc/hosts faili. | Algul määratleme oma DNS serveri nime ja millises domeenis asub. Selleks muudame /etc/hosts faili. | ||
Line 57: | Line 103: | ||
<pre> | <pre> | ||
127.0.1.1 ns.too.ee ns | |||
</pre> | |||
Tuleb muuta ka /etc/hostname faili. | |||
<pre> | |||
nano /etc/hostname | |||
</pre> | </pre> | ||
Seal muuta nimi ns-ks. | |||
Järgmiseks tuleb muuta faili /etc/bind/named.conf.options . | |||
<pre> | <pre> | ||
nano /etc/bind/named.conf.options | nano /etc/bind/named.conf.options | ||
</pre> | </pre> | ||
Kommenteerida sisse forwarders sektsioon ja sinna kirjutada ISP DNS serveri IP aadress. | |||
Muudetud fail peaks välja nägema järgmine: | Muudetud fail peaks välja nägema järgmine: | ||
Line 92: | Line 144: | ||
</pre> | </pre> | ||
Peale seda tuleb muuta /etc/bind/named.conf.local | Peale seda tuleb muuta faili /etc/bind/named.conf.local | ||
<pre> | <pre> | ||
nano /etc/bind/named.conf.local | nano /etc/bind/named.conf.local | ||
</pre> | </pre> | ||
Sellesse faili tuleb lisada järgmised tsoonid: | Sellesse faili tuleb lisada järgmised tsoonid : | ||
<pre> | <pre> | ||
zone "145.168.192.in-addr.arpa" IN { | zone "145.168.192.in-addr.arpa" IN { | ||
Line 115: | Line 167: | ||
}; | }; | ||
</pre> | </pre> | ||
Oma masinas laborit tehes peaks pöördteisendus tsooni(145.168.192.in-addr.arpa) puhul nimi vastama oma võrgule. | |||
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda. | Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda. | ||
Line 123: | Line 176: | ||
cp /etc/bind/db.local /etc/bind/db.arendus.koht.ee | cp /etc/bind/db.local /etc/bind/db.arendus.koht.ee | ||
</pre> | </pre> | ||
'''Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.''' | |||
Nüüd muudame db.too.ee faili | Nüüd muudame db.too.ee faili | ||
Line 130: | Line 185: | ||
Muudetud fail näeb välja järgmine: | Muudetud fail näeb välja järgmine: | ||
<pre> | <pre> | ||
; | ; | ||
Line 151: | Line 207: | ||
too.ee. IN A 192.168.145.130 | too.ee. IN A 192.168.145.130 | ||
</pre> | </pre> | ||
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit] | |||
Nüüd muudame db.koht.ee faili: | Nüüd muudame db.koht.ee faili: | ||
Line 242: | Line 299: | ||
#search localdomain | #search localdomain | ||
nameserver 192.168.145.128 | nameserver 192.168.145.128 | ||
</pre> | |||
Nüüd tuleks BIND9 teenus taaskäivitada järgmise käsuga: | |||
<pre> | |||
/etc/init.d/bind9 restart | |||
</pre> | |||
Kui tsooni muuta ja on soov ainult seda tsooni uuesti laadida, siis on võimalik kasutada rndc käsku. | |||
Süntaks oleks: | |||
<pre> | |||
rndc reload <tsoon> | |||
</pre> | |||
Näiteks: | |||
<pre> | |||
rndc reload too.ee | |||
</pre> | |||
=Logid= | |||
Kui pole defineeritud logide asukohta asuvad need failides messages ja syslog. Nendele failidele pääseb ligi järgmiste käskudega: | |||
<pre> | |||
less /var/log/messages | |||
less /var/log/syslog | |||
</pre> | </pre> | ||
Line 306: | Line 390: | ||
</pre> | </pre> | ||
Kindluse mõttes korrata tegevust ülejäänud ip-aadresside puhul. | Kindluse mõttes korrata tegevust ülejäänud ip-aadresside puhul. | ||
=Teenuse varundamine= | =Teenuse varundamine= | ||
Line 328: | Line 414: | ||
Selle puhul tuleb bind9 uuesti installeerida. Järgi selleks antud wiki installeerimise osa. | Selle puhul tuleb bind9 uuesti installeerida. Järgi selleks antud wiki installeerimise osa. | ||
==Teenuse taastamine, kui on kadunud | ==Teenuse taastamine, kui on kadunud BIND9 ja konfiguratsiooni failid ning pole varukoopiat== | ||
Et saaks | Et saaks BIND9 -t uuesti paigaldada, tuleb see algul täielikult eemaldada. | ||
Selleks teha | Selleks teha BIND9 install, mis antud hetkel paigaldab teenuse ilma konfiguratsioonifailideta. | ||
<pre> | <pre> | ||
apt-get install bind9 | apt-get install bind9 | ||
</pre> | </pre> | ||
Paigaldamisel peaksid tekkima vead ja neid võib hetkel ignoreerida. | |||
Kui ei teki vigu, siis järelikult oli bind9 juba täielikult eemaldatud või olid olemas vajalikud failid ning võite jätkata selle wiki seadistamise osaga. | |||
Vastasel juhul tuleb nüüd eemaldada bind9 täielikult käsuga: | |||
<pre> | <pre> | ||
apt-get remove bind9 --purge | apt-get remove bind9 --purge | ||
</pre> | </pre> | ||
Nüüd | Nüüd on BIND9 koos kasutajate ja failidega süsteemist eemaldatud. Edasi tuleks tegutseda vastavalt antud wiki installeerimise ja seadistamise osale. | ||
Edasi tuleks tegutseda vastavalt antud wiki installeerimise ja seadistamise osale. | |||
=Levinud BIND9 turvavead= | |||
==Puhvrimürgitamise ründed== | |||
Selle ründe peamiseks eesmärgiks on suunata inimese liiklus ümber. Põhimõtteliselt pannakse nimeserveri puhvrisse valed andmed nimelahenduse kohta ning selle abiga pannakse serverit arvama, et soovitud aadress on hoopis teises kohas. | |||
==DoS rünnak== | |||
Teenusetõkestus rünnak BIND9 nimeserveri vastu võib mõjutada kogu võrku takistades kasutajatel domeeninimede tõlgendamist ip aadressiteks. Üks näide teenusetõkestuse rünnakust on "." küsimise rünne, kus tehakse "." küsimise päring ja selle tegijaks pannakse rünnatava masina ip aadress ning sellele masinale saadetakse palju UDP liiklust, mis ummistab sidekanalid. | |||
=BIND9 turvalisuse tõstmise võimalused= | |||
1. Üks võimalik lahendus on Chroot vangla. Chroot vangla paigutab BIND9 liivakasti kus tal on ligipääs kõigile vajalikele seadmetele ja failidele, kuid ei pääse ligi asjadele mida tal ei ole vaja. Selleks, et chrooti kasutada tuleb luua chroot keskkond ja lisada vastav konfiguratsioon. Täpsemalt selle kohta kuidas chrootida bind9 võib lugeda [https://help.ubuntu.com/community/BIND9ServerHowto#Chrooting%20BIND9 siit] | |||
2.Teine lahendus mida on võimalik kasutusele võtta on AppArmor. AppArmori tööpõhimõte on sama kui chroot vanglal. Apparmor töötab vähimate õiguste põhimõttel ehk annab teenusele ainult need õigused mida vajatakse tööks. Need õigused on loetletud profiilides. AppArmor pakub mitmeid vaikimise profiile erinevate teenuste kohta (sh bind9 profiil) ning ka vahendeid, et mugavalt luua profiile teiste teenuste kohta. AppArmor on kaasas vaikimis alates Ubuntu 7.10 -st. Täpsemalt võib AppArmori ja tema seadistamise kohta lugeda [https://help.ubuntu.com/8.04/serverguide/C/apparmor.html siit]. | |||
=BIND9 tsoonifailide võimalik teine formaat= | |||
Teatavasti loeb BIND9 DNS andmeid tekstifailidest. Tekstifailide kasutamisel on mitmeid puudusi. Kuna BIND9 hoiad nimeserveri andmeid mälus võib sealt lugemine muutuda suuremate tsoonide puhul aeglaseks. Üheks ebamugavaks atribuudiks on ka see, et iga korda kui tehakse tsoonifailis muutusi tuleb kas teenus või konkreetne tsoon taaskäivitada. Nende probleemide lahendamiseks on võimalik hoida BIND9 tsoonifaile tekstifailide asemel andmebaasis. Sellise formaadi puhul kaoks vajadus taaskäivitada teenust iga korda kui tehakse muutus ning kuna nüüd hoitakse andmeid andmebaasis muutub ka andmete lugemine palju efektiivsemaks. Allolevatel linkidel on mitmeid näiteid kuidas panna BIND9 tööle andmebaasiga MySQL näitel: | |||
*How To Install BIND9 +MySQL http://www.digitalnerds.net/featured/how-to-install-bind9-with-mysql/ | |||
*BIND9 +mysql on debian http://www.hackersdiary.com/howto-bind9mysql-on-debian/ | |||
*Bind+DLZ+MySQL Hardy http://ubuntuforums.org/showthread.php?t=823578 | |||
=Viited= | =Viited= | ||
Line 353: | Line 457: | ||
*AppArmor https://help.ubuntu.com/8.04/serverguide/C/apparmor.html | *AppArmor https://help.ubuntu.com/8.04/serverguide/C/apparmor.html | ||
*DNS HOWTO http://www.tldp.org/HOWTO/DNS-HOWTO.html | *DNS HOWTO http://www.tldp.org/HOWTO/DNS-HOWTO.html | ||
*BIND DLZ http://bind-dlz.sourceforge.net/ | |||
*DNS labor bind9 näitel http://veeremaa.tpt.edu.ee/2010/dnslabor.html | |||
*DNS uuendamine DHCP serveri abil (Bind9 ja isc dhcp) http://www.debian-administration.org/article/Configuring_Dynamic_DNS__DHCP_on_Debian_Stable | |||
*DNS ja DHCP seadistamine http://www.realmtech.net/documents/DynamicDNS.pdf | |||
[[Category:IT infrastruktuuri teenused]] | [[Category:IT infrastruktuuri teenused]] |
Latest revision as of 15:43, 23 March 2011
Autorid
- Tuuli Zahvatkin
- Nils Tammann
Versioon
1.00(valmis)
1.01 Lisatud uuemad versioonid Mleisber 10:22, 20 October 2010 (EEST)
Viimase muutmise aeg
15. Detsember 2009 12:17
Sissejuhatus
Olukorra kirjeldus
On olemas üks võrk 192.168.145.0/24, kus asub kaks domeeni(too.ee ja koht.ee) ning üks alamdomeen(arendus.koht.ee). Selles võrgus on olemas veebiserver, mailiserver, failiserver, testserver ja dhcp-server. Veebiserverile peaks saama ligi nii www-aadressiga kui ka ilma. Mailiserverile peaks saama ligi erinevatest domeenidest nende domeeni nimega ja igalt domeenilt peaks ka kirju olema võimalik saata. Samuti peaks olema võimalik tõendada, et kiri tuli ikka õigest domeenist ja domeeni masinast.
Võrgu ülesehituse joonis on järgmine:
Masinate ip-aadresside ja nimede vastavuse tabel:
NIMI | IP AADRESS |
---|---|
ns.too.ee | 192.168.145.128 |
mail.too.ee | 192.168.145.129 |
mail.koht.ee | 192.168.145.129 |
mail.arendus.koht.ee | 192.168.145.129 |
www.too.ee / too.ee | 192.168.145.130 |
fail.koht.ee | 192.168.145.131 |
masin.koht.ee | 192.168.145.132 |
test.arendus.koht.ee | 192.168.145.133 |
Tehes laborit oma masinas tuleks kohandada ip aadressid vastavalt oma võrgule.
Eeldused
- Peab oskama Linuxit käsurealt hallata
- Peab olema installeeritud Ubuntu server 9.10~(testitud ja töötab ka Ubunu 10.04)
- Peab olema installitud BIND9 (vähemalt v 9.4.0 või suurem).
- Masinasse peab olema paigaldatud programmid dig ja nslookup
- Masinal kuhu konfigureeritakse DNS peab olema staatiline IP-aadress. Meie näite puhul on selleks(ise proovides tuleb ip aadress konfigureerida vastavalt oma võrgule):
IP aadress: 192.168.145.128 Võrgumask: 255.255.255.0 Vaikelüüs: 192.168.145.2 ISP DNS: 192.168.145.2
- Tulemüüris peab olema avatud tcp/udp port 53
Nõuded
- Konfigureerida kaks domeeni ja üks alamdomeen.
- Reverse peaks toimima.
- Domeeni teenindava meiliserveri mx kirjed ja spf kirjed peavad olema nimeserveri domeenides.
- Ilma www-ta aadressis peab saama veebisaidile ligi.
- Nimeserveri varundamine/taastamine.
- BIND9 serveri turvavead.
Installeerimine
Minna juurkasutajaks ja paigaldada BIND9:
sudo -i apt-get install bind9
Seadistamine
Algul määratleme oma DNS serveri nime ja millises domeenis asub. Selleks muudame /etc/hosts faili.
nano /etc/hosts
Failis peaks muutma 127.0.1.1 aadressiga algavat rida ning muudetud rida peaks välja nägema järgmine:
127.0.1.1 ns.too.ee ns
Tuleb muuta ka /etc/hostname faili.
nano /etc/hostname
Seal muuta nimi ns-ks.
Järgmiseks tuleb muuta faili /etc/bind/named.conf.options .
nano /etc/bind/named.conf.options
Kommenteerida sisse forwarders sektsioon ja sinna kirjutada ISP DNS serveri IP aadress. Muudetud fail peaks välja nägema järgmine:
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 192.168.145.2; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
Peale seda tuleb muuta faili /etc/bind/named.conf.local
nano /etc/bind/named.conf.local
Sellesse faili tuleb lisada järgmised tsoonid :
zone "145.168.192.in-addr.arpa" IN { type master; file "/etc/bind/db.145.168.192.in-addr.arpa"; }; zone "too.ee" IN { type master; file "/etc/bind/db.too.ee"; }; zone "koht.ee" IN { type master; file "/etc/bind/db.koht.ee"; }; zone "arendus.koht.ee" IN { type master; file "/etc/bind/db.arendus.koht.ee"; };
Oma masinas laborit tehes peaks pöördteisendus tsooni(145.168.192.in-addr.arpa) puhul nimi vastama oma võrgule.
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.
cp /etc/bind/db.127 /etc/bind/db.145.168.192.in-addr.arpa cp /etc/bind/db.local /etc/bind/db.too.ee cp /etc/bind/db.local /etc/bind/db.koht.ee cp /etc/bind/db.local /etc/bind/db.arendus.koht.ee
Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.
Nüüd muudame db.too.ee faili
nano /etc/bind/db.too.ee
Muudetud fail näeb välja järgmine:
; ; BIND data file for too.ee ; $ORIGIN too.ee. $TTL 604800 @ IN SOA ns.too.ee. root.too.ee. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; too.ee. IN NS ns.too.ee. too.ee. IN MX 10 mail.too.ee. too.ee. IN SPF "v=spf1 a mx -all" ns.too.ee. IN A 192.168.145.128 mail.too.ee. IN A 192.168.145.129 www.too.ee. IN CNAME too.ee. too.ee. IN A 192.168.145.130
Failis olevate kirjete kohta võib selgitusi saada siit
Nüüd muudame db.koht.ee faili:
nano /etc/bind/db.koht.ee
Muudetud fail peaks välja nägema järgmine:
; ; BIND data file for zone koht.ee ; $ORIGIN koht.ee. $TTL 604800 @ IN SOA ns.too.ee. root.koht.ee. ( 4 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; koht.ee. IN NS ns.too.ee. koht.ee. IN MX 10 mail.koht.ee. koht.ee. IN SPF "v=spf1 a MX -all" mail.koht.ee. IN A 192.168.145.129 fail.koht.ee. IN A 192.168.145.131 masin.koht.ee. IN A 192.168.145.132
Nüüd muudame db.arendus.koht.ee faili:
nano /etc/bind/db.arendus.koht.ee
Muudetud fail peaks välja nägema järgmine:
; ; BIND data file for local loopback interface ; $TTL 604800 $ORIGIN arendus.koht.ee. @ IN SOA ns.too.ee. root.arendus.koht.ee. ( 4 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; arendus.koht.ee. IN NS ns.too.ee. arendus.koht.ee. IN MX 10 mail.arendus.koht.ee. arendus.koht.ee. IN SPF "v=spf1 a MX -all" test.arendus.koht.ee. IN A 192.168.145.133 mail.arendus.koht.ee. IN A 192.168.145.129
Nüüd muudame db.145.168.192.in-addr.arpa faili:
nano /etc/bind/db.145.168.192.in-addr.arpa
Muudetud fail peaks välja nägema järgmine:
; ; BIND reverse data file for local loopback interface ; $TTL 604800 $ORIGIN 145.168.192.in-addr.arpa. @ IN SOA ns.too.ee. root.too.ee. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; 145.168.192.in-addr.arpa. IN NS ns.too.ee. 128.145.168.192.in-addr.arpa. IN PTR ns.too.ee. 129.145.168.192.in-addr.arpa. IN PTR mail.too.ee. 130.145.168.192.in-addr.arpa. IN PTR too.ee. 131.145.168.192.in-addr.arpa. IN PTR fail.koht.ee. 132.145.168.192.in-addr.arpa. IN PTR masin.koht.ee. 133.145.168.192.in-addr.arpa. IN PTR test.arendus.koht.ee.
Kui tsoonifailid on loodud, siis tuleb muuta resolv.conf faili:
nano /etc/resolv.conf
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks. Fail näeb peale muutmist välja järgmine:
#domain localdomain #search localdomain nameserver 192.168.145.128
Nüüd tuleks BIND9 teenus taaskäivitada järgmise käsuga:
/etc/init.d/bind9 restart
Kui tsooni muuta ja on soov ainult seda tsooni uuesti laadida, siis on võimalik kasutada rndc käsku.
Süntaks oleks:
rndc reload <tsoon>
Näiteks:
rndc reload too.ee
Logid
Kui pole defineeritud logide asukohta asuvad need failides messages ja syslog. Nendele failidele pääseb ligi järgmiste käskudega:
less /var/log/messages less /var/log/syslog
Testimine
Esiteks tuleks kontrollida kas tsoonifailid vastavad nõuetele ja tsoonile:
named-checkzone too.ee /etc/bind/db.too.ee named-checkzone koht.ee /etc/bind/db.koht.ee named-checkzone arendus.koht.ee /etc/bind/db.arendus.koht.ee named-checkzone 145.168.192.in-addr.arpa /etc/bind/db.145.168.192.in-addr.arpa
Sinu tsoonifailid on õiged kui said vastuseks järgneva:
zone <sinu tsooni nimi>/IN: loaded serial <tsooni faili serial> OK
Vastasel juhul kontrollida tsoonifailide konfiguratsiooni.
Teiseks kasutada programme dig ja nslookup, et kontrollida kas nimeserver vastab päringutele õigesti.
Näiteks:
dig ns.too.ee ; <<>> DiG 9.6.1-P1 <<>> ns.too.ee ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4663 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;ns.too.ee. IN A ;; ANSWER SECTION: ns.too.ee. 604800 IN A 192.168.145.128 ;; AUTHORITY SECTION: too.ee. 604800 IN NS ns.too.ee. ;; Query time: 2 msec ;; SERVER: 192.168.145.128#53(192.168.145.128) ;; WHEN: Mon Nov 23 15:15:30 2009 ;; MSG SIZE rcvd: 57
Kindluse mõttes korrata tegevust ka teiste domeeninimede puhul.
Kui dig programmi vastusest puudub answer sektsioon tuleks kontrollida tsoonifailide konfiguratsiooni. Kui tsoonifailid on õiged, aga vastus ikka puudub tuleks kontrollida ka named.conf.local faili ning sealt kontrollida kas tsooninimed on õiged ja kas tsoonifailide asukohad on korrekselt määratud.
Nüüd kontrollida kas toimub pöördteisendus. Selleks käivitada nslookup ja sisestada ip aadressid ning vaadata kas ip aadress vastab õigele masina nimele.
Näiteks:
nslookup > 192.168.145.129 Server: 192.168.145.128 Address: 192.168.145.128#53 129.145.168.192.in-addr.arpa name = mail.too.ee.
Kindluse mõttes korrata tegevust ülejäänud ip-aadresside puhul.
Teenuse varundamine
Teenuse varundamiseks tuleb teha koopia /etc/bind kataloogist ja seal asuvatest failidest. Käsk selleks on :
cp -a /etc/bind /backup/
Teenuse taastamine
Teenuse taastamine, kui on olemas varukoopia
Teenuse taastamiseks tuleb kopeerida varundatud kataloog /etc/bind kataloogi asemele
cp -a /backup/bind/ /etc/
Teenuse taastamine, kui on alles kataloogid ja failid aga bind9 on kadunud
Selle puhul tuleb bind9 uuesti installeerida. Järgi selleks antud wiki installeerimise osa.
Teenuse taastamine, kui on kadunud BIND9 ja konfiguratsiooni failid ning pole varukoopiat
Et saaks BIND9 -t uuesti paigaldada, tuleb see algul täielikult eemaldada.
Selleks teha BIND9 install, mis antud hetkel paigaldab teenuse ilma konfiguratsioonifailideta.
apt-get install bind9
Paigaldamisel peaksid tekkima vead ja neid võib hetkel ignoreerida. Kui ei teki vigu, siis järelikult oli bind9 juba täielikult eemaldatud või olid olemas vajalikud failid ning võite jätkata selle wiki seadistamise osaga. Vastasel juhul tuleb nüüd eemaldada bind9 täielikult käsuga:
apt-get remove bind9 --purge
Nüüd on BIND9 koos kasutajate ja failidega süsteemist eemaldatud. Edasi tuleks tegutseda vastavalt antud wiki installeerimise ja seadistamise osale.
Levinud BIND9 turvavead
Puhvrimürgitamise ründed
Selle ründe peamiseks eesmärgiks on suunata inimese liiklus ümber. Põhimõtteliselt pannakse nimeserveri puhvrisse valed andmed nimelahenduse kohta ning selle abiga pannakse serverit arvama, et soovitud aadress on hoopis teises kohas.
DoS rünnak
Teenusetõkestus rünnak BIND9 nimeserveri vastu võib mõjutada kogu võrku takistades kasutajatel domeeninimede tõlgendamist ip aadressiteks. Üks näide teenusetõkestuse rünnakust on "." küsimise rünne, kus tehakse "." küsimise päring ja selle tegijaks pannakse rünnatava masina ip aadress ning sellele masinale saadetakse palju UDP liiklust, mis ummistab sidekanalid.
BIND9 turvalisuse tõstmise võimalused
1. Üks võimalik lahendus on Chroot vangla. Chroot vangla paigutab BIND9 liivakasti kus tal on ligipääs kõigile vajalikele seadmetele ja failidele, kuid ei pääse ligi asjadele mida tal ei ole vaja. Selleks, et chrooti kasutada tuleb luua chroot keskkond ja lisada vastav konfiguratsioon. Täpsemalt selle kohta kuidas chrootida bind9 võib lugeda siit
2.Teine lahendus mida on võimalik kasutusele võtta on AppArmor. AppArmori tööpõhimõte on sama kui chroot vanglal. Apparmor töötab vähimate õiguste põhimõttel ehk annab teenusele ainult need õigused mida vajatakse tööks. Need õigused on loetletud profiilides. AppArmor pakub mitmeid vaikimise profiile erinevate teenuste kohta (sh bind9 profiil) ning ka vahendeid, et mugavalt luua profiile teiste teenuste kohta. AppArmor on kaasas vaikimis alates Ubuntu 7.10 -st. Täpsemalt võib AppArmori ja tema seadistamise kohta lugeda siit.
BIND9 tsoonifailide võimalik teine formaat
Teatavasti loeb BIND9 DNS andmeid tekstifailidest. Tekstifailide kasutamisel on mitmeid puudusi. Kuna BIND9 hoiad nimeserveri andmeid mälus võib sealt lugemine muutuda suuremate tsoonide puhul aeglaseks. Üheks ebamugavaks atribuudiks on ka see, et iga korda kui tehakse tsoonifailis muutusi tuleb kas teenus või konkreetne tsoon taaskäivitada. Nende probleemide lahendamiseks on võimalik hoida BIND9 tsoonifaile tekstifailide asemel andmebaasis. Sellise formaadi puhul kaoks vajadus taaskäivitada teenust iga korda kui tehakse muutus ning kuna nüüd hoitakse andmeid andmebaasis muutub ka andmete lugemine palju efektiivsemaks. Allolevatel linkidel on mitmeid näiteid kuidas panna BIND9 tööle andmebaasiga MySQL näitel:
- How To Install BIND9 +MySQL http://www.digitalnerds.net/featured/how-to-install-bind9-with-mysql/
- BIND9 +mysql on debian http://www.hackersdiary.com/howto-bind9mysql-on-debian/
- Bind+DLZ+MySQL Hardy http://ubuntuforums.org/showthread.php?t=823578
Viited
- BIND9ServerHowto https://help.ubuntu.com/community/BIND9ServerHowto
- DNS ja BIND http://kuutorvaja.eenet.ee/wiki/DNS_ja_BIND
- Nimeserveri tööleseadmine http://kuutorvaja.eenet.ee/wiki/Nimeserveri_t%C3%B6%C3%B6leseadmine
- DNS for Rocket Scientists http://www.zytrax.com/books/dns/
- AppArmor https://help.ubuntu.com/8.04/serverguide/C/apparmor.html
- DNS HOWTO http://www.tldp.org/HOWTO/DNS-HOWTO.html
- BIND DLZ http://bind-dlz.sourceforge.net/
- DNS labor bind9 näitel http://veeremaa.tpt.edu.ee/2010/dnslabor.html
- DNS uuendamine DHCP serveri abil (Bind9 ja isc dhcp) http://www.debian-administration.org/article/Configuring_Dynamic_DNS__DHCP_on_Debian_Stable
- DNS ja DHCP seadistamine http://www.realmtech.net/documents/DynamicDNS.pdf