Puncte:2

Este DNSSEC util?

drapel fr

DNSSEC validează și autentifică datele de zonă cu scopul de a se asigura că, indiferent de rezultatele DNS, acestea sunt autentice.

  1. Chiar dacă un rezolutor DNS validează faptul că un server de nume autorizat a trimis datele corecte nemodificate, cum împiedicăm rezolutorul DNS să trimită răspuns DNS manipulat clientului DNS?

  2. Dacă rezolutorul DNS nu acceptă DNSSEC, mai poate trimite interogări DNS către un server de nume autorizat care are DNSSEC activat pentru zona sa?

Mulțumesc

drapel cn
1. este destul de ușor. Validarea și executarea trebuie să se facă pe client. Perioadă. Windows poate face acest lucru în mod nativ, nu sunt sigur despre Linux sau alte platforme.
Patrick Mevzek avatar
drapel cn
@GregAskew Doar instalați nelegat și poate valida totul local.
Puncte:2
drapel cn

este DNSSEC util?

La asta nu se poate răspunde (pentru orice cuvânt ai pune în loc de „DNSSEC” în acea propoziție) până când nu începi să descrii împotriva a ceea ce vrei să aperi.

Când ai lista riscurilor/vulnerabilităților/amenințărilor față de care vrei să te aperi atunci poți afla ce soluții există și poți stabili pentru fiecare soluție cât de utilă este sau nu.

DNSSEC este util împotriva unor probleme DNS, dar nu pentru toate. Se introduce probleme noi (întreținerea continuă a semnăturilor și cheilor pentru unul), dar și funcții noi (memorizarea agresivă în cache a tot ce se află sub un NXDOMAIN dacă este validat corespunzător de DNSSEC).

Chiar dacă un rezolutor DNS validează faptul că un server de nume autorizat a trimis datele corecte nemodificate - cum împiedicăm rezolutorul DNS să trimită răspuns DNS falsificat clientului DNS?

Acest lucru nu este nimic diferit de azi: dacă utilizați orice rezolutor DNS public (8.8.8.8, 1.1.1.1, 9.9.9.9 pentru a numi câteva), desigur că sunteți COMPLET în riscul ca acesta să vă trimită date gunoi. Acesta este un compromis. DoH/DoT nu rezolvă nimic aici, deoarece va proteja doar transmisia de conținut între dvs. și acest solutor, nu și conținutul în sine. Ce conținut este „protejat” de DNSSEC, atâta timp cât numele de domeniu pentru care efectuați interogări este protejat DNSSEC (care este o parte pe care o uitați în întrebări și care îngreunează de fapt DNSSEC: proprietarul numelui de domeniu trebuie să îl activeze ȘI Rezolvatorii DNS trebuie să utilizeze noile semnături și să facă validarea; dacă o parte a acestei ecuații cu 2 variabile nu este acolo, DNSSEC nu este util, deoarece pur și simplu nu poate funcționa)

Deci întrebarea se învârte mai mult în jurul: ce server de nume recursiv să folosească și unde ar trebui să ruleze. Desigur, pentru un control maxim, doriți ca solutorul să ruleze pe mașinile DVS. Poate folosi în continuare resurse externe și soluții DNS acolo, dar validarea finală DNSSEC ar trebui să aibă loc pe serverul dvs. de nume, nu pe alții. Desigur, aceasta este mai multă muncă decât să te bazezi pe orice altă resursă care face toate lucrurile DNSSEC „gratuit” pentru tine.

dacă rezolutorul DNS nu acceptă DNSSEC, mai poate trimite interogări DNS către un server de nume autorizat care are configurat DNSSEC pentru zona sa?

Da. Un rezolutor care dorește să aibă date DNSSEC trebuie să comute indicatorul „DO” în cererea sa.

Din săpa documentație:

        +[nu]dnssec
         Această opțiune solicită ca înregistrările DNSSEC să fie trimise prin setarea bitului DNSSEC OK (DO) în înregistrarea OPT din secțiunea suplimentară a interogării.

Pe care îl puteți vedea așa:

$ dig +dnssec example.com

; <<>> DiG 9.16.18 <<>> +dnssec example.com
;; opțiuni globale: +cmd
;; Se trimite:
;; ->>HEADER<<- opcode: QUERY, stare: NOERROR, id: 40492
;; steaguri: rd ad; ÎNTREBARE: 1, RĂSPUNS: 0, AUTORITATE: 0, SUPLIMENTARE: 1

;; PSEUDOSECȚIE OPT:
; EDNS: versiunea: 0, steaguri: do; udp: 4096
                           ^^

Sau din §3.2.1 din RFC 4035:

3.2.1. Bitul DO

