Prezantoni në vëmendjen tuaj kurs i ri nga ekipi Codeby- "Testimi i penetrimit të aplikacioneve në ueb nga e para." Teoria e përgjithshme, përgatitja e mjedisit të punës, fuzzimi pasiv dhe gjurmët e gishtave, fuzzimi aktiv, dobësitë, post-shfrytëzimi, Mjetet, Inxhinieri Sociale dhe shumë më tepër.
Domenet kanë të paktën dy Server DNS a, njëri quhet serveri kryesor i emrave (ns1) dhe tjetri quhet serveri dytësor i emrave (ns2). Serverët dytësorë zakonisht përdoren kur ka probleme me serverin kryesor DNS: nëse një server nuk është i disponueshëm, i dyti bëhet aktiv. Më shumë janë të mundshme qarqe komplekse duke përdorur balancimin e ngarkesës, muret e zjarrit dhe grupimet.
Të gjitha Regjistrimet DNS domeni specifik i shtohet server primar emrat Serveri sekondar thjesht sinkronizon të gjithë informacionin e marrë nga serveri primar, bazuar në parametrat e specifikuar në serverin primar.
Ky udhëzim do të përshkruajë, si të krijoni një server kryesor DNS që funksionon në CentOS. Ju lutemi vini re se serveri DNS i paraqitur në këtë udhëzues do të jetë një DNS publik, që do të thotë se serveri do t'i përgjigjet kërkesave nga çdo adresë IP. Si të kufizoni aksesin në server përshkruhet në këtë manual.
Para se të fillojmë, dua të përmend se DNS mund të instalohet me ose pa një mjedis chroot jail. Një mjedis chroot jail kufizon serverin DNS në një drejtori specifike në sistem, në krahasim me aksesin e plotë të sistemit në server. Në këtë mënyrë, çdo cenueshmëri e serverit DNS nuk do të komprometojë të gjithë sistemin. Kufizimi i serverit DNS në një drejtori specifike (një proces i quajtur chrooting) është gjithashtu i dobishëm në cilësimet e testimit.
Synimi
Ne do të konfigurojmë një server DNS në kushte testimi për domenin shembull.tst, i cili është një domen hipotetik (jo-ekzistent). Në këtë mënyrë nuk do të ndërhyjmë rastësisht në funksionimin e çdo domeni real.
Ekzistojnë tre serverë të mëposhtëm në këtë domen.
Serveri | adresa IP | Shërbimet e Pritura | FQDN |
Serveri A | 172.16.1.1 | Postë | mail.shembull.tst |
Serveri B | 172.16.1.2 | Ueb, FTP | www.example.tst ftp.example.tst |
Serveri C | 172.16.1.3 | Serveri kryesor DNS | ns1.shembull.tst |
Ne do të konfigurojmë serverin kryesor DNS dhe do të shtojmë domenin e kërkuar dhe të dhënat DNS siç tregohet në tabelë.
Vendosja e emrave të hosteve
Të gjithë hostet duhet të identifikohen saktë në termat e FQDN. Kjo mund të bëhet duke përdorur metodën e mëposhtme.
Ata që duan GUI, mund të përdorë mjetet NetworkManaget. Për ta bërë këtë, shkruani komandën nmtui. Ndërfaqja pseudografike e mëposhtme do të hapet:
Zgjidhni "Ndrysho emrin e hostit" dhe futni ns1.example.tst
Kur të jetë gati, klikoni OK.
Një mënyrë tjetër, me vetëm një komandë:
Hostnamectl set-hostname ns1.example.tst
Pasi të instalohet, emri i hostit mund të kontrollohet me komandën e mëposhtme.
# emri i hostit ns1.example.tst
Statusi i hostnamectl
Para se të kaloni në hapi tjeter, sigurohuni që emri i hostit për të gjithë serverët të jetë vendosur siç duhet.
Instalimi i paketave
Ne do të përdorim bind për DNS, i cili mund të vendoset lehtësisht me komandën yum.
Instalimi i DNS pa chroot:
# yum install bind
Vendosja e DNS me chroot:
# yum install bind bind-chroot
Përgatitja e skedarëve të konfigurimit
Siç u përmend më herët, bind mund të konfigurohet me ose pa chroot. Shtigjet ndryshojnë pak në varësi të faktit nëse chroot është instaluar.
Mënyra për të skedari i konfigurimit | Rruga drejt skedarëve të zonës | |
Pa chroot | /etj/ | /var/named/ |
Me chroot | /var/named/chroot/etc/ | /var/named/chroot/var/named/ |
Ju mund të përdorni skedarin e konfigurimit named.conf, i cili ofrohet si parazgjedhje. Megjithatë, ne do të përdorim një skedar tjetër konfigurimi shembull për lehtësinë e përdorimit.
Bërja e një kopje rezervë të skedarit /etc/named.conf
Cp /etc/named.conf /etc/named.conf.bak
# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf
# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf
Tani që ka kopje rezervë skedari i konfigurimit, dhe vetë skedari origjinal është ndryshuar, ne vazhdojmë.
# vim /etc/named.conf
# vim /var/named/chroot/etc/named.conf
Rreshtat e mëposhtëm janë shtuar/ndryshuar.
Opsionet ( ## rruga për skedarët e zonës ## drejtoria "/var/named"; ## ridrejtimi i kërkesave te DNS publike Serveri i Google për domenet jo-lokale ## përcjellës ( 8.8.8.8; ); ); ## deklarimi i një zone direkte për shembull.tst ## zona "example.tst" IN ( shkruani master; skedari "example-fz"; skedari ## për zonën e drejtpërdrejtë ndodhet në /var/me emrin ## lejo-përditësim ( asnje; ) ; ); ## deklarimi i një zone të kundërt për rrjetin 172.16.1.0 ## zona "1.16.172.in-addr.arpa" IN ( shkruani master; skedari "rz-172-16-1"; skedari ## për zonën e kundërt është ndodhet në /var /me emrin ## allow-update ( asnjë; ); );
Përgatitja e skedarëve të zonës
Skedarët e zonës së parazgjedhur krijohen automatikisht në /var/named ose /var/named/chroot/var/named (për chroot).
Duke supozuar se skedarët e zonës së paracaktuar nuk janë të pranishëm, ne mund të kopjojmë skedarët e mostrës nga /usr.
# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/
# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named
E madhe. Tani skedarët e zonës së paracaktuar janë gati, ne krijojmë tonat dosjet e veta zonat për shembull.tst dhe rrjeti 172.16.1.0. Ndërsa krijojmë skedarë zonale, duhet të kujtojmë sa vijon.
- Simboli '@' do të thotë NULL në skedarët e zonës.
- Çdo hyrje Plotësisht e Kualifikuar Domain Name (FQDN) përfundon me një pikë '.' për shembull. mail.shembull.tst. Pa pikë, do të ketë probleme.
1. Zonë e drejtpërdrejtë
Zona e drejtpërdrejtë përmban një hartë të përkthimeve nga emrat në adresat IP. Për domenet publike, domenet DNS të pritura në shërbimet e pritjes përmbahen në skedarin e zonës direkte.
# vim /var/named/shembull-fz
# vim /var/named/chroot/var/named/example-fz $TTL 1D @ NË SOA ns1.example.tst. mial.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. IN A 172.16.1.3 mail IN A 172.16.1.1 IN MX 10 mail.example.tst. www IN A 172.16.1.2 ns1 IN A 172.16.1.3 ftp IN CNAME www.example.tst.
Shpjegim: Brenda një skedari zone, SOA nënkupton fillimin e autorizimit. Kjo është e plotë Emri i domenit server autoritar i emrit. Pas emrit të plotë të domenit vjen informacioni i kontaktit adresën e emailit. Meqenëse nuk mund të përdorim '@' në [email i mbrojtur], ne e rishkruajmë adresën e emailit si mial.example.tst.
- N.S.: Emri i serverit
- A: Një rekord ose regjistrim adrese është një adresë IP
- MX: Hyrja në shkëmbyesin e postës. Këtu përdorim vetëm një MX me prioritet 10. Në rast të MX-ve të shumta, mund të përdorim prioritete të ndryshme dixhitale. Numri i poshtëm fiton. Për shembull, MX 0 është më i mirë se MX 1.
- CNAME: emër në trajtë kanonike. Nëse një server pret shumë shërbime, ka shumë të ngjarë që shumë emra të zgjidhen në një server të vetëm. CNAME sinjalizon që serveri mund të ketë emra të tjerë dhe i referohet emrit që gjendet në rekordin A.
2. Zona e kundërt
Zona e kundërt përmban një hartë të konvertimeve nga adresat IP në emra. Këtu krijojmë një zonë të kundërt për rrjetin 172.16.1.0. Në një domen real, serveri DNS i pronarit të bllokut publik IP gjendet në skedarin e zonës së kundërt.
# vim /var/named/rz-172-16-1
# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ NË SOA ns1.example.tst. sarmed.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. 1 NË PTR mail.example.tst. 2 NË PTR www.example.tst. 3 NË PTR ns1.shembull.tst.
Shpjegim: Shumica e parametrave të përdorur në zonën e kundërt janë identike me zonën përpara, me përjashtim të njërit.
- PTR: PTR ose regjistrimi i treguesit, ai tregon emrin e domain-it plotësisht të kualifikuar
Përfundimi
Tani që skedarët e zonës janë gati, ne do të konfigurojmë rezolucionin e skedarëve të zonës.
# chgrp me emrin /var/named/*
# chgrp me emrin /var/named/chroot/var/named/*
Tani do të vendosim IP-në Adresa DNS server.
# vim /etc/resolv.conf serveri i emrave 172.16.1.3
Më në fund mund të vrapojmë Shërbimi DNS dhe sigurohuni që të shtohet në autorun.
# shërbim me emrin rinisje # chkconfig emërtuar në
Testimi DNS
Ne mund të përdorim dig ose nslookup për të testuar DNS. Së pari, ne do të instalojmë paketat e nevojshme.
# yum install bind-utils
1. Testimi i drejtpërdrejtë i zonës duke përdorur dig
# dig shembull.tst ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3
2. Kontrolloni PTR duke përdorur dig
Kur përdorni dig për testim, gjithmonë duhet të kërkoni statusin "NOERROR". Çdo kusht tjetër do të thotë se diçka nuk është në rregull.
# dig -x 172.16.1.1 ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3
3. Kontrollimi i MX duke përdorur dig
# dig shembull.tst mx ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 35405
;; QUESTION SECTION:
;example.tst. IN MX
;; ANSWER SECTION:
example.tst. 14366 IN MX 10 mail.example.tst.
Këshilla për zgjidhjen e problemeve
- Unë kam SELinux të çaktivizuar.
- Sigurohuni që muri juaj i zjarrit të mos bllokojë portin UDP 53
- /var/log/messages duhet të përmbajë informacion të dobishëm në rast se diçka nuk shkon
- Sigurohuni që pronari i skedarëve të zonës të jetë "me emrin e përdoruesit"
- Sigurohuni që adresa IP e serverit DNS është renditur së pari në /etc/resolv.conf
- Nëse po përdorni shembull.tst në një mjedis laboratorik, sigurohuni që ta shkëputni serverin nga Interneti sepse example.tst është një domen që nuk ekziston.
Për ta përmbledhur, ky udhëzues fokusohet në pritjen e domenit shembull.tst në një mjedis laboratori për qëllime demonstrimi. Ju lutemi mbani mend se ky nuk është një udhëzues për krijimin e një serveri publik DNS, si p.sh. një server DNS që u përgjigjet kërkesave nga çdo adresë IP. Nëse po konfiguroni një server DNS prodhimi, sigurohuni që të kontrolloni se cilat politika zbatohen për DNS publike. Një mësim tjetër përfshin krijimin e një DNS dytësor, kufizimin e aksesit në serverin DNS dhe zbatimin e DNSSEC.
Garantuesi është një ndërmjetës i besueshëm ndërmjet pjesëmarrësve gjatë transaksionit.
Në këtë artikull, ne do të shikojmë vendosjen e serverëve DNS Master dhe Slave BIND (Berkeley Internet Name Domain) në CentOS 6.4 minimal. Përpara se të përfundoni të gjitha hapat në këtë artikull, duhet të keni të konfiguruar rrjetin tuaj, të instaloni system-config-firewall-tui dhe Midnight Commander. Mund të lexoni të gjithë konfigurimin fillestar të CentOS.
Në të dy makinat:
instaloni Midnight Commander:
instaloni system-config-firewall-tui:
yum install system-config-firewall-tui –y
futni në vijën e komandës
iptables -A INPUT -p udp -m gjendje --state E RE -m udp --dport 53 -j ACCEPT
instaloni BIND:
yum install bind-chroot bind-utils –y
Le të hapim mjetin e konfigurimit të murit të zjarrit dhe të konfigurojmë:
system-config-firewall-tui
Shënoni me një yll DNS
Klikoni "Përpara". Shënoni ndërfaqen eth0 dhe klikoni "Përpara"
Klikoni "Përpara". Shënoni ndërfaqen për maskaradën eth0 dhe klikoni "Përpara"
Klikoni "Përpara".
Klikoni "Përpara".
Klikoni "Përpara".
Klikoni "Përpara".
Klikoni "Mbyll".
Klikoni "NE RREGULL".
Klikoni "Po". Gati.
Çaktivizo SELINUX:
në /etc/selinux/config do ta korrigjojmë atë SELINUX=i çaktivizuar
Tani le të gjenerojmë çelësin:
dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndckey
Kjo komandë do të krijojë dy skedarë në drejtorinë aktuale. Në skedarin *.private në rreshtin e tretë do të ketë një çelës të formës: wGmtcnMtn9od+ndTc20tGg==
Pas kësaj, hapni skedarin /etc/resolv.conf dhe në fillim do të shkruajmë në të:
serveri i emrave 192.168.0.191
serveri i emrave 192.168.0.192
Serveri kryesor DNS (IP: 192.168.0.191 emri i hostit: ns1.localserver12.ru):
krijoni një direktori /etc/named/master
mkdir /etc/named/master
ne do të transferojmë bindu në fermë
chown -R me emrin:me emrin /etc/named/master
Hapja /etc/named.conf. Në të kontrollojmë praninë e opsioneve të treguara më poshtë. Nëse nuk janë aty, shtoni ato; nëse janë të ndryshme, korrigjoni:
porta e dëgjimit 53 (127.0.0.1; 192.168.0.191; );
lejoj-transferim (192.168.0.192; );
njoftoni po;
zona "localserver12.ru" IN (
tip master;
skedari "/etc/named/master/localserver12.ru";
/* Rruga drejt çelësit ISC DLV */)
dnssec-aktivizo po;
dnssec-validimi po;
dnssec-lookaside auto;
Le të krijojmë një skedar localserver12.ru në drejtorinë /etc/named/master
prek /etc/named/master/localserver12.ru
Le t'ia dorëzojmë fermës bindu:
chown -R me emrin:named /etc/named/master/localserver12.ru
Le të shkruajmë në të sa vijon (përafërsisht si në foto):
Le të fillojmë lidhjen
Ne e vendosëm BIND në fillimin në mënyrë që të fillojë gjatë nisjes së sistemit
Serveri kryesor DNS është gati.
Serveri skllav DNS (IP: 192.168.0.192 emri i hostit: ns2.localserver12.ru):
krijoni një direktori /etc/named/slave
Le t'ia dorëzojmë fermës bindu
chown -R me emrin:me emrin /etc/named/slave
Hapni /etc/named.conf. Në të kontrollojmë praninë e opsioneve të treguara më poshtë. Nëse nuk janë aty, shtoni ato; nëse janë të ndryshme, korrigjoni:
porta e dëgjimit 53 ( 127.0.0.1; 192.168.0.192; );
lejoj-rekursion (192.168.0.0/24; );
rekursion po;
lejim-transferim (asnjë; );
Njoftoni nr;
zona "localserver12.ru" (
tip skllav;
skedari "/etc/named/slave/localserver12.ru";
mjeshtra (192.168.0.191;);
Ne gjithashtu kontrollojmë për praninë e linjave të tilla (nëse jo, shtoni para rreshtit /* Rruga drejt çelësit ISC DLV */)
Dnssec-aktivizo po;
Dnssec-vlefshmëria po;
Dnssec-lookaside auto;
Le të fillojmë lidhjen
Ne e vendosim atë në nisje në mënyrë që të fillojë gjatë nisjes së sistemit
Serveri Slave DNS është gati. Gjithashtu, pas një rifillimi, skedari do të tërhiqet automatikisht në drejtorinë /etc/named/slave localserver12.ru
Tani le të kontrollojmë:
në skllav fut komandën
gërmoni @ns1.localserver12.ru localserver12.ru axfr
dhe mbi mjeshtrin si kjo
gërmoni @ns2.localserver12.ru localserver12.ru axfr
në të dyja rastet, të dhënat dhe të dhënat DNS shfaqen nga skedari localserver12.ru
Të gjitha. Serverët DNS janë gati.
Nëse ky artikull ju ka ndihmuar, mund të falënderoni autorin:
transferimi në portofolin WMR (WebMoney): R301575071888
transferimi në Yandex.Wallet: 410011003938168
ose në PayPal:
DNS- Sistemi i emrave të domenit - një sistem i shpërndarë që është në gjendje të raportojë adresën e tij IP sipas kërkesës që përmban një emër pritës. Struktura DNS është e ngjashme me sistemin e skedarëve Linux; e gjithë baza e të dhënave ka një strukturë peme, me rrënjën në krye ( . ). Është nga pika që fillon i gjithë sistemi i emrave të domenit. Pika mund të ndiqet nga ru, com, net, info, etj. Domenet me origjinë nga rrënja d.m.th. ru., com.,neto. quhen domenet e nivelit të parë, domenet e llojit të faqes së internetit. quhen domenet e nivelit të dytë, por të formës file.site. - domenet e nivelit të tretë e kështu me radhë. Vini re periudhën në fund të shembujve. Emrat e shkruar në këtë mënyrë quhen emra absolut (FQDN). Nëse pika nuk është e specifikuar, atëherë emri trajtohet si i afërm. Kjo është, faqja e internetit.
Pse të përdorni DNS?
1) Imagjinoni që ju duhet të përdorni një burim rrjeti nën emrin mikpritës(ky është serveri i skedarëve në të cilin ruhen të gjithë skedarët e punonjësve) emri mikpritës Ajo ka IP adresa është 192.168.200.20 dhe nëse nuk keni një shërbim që konverton adresat IP në emra, atëherë duhet të thirrni adresën IP 192.168.200.20 për të shkuar te serveri i skedarëve. Çfarë është më e lehtë për të kujtuar emrin e hostit ose grupin e numrave 192.168.200.20?
2) Opsioni i dytë ka të bëjë me hyrjen në internet, për shembull, duhet të shkoni në një server FTP në internet me emrin ftp.site, dhe adresa IP është 89.111.176.87.
Pra, nëse në opsionin e parë nuk keni nevojë të instaloni dhe konfiguroni fare një server DNS, por thjesht mund të konfiguroni shpejt, për shembull, shërbimin WINS, atëherë ju duhet thjesht për të hyrë në internet (ne do' t i kujtojmë vazhdimisht numrat kur përpiqemi të aksesojmë ndonjë burim në internet). Një pyetje tjetër është, a duhet ta konfiguroni nëse ofruesi ju ka ofruar serverët e tij DNS?
Serveri DNS mund të përdoret si: primar dhe dytësor, rekursiv dhe ridrejtues i pyetjeve.
fillore(master) ngarkon të dhënat për zonën nga një skedar në makinën e serverit dhe sekondari (skllavi) merr të dhëna nga DNS primar. Një server DNS mund të jetë primar për një zonë dhe sekondar për një tjetër.
Server rekurziv krijuar në organizata të mëdha me lidhje rrjeti me shpejtësi të lartë. Nuk është i lidhur me serverët e ofruesit, është fleksibël dhe i sigurt.
Kërkesë ridrejtues dërgon një kërkesë nga klienti në serverin e ofruesit. Serveri i ofruesit përpunon shumë kërkesa të klientit, ka një cache të madhe dhe lidhje me shpejtësi të lartë.
Regjistrimet bazë DNS.
A - korrespondenca midis emrit dhe adresës IP
AAAA - korrespondenca midis emrit dhe adresës IPv6
CNAME - emër kanonik (sinonim)
MX - tregon serverin e postës për këtë domen
NS - Serveri DNS për domenin
PTR - emër kanonik
SOA është rekordi fillestar që tregon se ku ruhen informacionet rreth serverit.
SRV - serverë për shërbime.
Instalimi i BIND.
Ne do të instalojmë BIND në centOs5.
Ka një server të quajtur ns1..168.200.1
yum install bind
Cilësimet LIND
Krijoni dhe plotësoni skedarin e konfigurimit
vi /var/named/chroot/etc/named.conf
opsione (
drejtoria "/var/named/";
skedar dump "/var/run/named_dump.bd";
statistika-skedar "/var/run/named.stats";
};
zona "site" në (
tip master;
skedari "site.db";
};
zona "200.168.192.IN-ADDR.ARPA." NË (
tip master;
dosja "192.168.200.db";
};
zona "0.0.127.IN-ADDR.ARPA." NË (
tip master;
skedari "127.0.0.db";
};
zona "." (
tip hint;
skedari "named.ca";
};
Ne krijojmë skedarë zonash për site.db, 192.168.0.db, 127.0.0.db, me emrin.ca.
vi /var/named/chroot/var/named/site.db# zonë e drejtpërdrejtë për hartëzimin e emrave në adresa.
$TTL 1H ; 1 orë
NE faqen e internetit SOA ns1.site. root.site (22
3H
1H
1 W
1H)
; Serverët e emrave
N.S. ns1.site
;Për emrat kakonik
ns1.site. NË 1H A 192.168.200.1
host1.site. NË 1H A 192.168.200.154
; Pseudonimet
gw1.site. NË 1H CNAME host1.site.
www.site. NË 1H CNAME host1.site.
vi /var/named/chroot/var/named/192.168.200.db# zonë e kundërt për hartëzimin e adresave me emra.
3600 dollarë TTL; 1 orë
200.168.192.in-addr.arpa NË SOA ns1.site. root.site (21
3H
1H
1 W
1H)
; Serverët e emrave
200.168.192.in-addr.arpa IN NS ns1.site
; emrat kanonikë
1.200.168.192.in-addr.arpa PTR ns1.site.
154.200.168.192.in-addr.arpa PTR host1.site.
vi /var/named/chroot/var/name/127.0.0.db# adresë kthimi për dërgimin e paketave tek vetja.
3600 dollarë TTL; 1 orë
0.0.127.in-addr.arpa NË SOA ns1.site. root.site (21
3H
1H
1 W
1H)
0.0.127.in-addr.arpa NË NS ns1.site
0.0.127.in-addr.arpa. NË PTR localhost.
vi /var/named/chroot/var/named/named.caserverët #root
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; më parë NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; më parë C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; dikur TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; më parë NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; më parë NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; ish NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; ish AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; më parë NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
;
; operuar nga RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; operuar nga ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; operuar nga WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; Fundi i dosjes
Nisja dhe ndalimi i serverit/etc/init.d/named (start stop restart)
Shërbimet e testimit të DNS:
host, nslookup, dig.
Për cilësime më të detajuara të DNS, lexoni man bind, librin DNS dhe BIND, etj.
Ky udhëzues do të mbulojë instalimin dhe konfigurimin e një serveri BIND DNS.
Për të ndjekur udhëzimet, rekomandohet të konfiguroni të paktën dy serverë cloud për të ekzekutuar serverët e emrave; Pasja e shumë serverëve me emra ju lejon të përdorni burime rezervë në rast të një gabimi. Ju gjithashtu mund të konsideroni përdorimin e dy pikave të ndryshme të pranisë (POP). Supozohet të përdoret një server primar (master) dhe dytësor emri (skllav).
Vlen të përmendet se kur menaxhoni një numër të madh domenesh, kjo mund të mos jetë zgjidhja më efikase, pasi do t'ju duhet të shtoni manualisht domene si në master ashtu edhe në slave. Me këtë thënë, drejtimi i serverëve tuaj të emrave është një mënyrë e shkëlqyeshme për të mbajtur kontrollin e drejtpërdrejtë mbi infrastrukturën tuaj të pritjes dhe të dhënat DNS.
Si gjithmonë, është e rëndësishme të filloni duke u siguruar që sistemi juaj të jetë i përditësuar. Kontrolloni për përditësime duke përdorur yum:
Instalimi i BIND
Për të instaluar paketat BIND dhe bind-utils, përdorni yum:
Pastaj hapni skedarin e konfigurimit BIND dhe bëni disa rregullime në të.
nano -w /etc/named.conf
Në skedar, gjeni seksionin e opsioneve, i cili duket kështu (në vend të 2.2.2.2 - adresa IP e serverit të dytë):
opsione (
drejtoria "/var/named";
leje-pyetje (ndonjë; );
leje-transferim (localhost; 2.2.2.2; );
rekursion nr;
dnssec-aktivizo po;
dnssec-validimi po;
dnssec-lookaside auto;
/* Rruga drejt çelësit ISC DLV */
};
Direktiva e dëgjimit duhet të komentohet për të dëgjuar ndërfaqet e disponueshme. Direktiva e rekursionit duhet të jetë e çaktivizuar për të parandaluar reflektimin e sulmeve DDoS. Direktiva e transferimit të lejimit shton adresën IP të serverit dytësor në listën e bardhë. Përveç kësaj, ju duhet të ndryshoni vlerën e direktivës së kërkesës për leje në ndonjë për t'i lejuar përdoruesit të kenë akses në zona.
Pastaj ju duhet të shtoni një zonë të re për domenin e parë. Për ta bërë këtë, vendosni kodin e mëposhtëm në fund të skedarit named.conf:
zona "mydomain.com" IN (
tip master;
skedari "mydomain.com.zone";
lejo-përditësim (asnjë;);
};
Ruani ndryshimet në named.conf. Pas kësaj, mund të filloni të krijoni një skedar përshkrimi të zonës (skedari i zonës).
Vendosja e zonave BIND
Së pari ju duhet të hapni skedarin e zonës, duke specifikuar emrin e futur në skedarin e mëparshëm të konfigurimit (mydomain.com.zone).
nano -w /var/named/mydomain.com.zone
Shtoni kodin e mëposhtëm në skedar. Zëvendësoni adresat IP të kushtëzuara me adresat e serverëve tuaj (1.1.1.1 – adresa IP e serverit të parë, 2.2.2.2 – adresa IP e serverit të dytë, 3.3.3.3 – IP në të cilën dëshironi të drejtoni domenin (për shembull , një server në internet)). Bëni ndryshime të tjera në kod nëse është e nevojshme.
86400 dollarë TTL
@ NË SOA ns1.mydomain.com. root.mydomain.com. (
2013042201 ;Serial
3600 ;Rifresko
1800; Provo sërish
604800 ; Skadon
86400 ;TTL minimale
; Specifikoni dy serverët tanë të emrave
NË NS ns1.mydomain.com.
NË NS ns2.mydomain.com.
; Zgjidhini emrat e serverëve të emrave në IP, zëvendësoni me dy adresat tuaja IP të pikave.
ns1 NË A 1.1.1.1
ns2 NE A 2.2.2.2
; Përcaktoni emrin e hostit -> çiftet IP që dëshironi të zgjidhni
@ IN A 3.3.3.3
www IN A 3.3
Nisja me emrin. Mund të duhen disa minuta për të nisur, sepse hera e parë që fillon me emrin, krijon një skedar rndc.key.
shërbimi me emrin rinisje
Pasi të keni nisur me sukses daemonin e emërtuar, duhet të siguroheni që ai të jetë i aktivizuar si shërbim:
chkconfig emërtuar në
Serveri kryesor i emrave tani është plotësisht gati. Për të verifikuar që BIND po funksionon siç pritej, ekzekutoni komandën e mëposhtme, duke specifikuar IP-në e serverit në vend të 1.1.1.1:
gërmoni @1.1.1.1 mydomain.com
Nëse rezultati përmban seksionet e përgjigjes dhe autoritetit, do të thotë që konfigurimi është përfunduar saktë.
Vendosja e një serveri skllav
Pra, serveri kryesor është gati për të punuar. Tani ju duhet të konfiguroni një server dytësor emri në serverin e dytë cloud.
Sigurohuni që sistemi të jetë i përditësuar.
Instaloni BIND dhe shërbimet e tij në serverin e dytë cloud:
yum install bind bind-utils -y
Hapni named.conf dhe bëni të njëjtat rregullime si në serverin e parë, duke hequr direktivën e transferimit të lejes - kjo direktivë nuk është e nevojshme, pasi të dhënat do të transferohen vetëm nga serveri kryesor i emrave.
nano -w /etc/named.conf
opsione (
#listen-on port 53 ( 127.0.0.1; );
listen-on-v6 port 53 ( ::1; );
drejtoria "/var/named";
skedar dump "/var/named/data/cache_dump.db";
statistika-skedar "/var/named/data/named_stats.txt";
memstatistics-skedar "/var/named/data/named_mem_stats.txt";
leje-pyetje (ndonjë; );
rekursion nr;
dnssec-aktivizo po;
dnssec-validimi po;
dnssec-lookaside auto;
/* Rruga drejt çelësit ISC DLV */
bindkeys-skedar "/etc/named.iscdlv.key";
menaxhuar-keys-directory "/var/named/dynamic";
};
Shtoni zonat e konfiguruara në serverin e mëparshëm, duke zëvendësuar vlerën e direktivës së tipit me skllav. Specifikoni IP-në e serverit të parë në vend të 1.1.1.1:
zona "mydomain.com" IN (
tip skllav;
mjeshtra ( 1.1.1.1; );
skedari "mydomain.com.zone";
};
Pasi të keni konfiguruar zonën skllav, filloni demonin e emërtuar. Përsëri, kjo mund të zgjasë disa minuta, sepse hera e parë që daemon ekzekutohet në server, ai krijon një skedar rndc.key.
shërbimi me emrin start
Ashtu si në serverin e parë cloud, kontrolloni nëse daemon i emëruar po funksionon:
chkconfig emërtuar në
Serveri dytësor i emrave tani është gati për të funksionuar. Për t'u siguruar që funksionon siç pritej, përdorni komandën e mëposhtme, duke zëvendësuar 2.2.2.2 me adresën IP të serverit të dytë cloud.
gërmoni @2.2.2.2 mydomain.com
Pasi të keni bërë ndonjë ndryshim në skedarët e zonës së serverit primar, duhet të rinisni BIND. Mos harroni se ju gjithashtu duhet të rritni direktivën serike për të siguruar që serverët primar dhe sekondarë të funksionojnë në mënyrë sinkrone.
Për të rifilluar skedarët e zonës, përdorni komandën e mëposhtme fillimisht në master dhe më pas në slave:
BIND në mjedisin chroot
Në CentOS kjo është shumë e lehtë. Vetëm vini re se shtigjet aktive BIND do të zëvendësohen me ekuivalente chroot (për shembull, var/named bëhet /var/named/chroot/var/named). Në CentOS 6, nuk keni nevojë të zhvendosni asnjë skedar sepse paketa do të krijojë automatikisht lidhje simbolike me drejtoritë jo-chroot.
Për të aktivizuar këtë veçori përdorni:
yum install bind-chroot -y
shërbimi me emrin rinisje
Ne paraqesim në vëmendjen tuaj një kurs të ri nga ekipi Codeby- "Testimi i penetrimit të aplikacioneve në ueb nga e para." Teoria e përgjithshme, përgatitja e mjedisit të punës, fuzzimi pasiv dhe marrja e gjurmëve të gishtave, fuzzimi aktiv, dobësitë, post-shfrytëzimi, mjetet, inxhinieria sociale dhe shumë më tepër.
Domenet kanë të paktën dy serverë DNS, njëri i quajtur serveri kryesor i emrave (ns1) dhe tjetri i quajtur serveri dytësor i emrave (ns2). Serverët dytësorë zakonisht përdoren kur ka probleme me serverin kryesor DNS: nëse një server nuk është i disponueshëm, i dyti bëhet aktiv. Skema më komplekse janë gjithashtu të mundshme duke përdorur balancimin e ngarkesës, muret e zjarrit dhe grupimet.
Të gjitha regjistrimet DNS për një domen të caktuar shtohen në serverin kryesor të emrave. Serveri sekondar thjesht sinkronizon të gjithë informacionin e marrë nga serveri primar, bazuar në parametrat e specifikuar në serverin primar.
Ky udhëzim do të përshkruajë, si të krijoni një server kryesor DNS që funksionon në CentOS. Ju lutemi vini re se serveri DNS i paraqitur në këtë udhëzues do të jetë një DNS publik, që do të thotë se serveri do t'i përgjigjet kërkesave nga çdo adresë IP. Si të kufizoni aksesin në server përshkruhet në këtë manual.
Para se të fillojmë, dua të përmend se DNS mund të instalohet me ose pa një mjedis chroot jail. Një mjedis chroot jail kufizon serverin DNS në një drejtori specifike në sistem, në krahasim me aksesin e plotë të sistemit në server. Në këtë mënyrë, çdo cenueshmëri e serverit DNS nuk do të komprometojë të gjithë sistemin. Kufizimi i serverit DNS në një drejtori specifike (një proces i quajtur chrooting) është gjithashtu i dobishëm në cilësimet e testimit.
Synimi
Ne do të konfigurojmë një server DNS në kushte testimi për domenin shembull.tst, i cili është një domen hipotetik (jo-ekzistent). Në këtë mënyrë, ne nuk do të ndërhyjmë rastësisht me ndonjë domen real.
Ekzistojnë tre serverë të mëposhtëm në këtë domen.
Serveri | adresa IP | Shërbimet e Pritura | FQDN |
Serveri A | 172.16.1.1 | Postë | mail.shembull.tst |
Serveri B | 172.16.1.2 | Ueb, FTP | www.example.tst ftp.example.tst |
Serveri C | 172.16.1.3 | Serveri kryesor DNS | ns1.shembull.tst |
Ne do të konfigurojmë serverin kryesor DNS dhe do të shtojmë domenin e kërkuar dhe të dhënat DNS siç tregohet në tabelë.
Vendosja e emrave të hosteve
Të gjithë hostet duhet të identifikohen saktë në termat e FQDN. Kjo mund të bëhet duke përdorur metodën e mëposhtme.
Ata që pëlqejnë një ndërfaqe grafike mund të përdorin mjetet NetworkManaget. Për ta bërë këtë, shkruani komandën nmtui. Ndërfaqja pseudografike e mëposhtme do të hapet:
Zgjidhni "Ndrysho emrin e hostit" dhe futni ns1.example.tst
Kur të jetë gati, klikoni OK.
Një mënyrë tjetër, me vetëm një komandë:
Hostnamectl set-hostname ns1.example.tst
Pasi të instalohet, emri i hostit mund të kontrollohet me komandën e mëposhtme.
# emri i hostit ns1.example.tst
Statusi i hostnamectl
Përpara se të kaloni në hapin tjetër, sigurohuni që emri i hostit për të gjithë serverët të jetë vendosur siç duhet.
Instalimi i paketave
Ne do të përdorim bind për DNS, i cili mund të vendoset lehtësisht me komandën yum.
Instalimi i DNS pa chroot:
# yum install bind
Vendosja e DNS me chroot:
# yum install bind bind-chroot
Përgatitja e skedarëve të konfigurimit
Siç u përmend më herët, bind mund të konfigurohet me ose pa chroot. Shtigjet ndryshojnë pak në varësi të faktit nëse chroot është instaluar.
Rruga drejt skedarit të konfigurimit | Rruga drejt skedarëve të zonës | |
Pa chroot | /etj/ | /var/named/ |
Me chroot | /var/named/chroot/etc/ | /var/named/chroot/var/named/ |
Ju mund të përdorni skedarin e konfigurimit named.conf, i cili ofrohet si parazgjedhje. Megjithatë, ne do të përdorim një skedar tjetër konfigurimi shembull për lehtësinë e përdorimit.
Bërja e një kopje rezervë të skedarit /etc/named.conf
Cp /etc/named.conf /etc/named.conf.bak
# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf
# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf
Tani që ka një kopje rezervë të skedarit të konfigurimit dhe vetë skedari origjinal është ndryshuar, ne vazhdojmë.
# vim /etc/named.conf
# vim /var/named/chroot/etc/named.conf
Rreshtat e mëposhtëm janë shtuar/ndryshuar.
Opsionet (## shteg për skedarët e zonës ## direktoria "/var/named"; ## dërgoni kërkesat te serveri publik DNS i Google për domenet jo-lokale ## përcjellës ( 8.8.8.8; ); ); ## deklarimi i një zone direkte për shembull.tst ## zona "example.tst" IN ( shkruani master; skedari "example-fz"; skedari ## për zonën e drejtpërdrejtë ndodhet në /var/me emrin ## lejo-përditësim ( asnje; ) ; ); ## deklarimi i një zone të kundërt për rrjetin 172.16.1.0 ## zona "1.16.172.in-addr.arpa" IN ( shkruani master; skedari "rz-172-16-1"; skedari ## për zonën e kundërt është ndodhet në /var /me emrin ## allow-update ( asnjë; ); );
Përgatitja e skedarëve të zonës
Skedarët e zonës së parazgjedhur krijohen automatikisht në /var/named ose /var/named/chroot/var/named (për chroot).
Duke supozuar se skedarët e zonës së paracaktuar nuk janë të pranishëm, ne mund të kopjojmë skedarët e mostrës nga /usr.
# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/
# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named
E madhe. Tani skedarët e zonës së paracaktuar janë gati, ne krijojmë skedarët tanë të zonës për shembull.tst dhe rrjetin 172.16.1.0. Ndërsa krijojmë skedarë zonale, duhet të kujtojmë sa vijon.
- Simboli '@' do të thotë NULL në skedarët e zonës.
- Çdo hyrje Plotësisht e Kualifikuar Domain Name (FQDN) përfundon me një pikë '.' për shembull. mail.shembull.tst. Pa pikë, do të ketë probleme.
1. Zonë e drejtpërdrejtë
Zona e drejtpërdrejtë përmban një hartë të përkthimeve nga emrat në adresat IP. Për domenet publike, domenet DNS të pritura në shërbimet e pritjes përmbahen në skedarin e zonës direkte.
# vim /var/named/shembull-fz
# vim /var/named/chroot/var/named/example-fz $TTL 1D @ NË SOA ns1.example.tst. mial.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. IN A 172.16.1.3 mail IN A 172.16.1.1 IN MX 10 mail.example.tst. www IN A 172.16.1.2 ns1 IN A 172.16.1.3 ftp IN CNAME www.example.tst.
Shpjegim: Brenda një skedari zone, SOA nënkupton fillimin e autorizimit. Ky është emri i domain-it plotësisht i kualifikuar i një serveri autoritar të emrave. Pas emrit të plotë të domenit ka një adresë emaili kontakti. Meqenëse nuk mund të përdorim '@' në [email i mbrojtur], ne e rishkruajmë adresën e emailit si mial.example.tst.
- N.S.: Emri i serverit
- A: Një rekord ose regjistrim adrese është një adresë IP
- MX: Hyrja në shkëmbyesin e postës. Këtu përdorim vetëm një MX me prioritet 10. Në rast të MX-ve të shumta, mund të përdorim prioritete të ndryshme dixhitale. Numri i poshtëm fiton. Për shembull, MX 0 është më i mirë se MX 1.
- CNAME: emër në trajtë kanonike. Nëse një server pret shumë shërbime, ka shumë të ngjarë që shumë emra të zgjidhen në një server të vetëm. CNAME sinjalizon që serveri mund të ketë emra të tjerë dhe i referohet emrit që gjendet në rekordin A.
2. Zona e kundërt
Zona e kundërt përmban një hartë të konvertimeve nga adresat IP në emra. Këtu krijojmë një zonë të kundërt për rrjetin 172.16.1.0. Në një domen real, serveri DNS i pronarit të bllokut publik IP gjendet në skedarin e zonës së kundërt.
# vim /var/named/rz-172-16-1
# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ NË SOA ns1.example.tst. sarmed.shembull.tst. (0; serial 1D; rifresko 1H; riprovo 1W; skadon 3H) ; minimumi IN NS ns1.shembull.tst. 1 NË PTR mail.example.tst. 2 NË PTR www.example.tst. 3 NË PTR ns1.shembull.tst.
Shpjegim: Shumica e parametrave të përdorur në zonën e kundërt janë identike me zonën përpara, me përjashtim të njërit.
- PTR: PTR ose regjistrimi i treguesit, ai tregon emrin e domain-it plotësisht të kualifikuar
Përfundimi
Tani që skedarët e zonës janë gati, ne do të konfigurojmë rezolucionin e skedarëve të zonës.
# chgrp me emrin /var/named/*
# chgrp me emrin /var/named/chroot/var/named/*
Tani do të vendosim adresën IP të serverit DNS.
# vim /etc/resolv.conf serveri i emrave 172.16.1.3
Më në fund, ne mund të nisim shërbimin DNS dhe të sigurohemi që ai të shtohet në autostart.
# shërbim me emrin rinisje # chkconfig emërtuar në
Testimi DNS
Ne mund të përdorim dig ose nslookup për të testuar DNS. Së pari, ne do të instalojmë paketat e nevojshme.
# yum install bind-utils
1. Testimi i drejtpërdrejtë i zonës duke përdorur dig
# dig shembull.tst ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3
2. Kontrolloni PTR duke përdorur dig
Kur përdorni dig për testim, gjithmonë duhet të kërkoni statusin "NOERROR". Çdo kusht tjetër do të thotë se diçka nuk është në rregull.
# dig -x 172.16.1.1 ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3
3. Kontrollimi i MX duke përdorur dig
# dig shembull.tst mx ;; ->>KOKË<<- opcode: QUERY, status: NOERROR, id: 35405
;; QUESTION SECTION:
;example.tst. IN MX
;; ANSWER SECTION:
example.tst. 14366 IN MX 10 mail.example.tst.
Këshilla për zgjidhjen e problemeve
- Unë kam SELinux të çaktivizuar.
- Sigurohuni që muri juaj i zjarrit të mos bllokojë portin UDP 53
- /var/log/messages duhet të përmbajë informacion të dobishëm në rast se diçka nuk shkon
- Sigurohuni që pronari i skedarëve të zonës të jetë "me emrin e përdoruesit"
- Sigurohuni që adresa IP e serverit DNS është renditur së pari në /etc/resolv.conf
- Nëse po përdorni shembull.tst në një mjedis laboratorik, sigurohuni që ta shkëputni serverin nga Interneti sepse example.tst është një domen që nuk ekziston.
Për ta përmbledhur, ky udhëzues fokusohet në pritjen e domenit shembull.tst në një mjedis laboratori për qëllime demonstrimi. Ju lutemi mbani mend se ky nuk është një udhëzues për krijimin e një serveri publik DNS, si p.sh. një server DNS që u përgjigjet kërkesave nga çdo adresë IP. Nëse po konfiguroni një server DNS prodhimi, sigurohuni që të kontrolloni se cilat politika zbatohen për DNS publike. Një mësim tjetër përfshin krijimin e një DNS dytësor, kufizimin e aksesit në serverin DNS dhe zbatimin e DNSSEC.
Garantuesi është një ndërmjetës i besueshëm ndërmjet pjesëmarrësve gjatë transaksionit.