Slabosti DNS
Sistem za reševanje imen DNS, ki je eden od temeljev sodobnega sistema omrežnih interakcij, je bil razvit pred več kot 20 leti, ko o vprašanjih varstva informacij skorajda ni bilo razmišljanja. Ena glavnih pomanjkljivosti sistema DNS je zmožnost ponarejanja odgovora na poizvedbo DNS.
Težava je v tem, da odziva strežnika DNS na noben način ne preverimo, to pomeni, da lahko v primeru, da DNS strežnik (in ga preusmerite na napačne DNS strežnike), ponaredite DNS zapis, zastrupite DNS predpomnilnik (zastrupitev z DNS predpomnilnikom), uporabnika lahko pošljete na katero koli IP naslov in uporabnik bo popolnoma prepričan, da sodeluje z zakonitim spletnim mestom ali storitvijo. Te metode široko uporabljajo kibernetski kriminalci, preusmerjanje uporabnikov na spletna mesta, ki vsebujejo zlonamerne kode ali zbiranje njihovih osebnih podatkov (gesla, številke kreditnih kartic ipd.) Z uporabo t.i. pharming napadi.
Zakaj potrebujete tehnologijo DNSSEC?
DNS varnostne razširitve (DNSSEC) - tehnologija je zasnovana za izboljšanje varnosti storitve DNS z uporabo kriptografskih podpisov, ki bodo nedvoumno preverili verodostojnost informacij, prejetih s strežnika DNS. I.e. vse zahteve in odgovori strežnika DNS s podporo DNSSEC morajo imeti digitalni podpis, katerega veljavnost lahko stranka preveri z javnim ključem. Ti digitalni podpisi nastanejo ob podpisu območja (nanj se uporabi DNSSEC).
Poenostavljeni mehanizem za preverjanje DNSSEC deluje tako: odjemalec pošlje zahtevo strežniku DNS, strežnik vrne digitalno podpisan odgovor DNS. Ker odjemalec ima javni ključ certifikacijskega organa, ki je podpisal zapise DNS, lahko dešifrira podpis (vrednost hash) in preveri odziv DNS. V ta namen morata biti tako odjemalec kot strežnik DNS konfigurirana za uporabo istega sidra zaupanja. Zaupajte sidru - Vnaprej konfiguriran javni ključ, povezan z določeno cono DNS. Če strežnik DNS podpira več con, lahko uporabite več sidrišč..
Pomembno je opozoriti, da je glavni namen DNSSEC zaščita pred ponarejanjem in spreminjanjem DNS poizvedb in odgovorov. Toda podatki, poslani po omrežju, sami niso šifrirani (čeprav lahko zaupnost poslanih podatkov DNS zagotovite s šifriranjem, vendar to ni obvezno in ni glavni cilj DNSSEC).
Osnovne komponente DNSSEC so opredeljene v naslednjih standardih RFC:
- RFC 4033
- RFC 4034
- RFC 4035
DNSSEC v sistemih Windows
Podpora tehnologija DNSSEC se je pojavila v sistemih Windows Server 2008 R2 in Windows 7. Vendar zaradi zapletenosti in neočitnosti nastavitev ni bila široko uporabljena. DNSSEC je svoj nadaljnji razvoj prejel v sistemu Windows Server 2012, v katerem je bila funkcionalnost DNSSEC bistveno razširjena in predlaga možnost konfiguriranja prek grafičnega vmesnika.
V tem članku bomo opisali osnovno namestitev in konfiguracijo DNSSEC, ki temelji na strežniku DNS, v katerem je nameščen Windows Server 2012, ustvarili podpisano območje in točke zaupanja.
Nameščanje in konfiguriranje DNSSEC v sistemu Windows Server 2012
Ustvarite novo cono DNS dnssec.contoso.com in ji dodajte en zapis strežnika SRV12 z naslovom 192.168.1.14.
Opomba. V operacijskem sistemu Windows 8/2012 je namesto z orodjem nslookup bolje uporabiti Powershell cmdlet Resolve-DnsName za pridobivanje informacij s strežnika DNS.Resolve-DnsName srv12.dnssec.contoso.com -Server SRV12-SUB-CA -DnssecOk
Ker cona ni podpisana, zahteva ne bo vrnila zapisov RRSIG.
Digitalno bomo podpisali notranjo DNS cono dnssec.contoso.com. Če želite to narediti, v konzoli DNS z desno miškino tipko kliknite območje in izberite DNSSEC-> Podpiši cono.
V prikazanem Čarovniku za podpisovanje v cone pustite vse privzete nastavitve (Uporabite privzete nastavitve za podpis območja) -> Naprej -> Naprej -> Končaj.
Ko se čarovnik konča, se v podpisanem območju samodejno ustvarijo naslednji novi zapisi virov:
- RRSIG (Resource Read Signature) - Podpis zapisa vira
- DNSKEY (javni ključ) - shrani javni del ključa in njegove identifikatorje
- DS (podpisnik delegacije) - vsebuje hash domenskega imena dediča in njegov ključ KSK
- NSEC (Next Secure) in NSEC3 (Next Secure 3) - uporabljata se za zanesljivo zaščito pred napadi prevare
Po podpisu cone se javni ključ shrani v datoteko% windir% \ system32 \ dns \ keyset-dnssec.
V DNS uvozimo javni ključ cone (isto sidro zaupanja) tako, da odpremo razdelek Trust Point na konzoli DNS, izberemo uvoz -> DNSKEY in določimo pot do datoteke keyset-dnssec.
Opomba. Ta ključ je treba razdeliti vsem strežnikom DNS, ki bodo sodelovali pri varnem predpomnjenju podatkov podpisanih območij.Kot rezultat uvoza ključa se v razdelku Točke zaupanja -> dnssec prikažeta dve tipki DNSKEY (ena tipka je aktivna, druga pa je v pripravljenosti).
V operacijskem sistemu Windows Server 2012 je mogoče samodejno kopirati ključe Trust Anchors na vse krmilnike domen v gozdu, ki služijo tej coni DNS. Če želite to narediti, v lastnostih želenega območja (dnssec) na zavihku Zaupajte sidru omogoči možnost Omogočite distribucijo skrbniških sidrov za to cono in shranite spremembe.
Poskusimo še enkrat zaslišati to območje od odjemalca.
Kot lahko vidimo, v odzivu strežnika DNS obstajajo informacije o zapisu RRSIG in digitalnem podpisu.
Konfiguriranje odjemalcev WIndows za uporabo DNSSEC
Da bi odjemalci operacijskega sistema Windows prisilili samo zahteve po "varnem" (DNSSEC), tj. sprejemajo podatke DNS samo, če je njihov digitalni podpis pravilen, potrebno je uporabiti NRPT (Tabela pravilnikov o imenih) s pomočjo GPO.
Če želite to narediti, v razdelku GPO Konfiguracija računalnika -> Polices -> Windows Settings -> Policy Resolution Policy na zavihku DNSSEC omogoči možnosti:
- V tem pravilu omogočite DNSSEC
- Odjemalci DNS zahtevajo, da preverijo, ali je ime in podatke naslova potrdil DNS strežnik
Ostaja, da politiko dodelimo želenemu OU. Po uporabi pravilnika preverite, ali je odjemalec konfiguriran za uporabo "varnega" DNS:
Get-DnsClientNrptPolicy
Vrednost DNSSecValidationRequired = Res, t.j. odjemalec potrebuje potrjene odzive DNS.
V primeru, da odgovor, prejet s strežnika DNS, ni podpisan ali so potrdila podpisana nepravilno, ukaz vrne napako Nezavarovani paket DNS.
DNSSEC za zunanja območja
Če bo strežnik DNS zahteval obvezno preverjanje DNSSEC za zunanje cone, morate v njegovih lastnostih na zavihku Napredno omogoči možnost Omogoči preverjanje DNSSEC za oddaljene odzive.
Sidrja zaupanja korenske cone lahko uvozite ročno (opisano zgoraj) ali z ukazom:
dnscmd / RetrieveRootTrustAnchorsNamig. Da bi DNSSEC pravilno deloval, morate spremeniti požarne zidove:
- Odprite vrata 53 na obeh straneh protokolov TCP in UDP
- Ker velikost podatkov v paketu DNSSec presega 512 bajtov, potrebno je omogočiti prehod paketov DNS več kot 512 bajtov po UDP in TCP