Cloud & IT Cert Prep · Oppitunti

Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)

Opi, miten DNSSEC estää DNS-välimuistin myrkyttämisen ja miten DNS over HTTPS sekä DNS over TLS suojaavat kyselyiden yksityisyyttä liikenteen välissä olevilta tarkkailijoilta.

Oppitunti 3/413 vaihetta

Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH) on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

DNS:n tietoturvahaasteet

Domain Name System (DNS) muuntaa ihmisluettavat toimialuenimet IP-osoitteiksi. 1980-luvulla suunniteltu DNS rakennettiin ilman tietoturvaa — kyselyt ja vastaukset kulkevat UDP/TCP-portissa 53 salaamattomina ja ilman todennusta. Tämä aiheuttaa kaksi merkittävää haavoittuvuutta: DNS-välimuistin myrkyttäminen (väärennettyjen DNS-vastausten syöttäminen käyttäjien ohjaamiseksi haitallisille palvelimille) ja DNS:n salakuuntelu (käyttäjän kyselyjen kohteena olevien toimialueiden seuraaminen paljastaa hänen selaustoimintansa). Näihin uhkiin vastaavat kaksi standardia: DNSSEC estää väärentämisen ja DNS HTTPS:n yli (DoH) estää salakuuntelun.

DNS-välimuistin myrkyttäminen

DNS-välimuistin myrkyttäminen (Kaminsky-hyökkäys) hyödyntää DNS-protokollan todennuksen puutetta. Resolveri lähettää kyselyn auktoritatiiviselle DNS-palvelimelle ja tallentaa vastauksen välimuistiin TTL:n määrittämäksi ajaksi. Hyökkääjä, joka pystyy arvaamaan tapahtumatunnisteen (16-bittinen ja ennustettavissa) ja lähdeportin (jota käytetään lisäentropiana RFC 5452:n mukaisesti), voi lähettää väärennettyjä vastauksia, jotka resolveri tallentaa välimuistiin. Tällöin kaikki kyseistä resolveria käyttävät käyttäjät ohjataan hyökkääjän palvelimelle. Kun välimuisti on myrkytetty, käyttäjät ohjataan väärennetyille palvelimille, vaikka he kirjoittivat oikean toimialuenimen. DNSSEC estää tämän allekirjoittamalla DNS-vastaukset digitaalisesti.

# DNS cache poisoning simulation
# Attacker floods resolver with forged responses
# for the query 'A example.com?'

# Each response guesses a different transaction ID:
# ID=1234: example.com -> 198.51.100.1  (attacker IP)
# ID=1235: example.com -> 198.51.100.1
# ...
# ID=XXXX: example.com -> 198.51.100.1  (correct guess!)

# Resolver caches poisoned answer (TTL = 3600s)
# All users querying this resolver get attacker IP
# Users are redirected to phishing/malware server

DNSSEC: DNS Security Extensions

DNSSEC lisää DNS-tietueisiin kryptografiset allekirjoitukset, joiden avulla resolverit voivat varmistaa, että vastaukset ovat peräisin oikealta vyöhykkeen ylläpitäjältä eikä niitä ole muutettu. DNSSEC ottaa käyttöön uusia tietuetyyppejä: RRSIG (resurssitietueen allekirjoitus, tietuejoukon varsinainen allekirjoitus), DNSKEY (allekirjoitusten tarkistamiseen käytettävä julkinen avain), DS (delegoinnin allekirjoittaja, joka yhdistää isäntä- ja alivyöhykkeen avaimet) ja NSEC/NSEC3 (todennettu olemassaolon kiistäminen — osoittaa, ettei nimi ole olemassa). DNSSEC muodostaa luottamusketjun juurivyöhykkeestä (ICANN:n allekirjoittama) TLD- ja auktoritatiivisiin vyöhykkeisiin asti.

# Verify DNSSEC signature on a domain
dig +dnssec example.com A
# Look for 'ad' (authenticated data) flag in response
# and the RRSIG record alongside the A record

# Query for DNSKEY record
dig DNSKEY example.com

# Query for DS record at parent zone
dig DS example.com @a.iana-servers.net

# Full DNSSEC chain validation check
dig +sigchase +trusted-key=/.../root.key example.com A

