DNS sustav BIND9 - GASERI


Domenski sustav imena (engl. Domain Name System, kraće DNS) je distribuirani hijerarhijski sustav Internet poslužitelja u kojem se nalaze informacije povezane s nazivima domena, tj. o povezanosti IP adresa i njihovih logičkih (simboličkih) ...



Onion Details



Page Clicks: 0

First Seen: 03/15/2024

Last Indexed: 10/23/2024

Domain Index Total: 397



Onion Content



Preskoči na sadržaj DNS sustav BIND9 Todo Ovaj dio je vrlo sirov i treba ga temeljito pročistiti i dopuniti. Domenski sustav imena (engl. Domain Name System, kraće DNS) je distribuirani hijerarhijski sustav Internet poslužitelja u kojem se nalaze informacije povezane s nazivima domena, tj. o povezanosti IP adresa i njihovih logičkih (simboličkih) imena. Važnost DNS sustava se očituje u tome što ne moramo pamtiti IP adrese web stranica nego koristimo logička imena, npr. umjesto IP adrese 108.61.208.98 pisat ćemo example.group.miletic.net . Berkeley Internet Name Domain (BIND) je open source softver koji implementira DNS protokole na Internetu. DNS sustav je baza podataka u kojoj su upisana sva imena i odgovarajuće IP adrese pojedinih računala i biblioteka funkcija koja omogućuje prevođenje istih. U nastavku će biti opisana konfiguracija i popratni alati, te način definiranja zone koji će biti popraćeni primjerima. DNS protokoli su dio jezgre internestkih standarda. Oni specificiraju proces prema kojem jedno računalo može pronaći drugo na temelju njegovog imena. Implementacija DNS protokola podrazumijeva da naša distribucija softvera sadrži sav softver potreban za postavljanje i odgovaranje na pitanja imena usluga. BIND je referentna je implementacija tih prokolola ali je također softver proizvodnog stupnja koji je prikladan za korištenje u aplikacijama visoke pouzdanosti i opsega. BIND je daleko najkorišteniji DNS softver na Internetu, koji pruža robustnu i stabilnu platformu na kojoj organizacije mogu izgraditi distribuirane računalne sustave sa spoznajom da su ti sustavi u potpunosti u skladu s objavljenim DNS standardima. Dijelovi BIND-a BIND softver se sastoji od 3 dijela: DNS servera: program koji se zove 'named' koji je skraćenica od Name Daemon, odgovara na sva primljena pitanja slijedeći pravila specificirana u standardima DNS protokola. Možete dobaviti DNS usluge na Internetu instalirajući ovaj softver na serveru i davajući mu ispravne informacije o imenima domena. DNS zbirke razlagača (engl. DNS resolver library): razlagač je program koji razlaže pitanja o imenima šaljući ta imena na odgovarajuće servere i koji propisno odgovara na zahtjeve servera. Zbirka razlgača je skup softverskih komponenti koje programer može dodati u softver koji se razvija, a koji će dati softveru mogućnost da razlaže imena. Npr. programer koji programira novi web preglednik ne mora isprogramirati dio koji će tražiti imena u DNS-u već može priljučiti zbirku razlagača i slati pitanja u knjižnicu softverskih komponenti. Ovaj način štedi vrijeme i osigurava da novi preglednik ispravno slijedi DNS standarde. Alata za testiranje servera: ovo su alati koje uključujemo u distribuciju da bi nam asistirali u dijagnozama. Kada instaliramo neki operacijski sustav na računalo, to računalo će sadržavati koju god zbirku razlagača je odabrao njegov programer. Kada ste postavili računalo poslužitelja, njegov prodavač obično je postavio neki DNS sustav tako da će server raditi kad je isporučen. Zato što BIND vjerno implementira DNS protokole nema potrebe da razlagač i server pokreću isti softver. Konfiguracija Todo Ovdje treba citirati upute na Server Worldu za Fedoru 28 ili osvježiti za novije verzije Fedore i citirati odgovarajući izvor. Konfiguracija se nalazi u datoteci /etc/named.conf sadržaja // named.conf // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching on ly nameserver (as a localhost DNS resolver on ly). // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { 127.0.0.1 ; } ; listen-on-v6 port 53 { ::1 ; } ; directory "/var/named" ; dump-file "/var/named/data/cache_dump.db" ; statistics-file "/var/named/data/named_stats.txt" ; memstatistics-file "/var/named/data/named_mem_stats.txt" ; allow-query { localhost ; } ; /* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatly reduce such attack surface */ recursion yes ; dnssec-enable yes ; dnssec-validation yes ; dnssec-lookaside auto ; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key" ; managed-keys-directory "/var/named/dynamic" ; pid-file "/run/named/named.pid" ; session-keyfile "/run/named/session.key" ; } ; logging { channel default_debug { file "data/named.run" ; severity dynamic ; } ; zone "." IN { type hint ; file "named.ca" ; } ; include "/etc/named.rfc1912.zones" ; include "/etc/named.root.key" ; Datoteku ćemo izmijeniti na sljedeći način (nakon promjene potrebno je ponovno pokrenuti uslugu named ) options { // listen-on port 53 { 127.0.0.1 ; } ; listen-on-v6 { none ; } ; directory "/var/named" ; dump-file "/var/named/data/cache_dump.db" ; statistics-file "/var/named/data/named_stats.txt" ; memstatistics-file "/var/named/data/named_mem_stats.txt" ; allow-query { localhost ; 192.168.1.238/24 ; } ; /* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatly reduce such attack surface */ recursion yes ; dnssec-enable yes ; dnssec-validation yes ; dnssec-lookaside auto ; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key" ; managed-keys-directory "/var/named/dynamic" ; pid-file "/run/named/named.pid" ; session-keyfile "/run/named/session.key" ; } ; view "internal" { match-clients { localhost ; 192.168.1.238/24 ; } ; zone "." IN { type hint ; file "named.ca" ; } ; zone "server.world" IN { type master ; file "server.world.lan" ; allow-transfer { 192.168.1.238/24 ; } ; zone "238.1.168.192.in-addr.arpa" IN { type master ; file "238.1.168.192.db" ; } ; include "/etc/named.rfc1912.zones" ; include "/etc/named.root.key" ; } ; Opis korištenih funkcionalnosti: allow-query : raspon koji dozvoljavamo allow-transfer : raspon koji dozvoljavamo za prijenos informacija o zoni recursion : dozvoljava rekurzivno pretraživanje view "internal" { ... }; unutarnje definicije Za obrnuto razlaganje mrežne adrese se pišu obrnutim redoslijedom, primjerice za adresu u zapisu CIDR 192.168.1.238/24 imamo: mrežna adresa: 192.168.1.238 raspon mreža (podmreža): 192.168.1.0 -- 192.168.1.238.255 podmreža u zapisu rDNS: 238.1.168.192.in-addr.arpa Način definiranja zone Definiranje datoteke zone pomoću kojih server razlaže IP adrese preko imena domene za unutarnju zonu vrši se unutar datoteke /var/named/server.world.lan sadržaja $ORIGIN server.world $TTL 86400 @ IN SOA dns.server.world. root.server.world. ( 2001062501 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day IN NS dns.server.world. IN A 192.168.1.238 IN MX mail.server.world dns IN A 192.168.1.238 Postavljanje zona za obrnuto razlaganje vrši se unutar datoteke /var/named/238.1.168.192.db sadržaja $TTL 86400 @ IN SOA dns.server.world. root.server.world. { 2013121801 ; serial 21600 ; refresh 3600 ; retry 604800 ; expire 86400 ) ; minimum TTL // definiranje imenskog servera IN NS dns.server.world. // definiranje raspona koji je uključen u domenu imena IN PTR server.world. IN A 255.255.255.0 // definiranje IP adrese i imenskog servera 238 IN PTR dns.server.world Pomoćni alat dig Naredba dig dopušta izvođenje bilo kojeg valjanog DNS upita od kojih su najčešće korišteni A : IP adrese, TXT : tekstualne bilješke, MX : e-mail poslužitelji te NS : imena servera. Provjerit ćemo ako server može 'razlagati' domenu imena i IP adrese na slijedeći način $ dig dns.server.world ; > DiG 9 .11.3-RedHat-9.11.3-6.fc28 > dns.server.world ;; global options: +cmd ;; Got answer: ;; >>HEADER > DiG 9.11.3-RedHat-9.11.3-6.fc28 > dns.server.world ;; global options: +cmd ;; Got answer: ;; >>HEADER > DiG 9 .11.3-RedHat-9.11.3-6.fc28 > MX wikimedia.org @ns0.wikimedia.org ;; global options: +cmd ;; Got answer: ;; >>HEADER > DiG 9 .11.3-RedHat-9.11.3-6.fc28 > redhat.com ;; global options: +cmd ;; Got answer: ;; >>HEADER > DiG 9.11.3-RedHat-9.11.3-6.fc28 > redhat.com +nocomments +nostats ;; global op tions: +cmd ; redhat.com. IN A redhat.com. 925 IN A 209 .132.183.105 Dijelovi ispisa su: preambula: ispis tehničkih detalja o odgovoru primljenom od DNS servera, QUESTION SECTION : ispis upita poslanog DNS serveru, ANSWER SECTION : ispis odgovora na zahtjev poslan DNS serveru, kraj: ispis statističkih podataka zahtjeva. Pomoćni alat host Naredba host je jednostavna naredba za obavljanje DNS dohvata. Obično se koristi za pretvaranje imena u IP adrese i obrnuto. Sljedeći primjer pokazuje korištenje naredbe host korištenjem imena, a zatim IP adrese $ host example.group.miletic.net is an alias for reaction.miletic.net. reaction.miletic.net has address 108 .61.208.98 reaction.miletic.net has IPv6 address 2001 :19f0:6801:4e:5400:ff:fe5d:b9a6 $ host 108 .61.208.98 .208.61.108.in-addr.arpa domain name pointer reaction.miletic.net. Sljedeći primjer prikazuje otkrivanje mail servera domene $ host -t mx apache.org mail is handled by 10 mx1-lw-us.apache.org. apache.org mail is handled by 10 mx1-lw-eu.apache.org. Dobivanje TTL informacija $ host -v -t a mesa3d.org Trying "mesa3d.org" ;; >>HEADER > DiG 9 .11.3-RedHat-9.11.3-6.fc28 > example.group.miletic.net ;; global options: +cmd ;; connection timed out ; no servers could be reached Author: Ivona Bjelobradić, Vedran Miletić