Partea de rezoluție a unui server de nume recursiv conștient de securitate TREBUIE setat bitul DO la trimiterea cererilor, indiferent de starea DO bit în cererea de inițiere primită de partea serverului de nume. Dacă bitul DO dintr-o interogare de inițiere nu este setat, partea serverului de nume TREBUIE să elimine orice RR DNSSEC de autentificare din răspuns, dar TREBUIE NU eliminați orice tip DNSSEC RR care interogarea inițială în mod explicit solicitat.

Dacă clientul DNS (resolvent recursiv) face acest lucru ȘI dacă serverul de nume autorizat care este interogat are DNSSEC activat (deci RRSIG/NSEC/NSEC3 tipuri de înregistrări în zone), atunci rezolutorul va obține acele înregistrări și apoi poate face validarea DNSSEC.

Când (un stub/client DNS nu este un rezolutor) interogați un rezolutor recursiv, aveți opțiunea de a utiliza CD steag, definit astfel:

        +[nu]cdflag
        Această opțiune setează [sau nu setează] bitul CD (verificarea dezactivată) în interogare. Acest lucru solicită serverului să nu efectueze validarea DNSSEC a răspunsurilor.

(atentie la posibila dubla negatie).

Dacă clientul nu utilizează CD, atunci validarea DNSSEC NU este dezactivată, prin urmare este activată și serverul de eliminare fie va furniza răspunsul final (dacă DNSSEC este activat pentru înregistrare ȘI validarea a fost un succes) sau va răspunde cu NXDOMAIN dacă validarea DNSSEC a eșuat. Steagul ANUNȚ va fi setat să indice că toate înregistrările au fost validate ca fiind sigure, dacă este cazul (dacă interogarea provine de la un server de nume recursiv, acel flag nu poate exista de la unul autorizat, deoarece aveți nevoie de lanțul DNSSEC complet de la rădăcina IANA pentru a valida orice înregistrare dată)

Puncte:1
drapel cn
  1. În mod ideal, validați local pe client (nu chiar atât de comun astăzi, dar departe de a fi nemaiauzit), sau vă bazați altfel pe o cale de rețea sigură care poate reduce decalajul de la client la un solutor de validare de încredere.
    Această cale de rețea sigură ar putea însemna ceva de genul DNS-over-TLS, DNS-over-HTTPS, DNSCrypt sau într-o oarecare măsură o rețea locală (nivel mai slab de încredere, dar totuși util pentru un subset de scenarii de atac).
  2. da
drapel cn
Pentru 1. Cred că implementările DNSSEC care nu se validează pe client sunt periculoase. Aceasta este, de asemenea, specifică platformei. Există mai multe puncte finale Windows la distanță, așa că acolo este riscul. Validarea clientului pe Windows este ușor de configurat și nu ar fi pur și simplu greșit. Nu este un scenariu totul sau nimic. Din perspectiva clientului Windows, cea mai mare parte a expunerii la risc este cu domeniile interne, așa că dacă numai acestea ar fi aplicate ar fi un început bun. Pe partea de server, toate rotațiile cheilor sunt automatizate, așa că funcționează destul de mult, doar ajungeți cu un camion încărcat mai multe înregistrări DNS și lățime de bandă utilizată.
drapel cn
@GregAskew Aveți indicații despre cum se face acest lucru pe Windows?
drapel cn
Tabel cu politici de rezoluție a numelor. Puteți solicita DNSSEC/IPSEC pentru numele de domeniu. https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn593632(v=ws.11)
drapel cn
@GregAskew Vă mulțumim pentru clarificare.Cu toate acestea, am văzut acele setări, dar, după înțelesul meu, opțiunea „necesită validare” nu înseamnă să facem validarea clientului, ci că clientul necesită setarea steagului „AD”? Această abordare este problematică atât prin faptul că se bazează complet pe faptul că traficul către solutorul configurat este protejat de manipulare, dar este, de asemenea, imposibil să activați acea opțiune la nivel global, deoarece va elimina orice nu este semnat, spre deosebire de comportamentul normal de validare de eliminare a lucrurilor. care sunt false (adică ar trebui să fie semnate, dar nu au o semnătură validă)
drapel cn
@GregAskew Pe de altă parte, opțiunea IPSec aterizează ferm în abordarea „creează o cale de rețea sigură către un resolver de încredere” pe care am sugerat-o în răspunsul meu. IPSec funcționează cu siguranță pentru a face asta, deși este destul de specific pentru ceva pe care îl puteți configura cu propria infrastructură, mai degrabă decât să vă așteptați să ofere orice alt furnizor de servicii (ceea ce este în regulă, limitează doar domeniul de aplicare acolo unde este aplicabil). Dar una peste alta, nici una dintre opțiuni nu pare să ofere validare asupra clientului, din câte îmi dau seama?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.