DNSSEC-avaintyypit: KSK ja ZSK

DNSSEC käyttää kahdenlaisia allekirjoitusavaimia. Zone Signing Key (ZSK) allekirjoittaa yksittäiset DNS-tietuejoukot (RRSIG:t), ja se vaihdetaan usein (kuukausittain tai neljännesvuosittain), jotta toiminta pysyy joustavana. Key Signing Key (KSK) allekirjoittaa DNSKEY-tietuejoukon ja toimii vyöhykkeen luottamusankkurina. KSK vaihdetaan harvemmin (vuosittain), koska isäntävyöhykkeeseen on päivitettävä uusi DS-tietue aina KSK:n vaihtuessa — tämä edellyttää koordinointia. KSK varmentaa ZSK:n ja ZSK allekirjoittaa tiedot. Tämä kaksitasoinen rakenne tasapainottaa tietoturvan (ZSK:n tiheä vaihto) ja ylläpidon työmäärän (KSK:n harva vaihto).

DNSSEC:n rajoitukset

DNSSEC:llä on merkittäviä rajoituksia. Se ei salaa DNS-kyselyjä — se allekirjoittaa vastaukset vain eheyden varmistamiseksi. Salakuuntelija voi edelleen nähdä kaikki DNS-kyselyt, mutta ei voi väärentää vastauksia. Vyöhykkeen luettelointi: olemattomuuden osoittavat NSEC-tietueet mahdollistavat hyökkääjille vyöhykkeen läpikäynnin ja kaikkien sen sisältämien toimialuenimien luetteloinnin; NSEC3 lieventää tätä tiivistetyillä nimillä, mutta ei poista ongelmaa kokonaan. Ylläpidon monimutkaisuus: avainten hallinta, allekirjoitusten vanheneminen ja koordinointi isäntävyöhykkeen kanssa aiheuttavat huomattavan ylläpitotaakan. DNSSEC:n käyttöönotto on edelleen puutteellista — monet TLD:t ja rekisteröijät tukevat sitä, mutta monet organisaatiot eivät ole ottaneet sitä käyttöön.

DNS HTTPS:n yli (DoH)

DNS HTTPS:n yli (DoH) salaa DNS-kyselyt HTTPS:n sisällä (RFC 8484), jolloin verkon tarkkailijat eivät näe kyselyiden sisältöä. Kyselyt lähetetään DoH:ta tukevalle resolverille tavallisessa HTTPS-URL-osoitteessa, minkä ansiosta DNS-liikennettä ei voi erottaa muusta HTTPS-liikenteestä. Tämä estää Internet-palveluntarjoajia, työnantajia ja liikenteen välissä olevia hyökkääjiä näkemästä, mitä toimialueita käyttäjä kysyy — ja korjaa näin DNSSEC:n jättämän tietosuojapuutteen. DoH siirtää kuitenkin luottamuksen verkon DNS-resolverilta DoH-palveluntarjoajalle (yleensä Google 8.8.8.8:lle, Cloudflarelle 1.1.1.1:lle tai organisaation omalle DoH-resolverille). Useimmat suuret selaimet tukevat DoH:ta nykyään natiivisti.

# DoH query using curl
curl -H 'accept: application/dns-json' \
  'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

# DoH query via RFC 8484 (binary format)
curl -s -H 'Content-Type: application/dns-message' \
     -H 'Accept: application/dns-message' \
     --data-binary @query.bin \
     https://dns.google/dns-query

# Configure Firefox to use DoH
# about:config -> network.trr.uri
# Set to: https://mozilla.cloudflare-dns.com/dns-query

DNS TLS:n yli (DoT)

DNS TLS:n yli (DoT) (RFC 7858) salaa DNS-kyselyt TLS:n avulla erillisessä TCP-portissa 853 sen sijaan, että ne tunneloitaisiin HTTPS:n kautta. DoT tarjoaa samat tietosuojahyödyt kuin DoH — se piilottaa kyselyiden sisällön salakuuntelijoilta — mutta verkon ylläpitäjien on helpompi tunnistaa ja suodattaa se (portti 853 verrattuna porttiin 443). Tämä on kaksiteräinen miekka: yritysten palomuurit voivat estää DoT:n helposti, kun taas DoH:ta on vaikeampi estää vaikuttamatta yleiseen HTTPS-liikenteeseen. Stub-resolverit (käyttöjärjestelmätasolla) käyttävät tavallisemmin DoT:ta, kun taas selaimet käyttävät tavallisemmin DoH:ta.

