Aquí tens alguns exemples pràctics de com implementar i utilitzar mesures de seguretat per al DNS:
1. Implementació de DNSSEC:
Exemple Pràctic:
- Configuració de DNSSEC en BIND: Si utilitzeu BIND com servidor DNS, podeu seguir aquests passos:
- Generar Clau ZSign: Utilitzeu l'eina dnssec-keygen per crear claus ZSK (Zone Signing Key) i KSK (Key Signing Key).
dnssec-keygen -a RSASHA256 -b 1024 -n ZONE example.com dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE example.com
- Signar la Zona: Utilitzeu dnssec-signzone per signar la zona amb aquestes claus.
dnssec-signzone -o example.com -k Kexample.com.+008+12345.key Kexample.com.+008+67890.key example.com.zone
- Actualitzar el Servidor DNS: Actualitzeu el servidor DNS per utilitzar la zona signada i assegureu-vos que les claus públiques estan disponibles per a la validació.
2. Configuració de DNS sobre HTTPS (DoH):
Exemple Pràctic:
- Firefox amb DoH:
- Navegueu a about:config en Firefox, cerqueu network.trr.mode i establiu-lo a 2 per activar DoH exclusivament.
- Configureu network.trr.uri amb l'URL del proveïdor de DoH, per exemple, https://mozilla.cloudflare-dns.com/dns-query.
3. Implementació de DNS sobre TLS (DoT):
Exemple Pràctic:
- Configuració de Unbound com a Resolver DoT:
- Assegureu-vos que teniu Unbound instal·lat.
- Editeu el fitxer de configuració /etc/unbound/unbound.conf per afegir:
server: tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt" forward-tls-upstream: yes forward-zone: name: "." forward-tls-upstream: yes forward-addr: 1.1.1.1@853 # Cloudflare DoT server forward-addr: 1.0.0.1@853 # Cloudflare DoT server backup
- Reinicieu Unbound per aplicar els canvis.
4. Filtratge de DNS amb Pi-hole:
Exemple Pràctic:
- Pi-hole per Bloquejar Dominis Maliciosos:
- Instal·leu Pi-hole en un Raspberry Pi o en un servidor.
- Utilitzeu la interfície web de Pi-hole per gestionar llistes de bloqueig. Afegiu llistes conegudes de dominis maliciosos o personalitzeu-les per a les vostres necessitats.
- Configureu els clients de la xarxa perquè utilitzin Pi-hole com a servidor DNS per filtrar automàticament el tràfic DNS.
5. Monitorització i Anàlisi de DNS:
Exemple Pràctic:
- Anàlisi amb ELK Stack (Elasticsearch, Logstash, Kibana):
- Configureu Logstash per rebre logs de DNS des dels vostres servidors DNS o resolutors.
- Utilitzeu un filtre en Logstash per processar les dades DNS:ruby
input { udp { port => 514 type => "syslog" } } filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:hostname} %{DATA:program}: %{GREEDYDATA:message}" } } if [message] =~ /query/ { grok { match => { "message" => "query\[%{IPORHOST:query_type}\]: %{DATA:domain} IN %{DATA:qtype}" } } } } } output { elasticsearch { hosts => ["localhost:9200"] } }
- Visualitzeu les dades en Kibana per detectar patrons anòmals o dominis sospitosos.
6. Polítiques de Resolució DNS:
Exemple Pràctic:
- Utilitzar RPZ (Response Policy Zone) en BIND:
- Configureu RPZ per redirigir o bloquejar consultes a dominis coneguts per ser maliciosos:
zone "rpz.example.com" { type master; file "/etc/bind/db.rpz"; };
- En db.rpz:
$TTL 1H @ IN SOA localhost. root.localhost. 1 6H 1H 1W 1H *.malicious-domain.com. CNAME .
Aquests exemples mostren com es poden implementar diferents aspectes de la seguretat de DNS en entorns pràctics, des de la configuració de protocols segurs fins a la monitorització i el filtratge de contingut.