# Test DoT connection using kdig
kdig -d @9.9.9.9 +tls-ca example.com A

# Test DoT using openssl
openssl s_client -connect 1.1.1.1:853
# Then type: query string in DNS wire format

# Configure systemd-resolved to use DoT (Linux)
# /etc/systemd/resolved.conf:
[Resolve]
DNS=9.9.9.9#dns.quad9.net
DNSOverTLS=yes

DoH ja DoT: yritysympäristöjen näkökohdat

Salattu DNS aiheuttaa haasteita yritysympäristöille, jotka ovat riippuvaisia DNS-pohjaisesta suodatuksesta ja sinkhole-ratkaisuista. Kun selaimet käyttävät ulkoisia DoH-resolvereita, sisäiset DNS-ohjauskeinot ohitetaan. Yritysten vastatoimia ovat seuraavat: ota käyttöön sisäinen DoH/DoT-resolveri (Cisco Umbrella, Pi-hole with DoH) ja määritä kaikki laitteet käyttämään sitä; estä ulkoisten DoH-resolvereiden IP-osoitteet palomuurissa (Google 8.8.8.8, Cloudflare 1.1.1.1) portissa 443; käytä Group Policya selaintason DoH:n poistamiseen käytöstä hallinnoiduissa päätelaitteissa; ja määritä transparent proxy -säännöt sieppaamaan DNS TLS:n yli portissa 853. Tavoitteena on ohjata kaikki DNS-liikenne hallitulle resolverille estämättä salattua DNS:ää kokonaan.

# Enterprise DoH bypass prevention
# Windows Group Policy:
# Computer Config > Admin Templates > Google Chrome
# 'DNS over HTTPS mode': Disabled
# 'DNS over HTTPS URI templates': <empty>

# Firewall: block known public DoH resolvers
iptables -I FORWARD -d 8.8.8.8 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 1.1.1.1 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 9.9.9.9 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 149.112.112.112 -p tcp --dport 443 -j DROP

# Redirect all DNS to corporate resolver
iptables -t nat -A PREROUTING -p udp --dport 53 \
  -j DNAT --to-destination 10.0.0.53:53

DNS-tietoturva käytännössä

Kattava DNS-tietoturvastrategia yhdistää useita hallintakeinoja. DNSSEC estää toimialueesi auktoritatiivisten vyöhykkeiden välimuistin myrkytyksen lisäämällä DNS-tietueisiin kryptografiset allekirjoitukset. DNS-pohjainen suodatus (Cisco Umbrella, Cloudflare Gateway) estää haitalliset toimialueet resolveritasolla. DoH/DoT hallittuun resolveriin tarjoaa kyselyiden tietosuojan ilman, että näkyvyys suodatukseen menetetään. DNS-lokitus SIEM-järjestelmään tallentaa kaikki kyselyt uhkien metsästystä varten — DNS-lokit paljastavat C2-liikennettä, tietojen luvatonta siirtoa DNS-tunneloinnin kautta sekä haittaohjelmien toimialueiden generointialgoritmin (DGA) mukaista toimintaa. DNS-telemetria on yksi arvokkaimmista käytettävissä olevista tietoturvan tietolähteistä.

DNS-tunneloinnin havaitseminen

DNS-tunnelointi koodaa tietoja DNS-kyselyihin ja -vastauksiin tietojen luvatonta siirtoa tai C2-kanavien muodostamista varten verkoissa, joissa muu lähtevä liikenne on estetty. Iodinen, DNScatin ja dnscat2:n kaltaiset työkalut koodaavat hyötykuormia alitoimialueiden nimiosiin (kysely esimerkiksi EXFILTRATEDDATA.evil.com) tai TXT-tietueisiin. Havaitsemisessa voidaan tarkkailla epätavallisen pitkiä DNS-kyselynimiä (>100 merkkiä), yhden isännän suurta kyselymäärää, kyselyitä olemattomille ylätason toimialueille, epätavallisia tietuetyyppejä (TXT, NULL) sekä toimialuenimien osien entropiaa (koodatun datan Shannonin entropia on suuri). DNS-tietoturvan analytiikka-alustat merkitsevät tunnelointikuviot automaattisesti.

# DNS tunneling detection indicators
# Flag queries with:
# 1. Query name > 100 characters
# 2. More than 50 queries/minute from single host
# 3. High-entropy domain labels (base64/hex patterns)
# 4. TXT or NULL record type queries (unusual)
# 5. Queries to domains with no web presence

# Example tunnel query (encoded payload)
# aGVsbG8gd29ybGQ.vGhpcyBpcyBkYXRh.evil-domain.com
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Base64 encoded 'hello world this is data'

DNS Response Policy Zones (RPZ)

DNS Response Policy Zones (RPZ) -toiminnolla DNS-resolverit voivat soveltaa DNS-vastauksiin paikallisia ohituskäytäntöjä — resolveritasolle voidaan näin luoda paikallinen sinkhole muuttamatta maailmanlaajuista DNS-infrastruktuuria. Kun asiakas kysyy tunnetusti haitallista toimialuetta, RPZ-käytäntö palauttaa NXDOMAIN-vastauksen, uudelleenohjauksen sinkhole-IP-osoitteeseen tai välityksen sellaisenaan. Uhkatiedustelupalveluntarjoajilta (Spamhaus, SURBL) on saatavana RPZ-syötteitä, jotka voidaan tuoda suoraan BIND- tai Unbound-resolvereihin. RPZ on tehokas puolustustyökalu, koska se suodattaa DNS-tasolla kaikki verkon laitteet ilman asiakaslaitteiden määrityksiä.

# BIND RPZ configuration snippet
# /etc/named.conf
response-policy {
  zone 'rpz.spamhaus.net';
  zone 'local-blocklist.internal';
};

# RPZ zone file (local-blocklist.internal)
$ORIGIN local-blocklist.internal.
@  SOA  ns1.company.com. admin.company.com. 2024010101 3600 600 86400 300
botnet-c2.evil IN CNAME .   # NXDOMAIN response
phishing-site.com IN A 10.0.0.99  # Redirect to sinkhole

Pikatesti

Testaa tämän oppitunnin CompTIA Security+ (SY0-701) -aiheiden ymmärryksesi.

Oppitunnin yhteenveto

Tässä oppitunnissa opit, että DNSSEC lisää DNS-tietueisiin kryptografiset allekirjoitukset KSK/ZSK-avainpareilla estääkseen välimuistin myrkytyksen, mutta ei salaa kyselyitä; DNS HTTPS:n yli (DoH) salaa DNS-kyselyt HTTPS:n sisällä estääkseen salakuuntelun, mutta aiheuttaa yritysympäristöissä suodatuksen ohittamiseen liittyviä riskejä; ja DNS-tunnelointi koodaa tietoja DNS-kyselyihin, ja se voidaan havaita analysoimalla kyselyiden pituutta, määrää ja entropiaa. Seuraavaksi tutustumme IPseciin, VPN-protokolliin ja etäkäytön tietoturvaan.

Aloita maksutta

Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
150
Oppitunnit
600

Usein kysytyt kysymykset

Onko oppitunti ”Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)” ilmainen?

Kyllä – oppitunnin ”Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)”?

Opi, miten DNSSEC estää DNS-välimuistin myrkyttämisen ja miten DNS over HTTPS sekä DNS over TLS suojaavat kyselyiden yksityisyyttä liikenteen välissä olevilta tarkkailijoilta. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?

Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Turvattomien protokollien korvaaminen: Telnet vs. SSH, FTP vs. SFTP
  2. TLS-versiot, salauspaketit ja täydellinen suojautuminen tulevaisuuden paljastumiselta
  3. Suojattu DNS: DNSSEC ja DNS over HTTPS (DoH)
  4. IPsec, VPN-protokollat ja etäkäytön tietoturva
← Takaisin: Cloud & IT Cert Prep