Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dns_isc_bind_archlinux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:dns_isc_bind_archlinux [2021/11/14 14:58] – [rndc sync] klaustachtler:dns_isc_bind_archlinux [2023/08/09 12:58] (aktuell) – [Vorbereitung: CSK] klaus
Zeile 30: Zeile 30:
  
 Folgender Befehl ist zur Installation auszuführen: Folgender Befehl ist zur Installation auszuführen:
 +<code>
 +# pacman --noconfirm -S bind
 +</code> 
 +++++ Installationsverlauf |
 <code> <code>
 # pacman --noconfirm -S bind # pacman --noconfirm -S bind
Zeile 62: Zeile 66:
 ==> root: 19 ==> root: 19
 </code> </code>
 +++++
  
 :!: **HINWEIS** - **Evtl. erschien ein Hinweis, das das Paket ''bind'' bereits installiert war, welcher ignoriert werden kann!** :!: **HINWEIS** - **Evtl. erschien ein Hinweis, das das Paket ''bind'' bereits installiert war, welcher ignoriert werden kann!**
  
 Mit nachfolgendem Befehl kann überprüft werden, was der Inhalt des Pakets ''bind'' war und was und vor allem wo installiert wurde: Mit nachfolgendem Befehl kann überprüft werden, was der Inhalt des Pakets ''bind'' war und was und vor allem wo installiert wurde:
 +<code>
 +# pacman -Qil bind
 +</code> 
 +++++ Installierte Dateien |
 <code> <code>
 # pacman -Qil bind # pacman -Qil bind
Zeile 506: Zeile 515:
 bind /var/named/localhost.zone bind /var/named/localhost.zone
 </code> </code>
 +++++
  
 Falls nicht durch die Installation bereits erfolgt, müssen nachfolgende **Besitz**- und **Datei**rechte für das Verzeichnis Falls nicht durch die Installation bereits erfolgt, müssen nachfolgende **Besitz**- und **Datei**rechte für das Verzeichnis
Zeile 1002: Zeile 1012:
   * **Zonen**-Datei für die **Reverse**-Auflösung - ''/var/named/zones/0.168.192.in-addr.arpa.zone''   * **Zonen**-Datei für die **Reverse**-Auflösung - ''/var/named/zones/0.168.192.in-addr.arpa.zone''
   * **Zonen**-Datei für die **Forward**-Auflösung - ''/var/named/zones/tachtler.net.zone''   * **Zonen**-Datei für die **Forward**-Auflösung - ''/var/named/zones/tachtler.net.zone''
-  * **Zonen**-Datei für die **Reverse**-Auflösung - ''/var/named/zones/171.217.88.in-addr.arpa.zone''+  * **Zonen**-Datei für die **Reverse**-Auflösung - ''/var/named/zones/167.171.217.88.in-addr.arpa.zone''
  
 Natürlich können diese Dateien im **Verzeichnis** Natürlich können diese Dateien im **Verzeichnis**
Zeile 1102: Zeile 1112:
  
 mx1                                   88.217.171.167 mx1                                   88.217.171.167
 +@ A 88.217.171.167
 </code> </code>
  
Zeile 1111: Zeile 1122:
 </code> </code>
  
-=== /var/named/zones/178.168.192.in-addr.arpa.zone ===+=== /var/named/zones/167.178.168.192.in-addr.arpa.zone ===
  
 Nachfolgend ein **Beispiel**, wie eine **Zonen**-Datei für die **Reverse**-Auflösung aussehen könnte: Nachfolgend ein **Beispiel**, wie eine **Zonen**-Datei für die **Reverse**-Auflösung aussehen könnte:
Zeile 1127: Zeile 1138:
                                 MX 10   mx1.tachtler.net.                                 MX 10   mx1.tachtler.net.
  
-167                             PTR     mx1.tachtler.net.+@                               PTR     mx1.tachtler.net. 
 +@ PTR tachtler.net.
  
 </code> </code>
Zeile 1133: Zeile 1145:
 Um die **syntaktische Korrektheit** einer **Zonen**-Datei zu überprüfen, kann nachfolgender Befehl verwendet werden: Um die **syntaktische Korrektheit** einer **Zonen**-Datei zu überprüfen, kann nachfolgender Befehl verwendet werden:
 <code> <code>
-# named-checkzone 171.217.88 /var/named/zones/171.217.88.in-addr.arpa.zone +# named-checkzone 167.171.217.88 /var/named/zones/167.171.217.88.in-addr.arpa.zone 
-zone 171.217.88/IN: loaded serial 2021101101+zone 167.171.217.88/IN: loaded serial 2021101101
 OK OK
 </code> </code>
Zeile 1380: Zeile 1392:
  type master;  type master;
  file "zones/0.168.192.in-addr.arpa.zone";  file "zones/0.168.192.in-addr.arpa.zone";
 + };
 + zone "tachtler.net" IN {
 + type master;
 + file "zones/tachtler.net.zone";
 + };
 + zone "167.171.217.88.in-addr.arpa" IN {
 + type master;
 + file "zones/167.171.217.88.in-addr.arpa.zone";
  };  };
 }; };
Zeile 1407: Zeile 1427:
  file "zones/tachtler.net.zone";  file "zones/tachtler.net.zone";
  };  };
- zone "171.217.88.in-addr.arpa" IN {+ zone "167.171.217.88.in-addr.arpa" IN {
  type master;  type master;
- file "zones/171.217.88.in-addr.arpa.zone";+ file "zones/167.171.217.88.in-addr.arpa.zone";
  };  };
 }; };
Zeile 1489: Zeile 1509:
 } }
 </code> </code>
- 
-:!: **FIXME** - **Hier erfolgen noch Ergänzugen ...** 
  
 === Statistics-Channel === === Statistics-Channel ===
Zeile 1547: Zeile 1565:
  type master;  type master;
  file "zones/0.168.192.in-addr.arpa.zone";  file "zones/0.168.192.in-addr.arpa.zone";
 + };
 + zone "tachtler.net" IN {
 + type master;
 + file "zones/tachtler.net.zone";
 + };
 + zone "167.171.217.88.in-addr.arpa" IN {
 + type master;
 + file "zones/167.171.217.88.in-addr.arpa.zone";
  };  };
 }; };
Zeile 1574: Zeile 1600:
  file "zones/tachtler.net.zone";  file "zones/tachtler.net.zone";
  };  };
- zone "171.217.88.in-addr.arpa" IN {+ zone "167.171.217.88.in-addr.arpa" IN {
  type master;  type master;
- file "zones/171.217.88.in-addr.arpa.zone";+ file "zones/167.171.217.88.in-addr.arpa.zone";
  };  };
 }; };
Zeile 1596: Zeile 1622:
 intra.tachtler.net IN internal master intra.tachtler.net IN internal master
 0.168.192.in-addr.arpa IN internal master 0.168.192.in-addr.arpa IN internal master
 +tachtler.net IN internal master
 +167.171.217.88.in-addr.arpa IN internal master
 localhost IN external master localhost IN external master
 0.0.127.in-addr.arpa IN external master 0.0.127.in-addr.arpa IN external master
Zeile 1601: Zeile 1629:
 . IN external hint . IN external hint
 tachtler.net IN external master tachtler.net IN external master
-171.217.88.in-addr.arpa IN external master+167.171.217.88.in-addr.arpa IN external master
 </code> </code>
  
Zeile 1855: Zeile 1883:
 Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone localhost/IN/internal: loaded seri> Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone localhost/IN/internal: loaded seri>
 Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 0.168.192.in-addr.arpa/IN/internal> Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 0.168.192.in-addr.arpa/IN/internal>
-Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone intra.tachtler.net/IN/internal: lo>+Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone intra.tachtler.net/IN/internal: 
 +Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 167.171.217.88.in-addr.arpa/IN/internaö> 
 +Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone tachtler.net/IN/internal: loaded s>
 Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 0.0.127.in-addr.arpa/IN/external: > Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 0.0.127.in-addr.arpa/IN/external: >
 Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.> Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.>
-Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 171.217.88.in-addr.arpa/IN/externa> +Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 167.171.217.88.in-addr.arpa/IN/externa> 
-Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone localhost/IN/external: loaded seri>+Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone localhost/IN/external: loaded seriol>
 Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone tachtler.net/IN/external: loaded s> Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone tachtler.net/IN/external: loaded s>
 Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.> Nov 06 07:44:41 server named[39523]: 06-Nov-2021 07:44:41.051 zoneload: info: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.>
Zeile 1918: Zeile 1948:
 06-Nov-2021 07:44:41.051 zoneload: info: zone intra.tachtler.net/IN/internal: loaded serial 2021101101 06-Nov-2021 07:44:41.051 zoneload: info: zone intra.tachtler.net/IN/internal: loaded serial 2021101101
 06-Nov-2021 07:44:41.051 zoneload: info: zone 0.0.127.in-addr.arpa/IN/external: loaded serial 42 06-Nov-2021 07:44:41.051 zoneload: info: zone 0.0.127.in-addr.arpa/IN/external: loaded serial 42
 +06-Nov-2021 07:44:41.051 zoneload: info: zone 167.171.217.88.in-addr.arpa/IN/internal: loaded serial 2021101101
 06-Nov-2021 07:44:41.051 zoneload: info: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/internal: loaded serial 42 06-Nov-2021 07:44:41.051 zoneload: info: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/internal: loaded serial 42
-06-Nov-2021 07:44:41.051 zoneload: info: zone 171.217.88.in-addr.arpa/IN/external: loaded serial 2021101101+06-Nov-2021 07:44:41.051 zoneload: info: zone tachtler.net/IN/internal: loaded serial 2021101101 
 +06-Nov-2021 07:44:41.051 zoneload: info: zone 167.171.217.88.in-addr.arpa/IN/external: loaded serial 2021101101
 06-Nov-2021 07:44:41.051 zoneload: info: zone localhost/IN/external: loaded serial 42 06-Nov-2021 07:44:41.051 zoneload: info: zone localhost/IN/external: loaded serial 42
 06-Nov-2021 07:44:41.051 zoneload: info: zone tachtler.net/IN/external: loaded serial 2021101101 06-Nov-2021 07:44:41.051 zoneload: info: zone tachtler.net/IN/external: loaded serial 2021101101
Zeile 1982: Zeile 2014:
 </code> </code>
  
-===== DNSsec =====+===== DNSsec - Variante KSK & ZSK =====
  
 DNSSEC gibt es bereits 1997 mit einer ersten Definition der Domain Name System Security Extensions (DNSsec) im [[http://www.ietf.org/rfc/rfc4034.txt|RFC 4034]]. Diese Fassung funktionierte jedoch nur in kleinen Netzen; bei großen überforderte das geschwätzige Protokoll die Domain Name Server. Nach verschiedenen Überarbeitungen liegt seit **März 2005 die aktuelle Version vor**, bekannt auch unter der Bezeichnung DNSsec-bis. DNSSEC gibt es bereits 1997 mit einer ersten Definition der Domain Name System Security Extensions (DNSsec) im [[http://www.ietf.org/rfc/rfc4034.txt|RFC 4034]]. Diese Fassung funktionierte jedoch nur in kleinen Netzen; bei großen überforderte das geschwätzige Protokoll die Domain Name Server. Nach verschiedenen Überarbeitungen liegt seit **März 2005 die aktuelle Version vor**, bekannt auch unter der Bezeichnung DNSsec-bis.
Zeile 2003: Zeile 2035:
 (Quelle: [[https://www.heise.de/ct/artikel/Domain-Name-System-absichern-mit-DNSSEC-903318.html|Heise.de - Artikel - Domain Name System absichern mit DNSsec]]) (Quelle: [[https://www.heise.de/ct/artikel/Domain-Name-System-absichern-mit-DNSSEC-903318.html|Heise.de - Artikel - Domain Name System absichern mit DNSsec]])
  
-==== Vorbereitung ====+==== Vorbereitung: KSK und ZSK ====
  
 Zuerst ist es erforderlich nachfolgendes Verzeichnis anzulegen, welches den KSK (Key Signing Key) und den ZSK (Zone Signing Key) aufnehmen wird, was mit nachfolgendem Befehl durchgeführt werden kann: Zuerst ist es erforderlich nachfolgendes Verzeichnis anzulegen, welches den KSK (Key Signing Key) und den ZSK (Zone Signing Key) aufnehmen wird, was mit nachfolgendem Befehl durchgeführt werden kann:
Zeile 2031: Zeile 2063:
 Ktachtler.net.+015+20289 Ktachtler.net.+015+20289
 </code> </code>
-und die **REVERSE** - Zone - ''171.217.88.in-addr.arpa'':+und die **REVERSE** - Zone - ''167.171.217.88.in-addr.arpa'':
 <code> <code>
-# dnssec-keygen -K /var/named/keys -a ED25519 -f KSK -n ZONE 171.217.88.in-addr.arpa+# dnssec-keygen -K /var/named/keys -a ED25519 -f KSK -n ZONE 167.171.217.88.in-addr.arpa
 Generating key pair. Generating key pair.
-K171.217.88.in-addr.arpa.+015+59631+K167.171.217.88.in-addr.arpa.+015+59631
 </code> </code>
  
Zeile 2070: Zeile 2102:
 Ktachtler.net.+015+37463 Ktachtler.net.+015+37463
 </code> </code>
-und die **REVERSE** - Zone - ''171.217.88.in-addr.arpa'':+und die **REVERSE** - Zone - ''167.171.217.88.in-addr.arpa'':
 <code> <code>
-# dnssec-keygen -K /var/named/keys -a ED25519 -n ZONE 171.217.88.in-addr.arpa+# dnssec-keygen -K /var/named/keys -a ED25519 -n ZONE 167.171.217.88.in-addr.arpa
 Generating key pair. Generating key pair.
-K171.217.88.in-addr.arpa.+015+05640+K167.171.217.88.in-addr.arpa.+015+05640
 </code> </code>
  
Zeile 2098: Zeile 2130:
 -rw-r--r-- 1 named named 319 Nov  6 08:28 K0.168.192.in-addr.arpa.+015+65325.key -rw-r--r-- 1 named named 319 Nov  6 08:28 K0.168.192.in-addr.arpa.+015+65325.key
 -rw------- 1 named named 179 Nov  6 08:28 K0.168.192.in-addr.arpa.+015+65325.private -rw------- 1 named named 179 Nov  6 08:28 K0.168.192.in-addr.arpa.+015+65325.private
--rw-r--r-- 1 named named 320 Nov  6 08:28 K171.217.88.in-addr.arpa.+015+05640.key +-rw-r--r-- 1 named named 320 Nov  6 08:28 K167.171.217.88.in-addr.arpa.+015+05640.key 
--rw------- 1 named named 179 Nov  6 08:28 K171.217.88.in-addr.arpa.+015+05640.private +-rw------- 1 named named 179 Nov  6 08:28 K167.171.217.88.in-addr.arpa.+015+05640.private 
--rw-r--r-- 1 named named 320 Nov  6 08:27 K171.217.88.in-addr.arpa.+015+59631.key +-rw-r--r-- 1 named named 320 Nov  6 08:27 K167.171.217.88.in-addr.arpa.+015+59631.key 
--rw------- 1 named named 179 Nov  6 08:27 K171.217.88.in-addr.arpa.+015+59631.private+-rw------- 1 named named 179 Nov  6 08:27 K167.171.217.88.in-addr.arpa.+015+59631.private
 -rw-r--r-- 1 named named 309 Nov  6 08:25 Kintra.tachtler.net.+015+02340.key -rw-r--r-- 1 named named 309 Nov  6 08:25 Kintra.tachtler.net.+015+02340.key
 -rw------- 1 named named 179 Nov  6 08:25 Kintra.tachtler.net.+015+02340.private -rw------- 1 named named 179 Nov  6 08:25 Kintra.tachtler.net.+015+02340.private
Zeile 2121: Zeile 2153:
 # grep key-signing /var/named/keys/* # grep key-signing /var/named/keys/*
 /var/named/keys/K0.168.192.in-addr.arpa.+015+64298.key:; This is a key-signing key, keyid 64298, for 0.168.192.in-addr.arpa. /var/named/keys/K0.168.192.in-addr.arpa.+015+64298.key:; This is a key-signing key, keyid 64298, for 0.168.192.in-addr.arpa.
-/var/named/keys/K171.217.88.in-addr.arpa.+015+59631.key:; This is a key-signing key, keyid 59631, for 171.217.88.in-addr.arpa.+/var/named/keys/K167.171.217.88.in-addr.arpa.+015+59631.key:; This is a key-signing key, keyid 59631, for 167.171.217.88.in-addr.arpa.
 /var/named/keys/Kintra.tachtler.net.+015+02340.key:; This is a key-signing key, keyid 2340, for intra.tachtler.net. /var/named/keys/Kintra.tachtler.net.+015+02340.key:; This is a key-signing key, keyid 2340, for intra.tachtler.net.
 /var/named/keys/Ktachtler.net.+015+20289.key:; This is a key-signing key, keyid 20289, for tachtler.net. /var/named/keys/Ktachtler.net.+015+20289.key:; This is a key-signing key, keyid 20289, for tachtler.net.
Zeile 2132: Zeile 2164:
 # grep zone-signing /var/named/keys/* # grep zone-signing /var/named/keys/*
 /var/named/keys/K0.168.192.in-addr.arpa.+015+65325.key:; This is a zone-signing key, keyid 65325, for 0.168.192.in-addr.arpa. /var/named/keys/K0.168.192.in-addr.arpa.+015+65325.key:; This is a zone-signing key, keyid 65325, for 0.168.192.in-addr.arpa.
-/var/named/keys/K171.217.88.in-addr.arpa.+015+05640.key:; This is a zone-signing key, keyid 5640, for 171.217.88.in-addr.arpa.+/var/named/keys/K167.171.217.88.in-addr.arpa.+015+05640.key:; This is a zone-signing key, keyid 5640, for 167.171.217.88.in-addr.arpa.
 /var/named/keys/Kintra.tachtler.net.+015+17796.key:; This is a zone-signing key, keyid 17796, for intra.tachtler.net. /var/named/keys/Kintra.tachtler.net.+015+17796.key:; This is a zone-signing key, keyid 17796, for intra.tachtler.net.
 /var/named/keys/Ktachtler.net.+015+37463.key:; This is a zone-signing key, keyid 37463, for tachtler.net. /var/named/keys/Ktachtler.net.+015+37463.key:; This is a zone-signing key, keyid 37463, for tachtler.net.
 </code> </code>
  
-==== DNSSec: /etc/named.conf ====+==== DNSSec KSK und ZSK: /etc/named.conf ====
  
 Es gibt die Möglichkeit den DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] so zu konfigurieren, das dieser die DNSsec Verwaltung voll automatisch übernimmt. Es gibt die Möglichkeit den DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] so zu konfigurieren, das dieser die DNSsec Verwaltung voll automatisch übernimmt.
Zeile 2153: Zeile 2185:
 Nachfolgende Anpassungen der Konfigurationsdatei ''/etc/named.conf'' müssen durchgeführt werden um DNSsec **__voll automatisiert__** durch den DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] einzurichten. Nachfolgende Anpassungen der Konfigurationsdatei ''/etc/named.conf'' müssen durchgeführt werden um DNSsec **__voll automatisiert__** durch den DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] einzurichten.
  
-Nachfolgende **drei** Konfigurationszeilen müssen bei der **__jeweiligen Zonen-Definition__** hinzugefügt werden:+Nachfolgende **zwei** Konfigurationszeilen müssen bei der **__jeweiligen Zonen-Definition__** hinzugefügt werden:
 <code> <code>
 ... ...
                 inline-signing yes;                 inline-signing yes;
                 auto-dnssec maintain;                 auto-dnssec maintain;
-                key-directory "keys"; 
 ... ...
 </code> </code>
Zeile 2402: Zeile 2433:
                 inline-signing yes;                 inline-signing yes;
                 auto-dnssec maintain;                 auto-dnssec maintain;
-                key-directory "keys"; 
  };  };
  zone "0.168.192.in-addr.arpa" IN {  zone "0.168.192.in-addr.arpa" IN {
Zeile 2409: Zeile 2439:
                 inline-signing yes;                 inline-signing yes;
                 auto-dnssec maintain;                 auto-dnssec maintain;
-                key-directory "keys";+ }; 
 + zone "tachtler.net" IN { 
 + type master; 
 + file "zones/tachtler.net.zone"; 
 +                inline-signing yes; 
 +                auto-dnssec maintain; 
 + }; 
 + zone "167.171.217.88.in-addr.arpaIN { 
 + type master; 
 + file "zones/167.171.217.88.in-addr.arpa.zone"; 
 +                inline-signing yes; 
 +                auto-dnssec maintain;
  };  };
 }; };
Zeile 2438: Zeile 2479:
                 inline-signing yes;                 inline-signing yes;
                 auto-dnssec maintain;                 auto-dnssec maintain;
-                key-directory "keys"; 
  };  };
- zone "171.217.88.in-addr.arpa" IN {+ zone "167.171.217.88.in-addr.arpa" IN {
  type master;  type master;
- file "zones/171.217.88.in-addr.arpa.zone";+ file "zones/167.171.217.88.in-addr.arpa.zone";
                 inline-signing yes;                 inline-signing yes;
                 auto-dnssec maintain;                 auto-dnssec maintain;
-                key-directory "keys"; 
  };  };
 }; };
 </code> </code>
  
-==== DNSSec: Überprüfung ====+==== DNSSec KSK und ZSK: Überprüfung ====
  
 Mit nachfolgendem Befehl kann die **syntaktische Richtigkeit** der Konfigurationsdatei: Mit nachfolgendem Befehl kann die **syntaktische Richtigkeit** der Konfigurationsdatei:
Zeile 2463: Zeile 2502:
 intra.tachtler.net IN internal master intra.tachtler.net IN internal master
 0.168.192.in-addr.arpa IN internal master 0.168.192.in-addr.arpa IN internal master
 +tachtler.net IN internal master
 +167.171.217.88.in-addr.arpa IN internal master
 localhost IN external master localhost IN external master
 0.0.127.in-addr.arpa IN external master 0.0.127.in-addr.arpa IN external master
Zeile 2468: Zeile 2509:
 . IN external hint . IN external hint
 tachtler.net IN external master tachtler.net IN external master
-171.217.88.in-addr.arpa IN external master+167.171.217.88.in-addr.arpa IN external master
 </code> </code>
  
-==== DNSSec: Neustart ====+==== DNSSec KSK und ZSK: Neustart ====
  
 Falls die **Basis-Konfiguration** wie oben beschrieben durchgeführt wurde, sollte dem einem **Neustart** nichts im Wege stehen und dies mit nachfolgendem Befehl durchgeführt werden: Falls die **Basis-Konfiguration** wie oben beschrieben durchgeführt wurde, sollte dem einem **Neustart** nichts im Wege stehen und dies mit nachfolgendem Befehl durchgeführt werden:
Zeile 2478: Zeile 2519:
 </code> </code>
  
-==== Überprüfung DNSsec ====+==== Überprüfung KSK und ZSK: DNSsec ====
  
 Folgende Abfrage sollte nun eine Ausgabe in etwa wie die nachfolgende zur Anzeige bringen: Folgende Abfrage sollte nun eine Ausgabe in etwa wie die nachfolgende zur Anzeige bringen:
Zeile 2538: Zeile 2579:
 Wie **''no-auth''**, wenn in der Anfrage eine Rekursion verlangt wird (RD=1), oder dasselbe wie ''no'', wenn keine Rekursion verlangt wird. Wie **''no-auth''**, wenn in der Anfrage eine Rekursion verlangt wird (RD=1), oder dasselbe wie ''no'', wenn keine Rekursion verlangt wird.
  
-<code ini>+<code>
 # dig @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi # dig @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi
  
Zeile 2582: Zeile 2623:
  
 Nachfolgende Abfrage bringt den **DNSKEY** zum Vorschein: Nachfolgende Abfrage bringt den **DNSKEY** zum Vorschein:
-<code ini>+<code>
 # dig @127.0.0.1 +cd +multi intra.tachtler.net dnskey # dig @127.0.0.1 +cd +multi intra.tachtler.net dnskey
  
Zeile 2610: Zeile 2651:
 ;; WHEN: Sat Nov 06 08:25:49 CET 2021 ;; WHEN: Sat Nov 06 08:25:49 CET 2021
 ;; MSG SIZE  rcvd: 171 ;; MSG SIZE  rcvd: 171
 +</code>
 +
 +:!: **HINWEIS** - Eine Abfrage kann nur auf eine Zone erfolgen, nicht auf einen einzelnen DNS-Eintrag.
 +
 +===== DNSsec - Variante CSK =====
 +
 +:!: **HINWEIS** - Ab [[https://www.isc.org/bind/|ISC BIND]] **Version 9.16** verfügbar!
 +
 +DNSSEC gibt es bereits 1997 mit einer ersten Definition der Domain Name System Security Extensions (DNSsec) im [[http://www.ietf.org/rfc/rfc4034.txt|RFC 4034]]. Diese Fassung funktionierte jedoch nur in kleinen Netzen; bei großen überforderte das geschwätzige Protokoll die Domain Name Server. Nach verschiedenen Überarbeitungen liegt seit **März 2005 die aktuelle Version vor**, bekannt auch unter der Bezeichnung DNSsec-bis.
 +
 +Mit DNSsec **signiert der Administrator einer Domain die Namenseinträge in seinem Nameserver kryptografisch.**
 +
 +Dafür werden zusätzliche Ressource Records angelegt, sodass DNSsec-Antworten länger sind als herkömmliche DNS-Antworten. Die zusätzlichen DNS-Records werden bei Anfragen als Bestandteile des DNS-Response versendet, sodass Empfänger zunächst prüfen können, ob der Response integer, also unverfälscht ist. Weil der Response auch ein Zertifikat enthält (einen signierten kryptografischen Schlüssel), kann der Empfänger in einem zweiten Schritt auch den Absender verifizieren und so feststellen, ob die im Paket enthaltene Information vertrauenswürdig ist.
 +
 +Mit [[https://www.isc.org/bind/|ISC BIND]] ab **Version 9.16** wurde eine neue Methode zur Aufrechterhaltung von DNSsec für Ihre Zonen eingeführt. Zusätzlich zu den Konfigurationsoptionen ''inline-signing'' und ''auto-dnssec'' gibt es jetzt **''dnssec-policy''**.
 +
 +Mit **''dnssec-policy''** können Sie eine **Key and Signing Policy (KASP)** angeben und alle KASP-bezogenen Konfigurationen gruppieren, wodurch Ihre benannte Konfiguration in Bezug auf DNSsec intuitiver wird und es einfacher wird, DNSsec für Ihre Zonen zu aktivieren.
 +
 +Dazu kommt nur noch ein Typ von Schlüsseln zum Einsatz,
 +  * ein **Combined Signing Key** (CSK) zur Weitergabe als DS-Record und zum Signieren der DNS-Records
 +als privat und öffentlich Schlüssel erstellt.
 +
 +Mithin hat eine Domain somit nur noch mindestens zwei Schlüssel. Um den gleitenden Wechsel von einem abgelaufenen zu einem neuen Schlüssel zu gewährleisten, hat eine Domain in der Regel sogar mehrere Exemplare gleichzeitig, auch mehrere CSK (können sinnvoll sein, um unterschiedliche Signieralgorithmen nutzen zu können)
 +
 +Wenn der **Domain-Betreiber seinen aktuellen CSK dem Administrator der übergeordneten Domain bekannt gegeben hat, kann er mit diesem anschließend alle Schlüssel der eigenen Zone signieren und nutzen.**
 +
 +Alle anderen Daten der Zone werden ebenfalls mit dem CSK signiert. **Ist ein Nameserver auf DNSsec umgestellt, liefert er ausschließlich signierte Antworten.**
 +
 +(Quelle: [[https://kb.isc.org/docs/dnssec-key-and-signing-policy|isc.org - Knowledgebase - DNSSEC Key and Signing Policy]])
 +
 +==== Vorbereitung: CSK ====
 +
 +Die **standardmässige** DNSsec-Policy, welche unter dem Namen **''"default"''** vorhanden ist, hat den Nachteil, das "**__nur__**" **NSEC** und nicht **NSEC3** zur Konfiguration von nicht existierenden DNS-Einträgen verwendet wird.
 +
 +Deshalb soll die **''dnssec-policy''** wie folgt abgeändert werden, was auch die Vergabe eines eigenen Namens bedingt.
 +
 +Die Vergabe und Konfiguration eine eigenen **''dnssec-policy''** erfolgt in der Konfigurationsdatei
 +  * ''/etc/named.conf''
 +und kann wie folgt aussehen:
 +
 +(**Nur relevanter Ausschnitt**)
 +<code ini>
 +dnssec-policy "defaultnsec3" {
 +    keys {
 +         csk key-directory lifetime unlimited algorithm ecdsa256;
 +    };
 +    nsec3param iterations 0 optout no salt-length 0;
 +
 +    // Key timings
 +    dnskey-ttl PT1H;
 +    publish-safety PT1H;
 +    retire-safety PT1H;
 +    purge-keys P90D;
 +
 +    // Signature timings
 +    signatures-refresh P5D;
 +    signatures-validity P14D;
 +    signatures-validity-dnskey P14D;
 +    
 +    // Zone parameters
 +    max-zone-ttl P1D;
 +    zone-propagation-delay PT5M;
 +    parent-ds-ttl P1D;
 +    parent-propagation-delay PT1H;
 +};
 +</code>
 +
 +**__Erklärungen__**:
 +
 +  * <code ini>nsec3param iterations 0 optout no salt-length 0;</code>
 +
 +Dies ist die einzige Änderung bzw. Ergänzung zum **''dnssec-policy''** - **''"default"''**, die Ergänzung des ''nsec3param''. Die **Optionen** des ''nsec3param'' lauten wie folgt:
 +  * Interationen bei der Erstellung 
 +  * Anzeige der Ausgabe
 +  * "Salt" zur Zufallsgenerierung
 +
 +:!: **HINWEIS** - **Nachfolgende Seiten geben über den aktuellen Stand der Benutzung von NSEC3 Auskunft:**
 +  * https://kb.isc.org/docs/dnssec-key-and-signing-policy
 +  * https://bind9.readthedocs.io/en/latest/dnssec-guide.html
 +  * https://www.rfc-editor.org/rfc/rfc9276.html
 +
 +==== DNSSec CSK: /etc/named.conf ====
 +
 +Es gibt die Möglichkeit den DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] so zu konfigurieren, das dieser die DNSsec Verwaltung voll automatisch übernimmt.
 +
 +Dafür gibt es die Option
 +  * ''dnssec-policy''
 +
 +Bei der Einstellung ''dnssec-policy'' muss noch die entsprechende zu verwendende **Policy** als Parameter definiert werden, so dass der DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] das angegeben Schlüssel-Verzeichnis durchsucht um die passenden Schlüssel zu finden, oder diese **__automatisch__ erstellt, falls diese __nicht__ vorhanden sein sollten** und diese zur Zone hinzufügen um diese dann anschließend auch zu signieren **__vollkommen automatisiert__**.
 +
 +Nachfolgende Anpassungen der Konfigurationsdatei ''/etc/named.conf'' müssen durchgeführt werden um DNSsec **__voll automatisiert__** durch den DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] einzurichten.
 +
 +Nachfolgende **zwei** Konfigurationszeilen müssen bei der **__jeweiligen Zonen-Definition__** hinzugefügt werden:
 +<code>
 +...
 +                inline-signing yes;
 +                dnssec-policy defaultnsec3;
 +...
 +</code>
 +
 +:!: **ACHTUNG** - **Falls ''inline-signing yes;'' __nicht__ gesetzt wird werden die Zonen-Dateien umgeschrieben!**
 +
 +:!: **HINWEIS** - Der DNS-Server [[http://www.isc.org|ISC (Internet System Consortium)]] wird nach den entsprechenden Schlüsseln unter dem angegeben Pfad selbständig suchen!
 +
 +Nachfolgend die Konfigurationsdatei mit den durchgeführten Anpassungen, welche von den Standardeinstellungen abweichen bzw. explizit gesetzt wurden, auch wenn diese den Standardeinstellungen entsprechen (**komplette Konfigurationsdatei**): 
 +<code ini>
 +# egrep -v '(.*//|.*/\*|.*\*/|.*\{\%|.*\%\}|^$)' /etc/named.conf
 +acl primary_v4 {
 + 192.168.0.20;
 +};
 +acl interfaces_v4 {
 + 192.168.0.20;
 + 127.0.0.1;
 +};
 +acl home_v4 {
 + 192.168.0.0/24;
 +};
 +acl home_v6 {
 + fd00:0:0:192::/64;
 +};
 +controls {
 + inet 127.0.0.1 port 953
 + allow { 127.0.0.1; } keys { "tachtler.net-key"; };
 +};
 +include "//etc/rndc.key";
 +logging {
 + channel default_log {
 + file "/var/log/named/default" versions 4 size 20m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel auth_servers_log {
 + file "/var/log/named/auth_servers" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel dnssec_log {
 + file "/var/log/named/dnssec" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel zone_transfers_log {
 + file "/var/log/named/zone_transfers" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel ddns_log {
 + file "/var/log/named/ddns" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel client_security_log {
 + file "/var/log/named/client_security" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel rate_limiting_log {
 + file "/var/log/named/rate_limiting" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel rpz_log {
 +  file "/var/log/named/rpz" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel dnstap_log {
 + file "/var/log/named/dnstap" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel queries_log {
 + file "/var/log/named/queries" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity info;
 + };
 + channel query-errors_log {
 + file "/var/log/named/query-errors" versions 4 size 2m;
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + severity dynamic;
 + };
 + channel default_syslog {
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + syslog daemon;
 + severity info;
 + };
 + channel default_debug {
 + print-time yes;
 + print-category yes;
 + print-severity yes;
 + file "/var/log/named/named.run";
 + severity dynamic;
 + };
 + category default { default_syslog; default_debug; default_log; };
 + category config { default_syslog; default_debug; default_log; };
 + category dispatch { default_syslog; default_debug; default_log; };
 + category network { default_syslog; default_debug; default_log; };
 + category general { default_syslog; default_debug; default_log; };
 + category zoneload { default_syslog; default_debug; default_log; };
 + category resolver { auth_servers_log; default_debug; };       
 + category cname { auth_servers_log; default_debug; };       
 + category delegation-only { auth_servers_log; default_debug; };
 + category edns-disabled { auth_servers_log; default_debug; };
 + category dnssec { dnssec_log; default_debug; };
 + category notify { zone_transfers_log; default_debug; };       
 + category xfer-in { zone_transfers_log; default_debug; };       
 + category xfer-out { zone_transfers_log; default_debug; };
 + category update{ ddns_log; default_debug; };
 + category update-security { ddns_log; default_debug; };
 + category client{ client_security_log; default_debug; };       
 + category security { client_security_log; default_debug; };
 + category rate-limit { rate_limiting_log; default_debug; };       
 + category spill { rate_limiting_log; default_debug; };       
 + category database { rate_limiting_log; default_debug; };
 + category rpz { rpz_log; default_debug; };
 + category dnstap { dnstap_log; default_debug; };
 + category queries { queries_log; };
 + category query-errors { query-errors_log; };
 +};
 +options {
 +    directory "/var/named";
 + geoip-directory none;
 + key-directory "/var/named/keys";
 + managed-keys-directory "/var/named/managedkeys";
 + new-zones-directory "/var/named/zones";
 + dump-file "/var/named/data/named_dump.db";
 + memstatistics-file "/var/named/data/named.memstats";
 + pid-file "/var/run/named/named.pid"; 
 + recursing-file "/var/named/data/named.recursing";
 + statistics-file "/var/named/data/named.stats";
 + bindkeys-file "/etc/bind.keys";
 + secroots-file "/var/named/data/named.secroots";
 + session-keyalg hmac-sha512;
 + session-keyfile "/var/run/named/session.key";
 + port 53;
 + dnssec-update-mode maintain;
 + allow-new-zones no;
 + memstatistics yes;
 + recursion yes;
 + cookie-algorithm aes;
 + auto-dnssec off;
 + dnssec-validation yes;
 + querylog no;
 + check-names primary warn;
 + allow-notify {
 + localhost;
 + primary_v4;
 + };
 + allow-query {
 + localhost; localnets;
 + home_v4;
 + };
 + allow-query-on {
 + localhost;
 + primary_v4;
 + };
 + allow-query-cache {
 + localhost; localnets;
 + home_v4;
 + };
 + allow-query-cache-on {
 + localhost; localnets;
 + home_v4;
 + };
 + allow-recursion {
 + localhost; localnets;
 + home_v4;
 + };
 + allow-recursion-on {
 + localhost;
 + primary_v4;
 + };
 + allow-update { none; };
 + allow-update-forwarding { none; };
 + allow-transfer {
 + localhost;
 + primary_v4;
 + };
 + listen-on port 53 { interfaces_v4; };
 + query-source address * port *;
 + max-cache-size 60%;
 + lame-ttl 0;
 + max-rsa-exponent-size 4096;
 + version none;
 + hostname none;
 + server-id none;
 +};
 +statistics-channels {
 + inet 192.168.0.20 port 80 allow {
 + primary_v4; interfaces_v4; home_v4;
 + };
 +};
 +view "internal" IN {
 + match-clients {
 + localhost; localnets;
 + home_v4;
 + };
 + zone "localhost" IN {
 + type master;
 + file "localhost.zone";
 + };
 + zone "0.0.127.in-addr.arpa" IN {
 + type master;
 + file "127.0.0.zone";
 + };
 + zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
 + type master;
 + file "localhost.ip6.zone";
 + };
 + zone "." IN {
 + type hint;
 + file "named.root";
 + };
 + zone "intra.tachtler.net" IN {
 + type master;
 + file "zones/intra.tachtler.net.zone";
 + dnssec-policy defaultnsec3;
 + };
 + zone "0.168.192.in-addr.arpa" IN {
 + type master;
 + file "zones/0.168.192.in-addr.arpa.zone";
 + dnssec-policy defaultnsec3;
 +                inline-signing yes;
 + };
 + zone "tachtler.net" IN {
 + type master;
 + file "zones/tachtler.net.zone";
 + dnssec-policy defaultnsec3;
 +                inline-signing yes;
 + };
 + zone "167.171.217.88.in-addr.arpa" IN {
 + type master;
 + file "zones/167.171.217.88.in-addr.arpa.zone";
 + dnssec-policy defaultnsec3;
 +                inline-signing yes;
 + };
 +};
 +view "external" IN {
 + match-clients {
 + localhost; localnets;
 + !home_v4;
 + };
 + zone "localhost" IN {
 + type master;
 + file "localhost.zone";
 + };
 + zone "0.0.127.in-addr.arpa" IN {
 + type master;
 + file "127.0.0.zone";
 + };
 + zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
 + type master;
 + file "localhost.ip6.zone";
 + };
 + zone "." IN {
 + type hint;
 + file "named.root";
 + };
 + zone "tachtler.net" IN {
 + type master;
 + file "zones/tachtler.net.zone";
 + dnssec-policy defaultnsec3;
 +                inline-signing yes;
 + };
 + zone "167.171.217.88.in-addr.arpa" IN {
 + type master;
 + file "zones/167.171.217.88.in-addr.arpa.zone";
 + dnssec-policy defaultnsec3;
 +                inline-signing yes;
 + };
 +};
 +</code>
 +
 +==== DNSSec CSK: Überprüfung ====
 +
 +Mit nachfolgendem Befehl kann die **syntaktische Richtigkeit** der Konfigurationsdatei:
 +  * ''/etc/named.conf''
 +durchgeführt werden und sollte keine Meldungen ausgeben, wenn die Konfigurationsdatei **syntaktische richtig** ist:
 +<code>
 +# named-checkconf -l -z
 +localhost IN internal master
 +0.0.127.in-addr.arpa IN internal master
 +1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa IN internal master
 +. IN internal hint
 +intra.tachtler.net IN internal master
 +0.168.192.in-addr.arpa IN internal master
 +tachtler.net IN internal master
 +167.171.217.88.in-addr.arpa IN internal master
 +localhost IN external master
 +0.0.127.in-addr.arpa IN external master
 +1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa IN external master
 +. IN external hint
 +tachtler.net IN external master
 +167.171.217.88.in-addr.arpa IN external master
 +</code>
 +
 +==== DNSSec CSK: Neustart ====
 +
 +Falls die **Basis-Konfiguration** wie oben beschrieben durchgeführt wurde, sollte dem einem **Neustart** nichts im Wege stehen und dies mit nachfolgendem Befehl durchgeführt werden:
 +<code>
 +# systemctl restart named.service
 +</code>
 +
 +==== DNSSec CSK: Schlüsselerstellung ====
 +
 +Nachdem kein Schlüsselmaterial erstellt worden ist, erscheinen nachfolgende Fehlermeldungen beim ersten Start im Log, welches mit nachfolgendem Befehl durchsucht werden kann:
 +<code>
 +Jun 17 14:27:58 vml020 named[2832]: 17-Jun-2022 18:27:58.611 general: error: zone intra.tachtler.net/
 +IN/internal: could not get zone keys for secure dynamic update
 +Jun 17 14:27:58 vml020 named[2832]: 17-Jun-2022 18:27:58.621 general: error: zone 0.168.192.in-addr.arpa/
 +IN/internal: could not get zone keys for secure dynamic update
 +Jun 17 14:27:58 vml020 named[2832]: 17-Jun-2022 18:27:58.631 general: error: zone tachtler.net/
 +IN/internal: could not get zone keys for secure dynamic update
 +Jun 17 14:27:58 vml020 named[2832]: 17-Jun-2022 18:27:58.641 general: error: zone tachtler.net/
 +IN/external: could not get zone keys for secure dynamic update
 +Jun 17 14:27:58 vml020 named[2832]: 17-Jun-2022 18:27:58.641 general: error: zone 167.171.217.88.in-
 +addr.arpa/IN/internal: could not get zone keys for secure dynamic update
 +Jun 17 14:27:58 vml020 named[2832]: 17-Jun-2022 18:27:58.651 general: error: zone 167.171.217.88.in-
 +addr.arpa/IN/external: could not get zone keys for secure dynamic update
 +</code>
 +
 +Dies ist nur das Ergebnis der Feststellung, das kein Schlüsselmaterial vorhanden ist und [[https://www.isc.org/bind/|ISC BIND]] sich um die Schlüsselerstellung selbst noch kümmern muss.
 +
 +Das Ergebnis der **__automatischen__ Schlüsselerstellung** kann durch Auflistung des Verzeichnisses:
 +  * ''/var/named/keys''
 +überprüft werden uns sollte verschiedenes Schlüsselmaterial in etwa wie folgt zur Anzeige bringen:
 +<code>
 +# ls -l /var/named/keys
 +total 48
 +-rw-r--r-- 1 named named 425 Jun 17 18:27 K0.168.192.in-addr.arpa.+013+21339.key
 +-rw------- 1 named named 215 Jun 17 18:27 K0.168.192.in-addr.arpa.+013+21339.private
 +-rw-r--r-- 1 named named 653 Jun 17 18:27 K0.168.192.in-addr.arpa.+013+21339.state
 +-rw-r--r-- 1 named named 435 Jun 17 18:27 K167.171.217.88.in-addr.arpa.+013+16299.key
 +-rw------- 1 named named 215 Jun 17 18:27 K167.171.217.88.in-addr.arpa.+013+16299.private
 +-rw-r--r-- 1 named named 658 Jun 17 18:27 K167.171.217.88.in-addr.arpa.+013+16299.state
 +-rw-r--r-- 1 named named 417 Jun 17 18:27 Kintra.tachtler.net.+013+42607.key
 +-rw------- 1 named named 215 Jun 17 18:27 Kintra.tachtler.net.+013+42607.private
 +-rw-r--r-- 1 named named 649 Jun 17 18:27 Kintra.tachtler.net.+013+42607.state
 +-rw-r--r-- 1 named named 405 Jun 17 18:27 Ktachtler.net.+013+15659.key
 +-rw------- 1 named named 215 Jun 17 18:27 Ktachtler.net.+013+15659.private
 +-rw-r--r-- 1 named named 643 Jun 17 18:27 Ktachtler.net.+013+15659.state
 +</code>
 +
 +==== Überprüfung CSK: DNSsec ====
 +
 +Folgende Abfrage sollte nun eine Ausgabe in etwa wie die nachfolgende zur Anzeige bringen:
 +<code>
 +# dig @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi
 +
 +; <<>> DiG 9.18.3 <<>> @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi
 +; (1 server found)
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26205
 +;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
 +
 +;; OPT PSEUDOSECTION:
 +; EDNS: version: 0, flags: do; udp: 1232
 +; COOKIE: c15dc5b0231f0a5d7f46930b62ac764403fd2807928addb2 (good)
 +;; QUESTION SECTION:
 +;rechner10.intra.tachtler.net. IN A
 +
 +;; ANSWER SECTION:
 +rechner10.intra.tachtler.net. 10800 IN A 192.168.0.10
 +rechner10.intra.tachtler.net. 10800 IN RRSIG A 13 4 10800 (
 + 20220626045317 20220617112758 42607 intra.tachtler.net.
 + q6rSagtdy9bb69ED/ngjyRVgf7mTwAKx6lzjUZ/QhtlB
 + fqAgkDgeV7I+K+4NfUW+Y+LAaSHNwAtPoLwqstLuoQ== )
 +
 +;; Query time: 0 msec
 +;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
 +;; WHEN: Fri Jun 17 18:40:36 CEST 2022
 +;; MSG SIZE  rcvd: 215
 +
 +</code>
 +
 +:!: **HINWEIS** - Das ''Flag: **ad**'' ist bei Authoritativen DNS-Servern **__NICHT__** gesetzt! Nur bei **rekursiven "resolvern"** ist das ''Flag: **ad**'' gesetzt, da nur diese die "Kette des Vertrauens" abfragen und auflösen können!
 +
 +Eine erweitere Ansicht kann durch Änderung nachfolgender **Option** erzeugt werden:
 +<code ini>
 + // This option controls the addition of records to the authority and
 + // additional sections of responses. The default is no-auth-recursive.
 + minimal-responses no;
 +</code>
 +
 +**__Nachfolgende Optionen sind möglich__**:
 +
 +  * <code ini>no</code>
 +
 +Der Server ist bei der Erstellung von Antworten so vollständig wie möglich.
 +
 +  * <code ini>yes</code>
 +
 +Der Server fügt nur dann Datensätze zu den Autoritäts- und Zusatzabschnitten hinzu, wenn solche Datensätze vom DNS-Protokoll verlangt werden (z. B. bei der Rückgabe von Delegationen oder negativen Antworten). Dies bietet die beste Serverleistung, kann aber zu mehr Client-Abfragen führen.
 +
 +  * <code ini>no-auth</code>
 +
 +Der Server lässt Datensätze aus dem "Authority"-Abschnitt weg, es sei denn, sie sind erforderlich, aber er kann trotzdem Datensätze zum "Additional"-Abschnitt hinzufügen.
 +
 +  * <code ini>no-auth-recursive</code>
 +
 +Wie **''no-auth''**, wenn in der Anfrage eine Rekursion verlangt wird (RD=1), oder dasselbe wie ''no'', wenn keine Rekursion verlangt wird.
 +
 +<code>
 +# dig @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi
 +
 +; <<>> DiG 9.18.3 <<>> @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi
 +; (1 server found)
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10575
 +;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3
 +
 +;; OPT PSEUDOSECTION:
 +; EDNS: version: 0, flags: do; udp: 1232
 +; COOKIE: 6e4a0a4e229380d7c64f7fae62ac76e0189e8716e37022f0 (good)
 +;; QUESTION SECTION:
 +;rechner10.intra.tachtler.net. IN A
 +
 +;; ANSWER SECTION:
 +rechner10.intra.tachtler.net. 10800 IN A 192.168.0.10
 +rechner10.intra.tachtler.net. 10800 IN RRSIG A 13 4 10800 (
 + 20220626045317 20220617112758 42607 intra.tachtler.net.
 + q6rSagtdy9bb69ED/ngjyRVgf7mTwAKx6lzjUZ/QhtlB
 + fqAgkDgeV7I+K+4NfUW+Y+LAaSHNwAtPoLwqstLuoQ== )
 +
 +;; AUTHORITY SECTION:
 +intra.tachtler.net. 10800 IN NS ns1.intra.tachtler.net.
 +intra.tachtler.net. 10800 IN RRSIG NS 13 3 10800 (
 + 20220626045317 20220617112758 42607 intra.tachtler.net.
 + 7AzDTZE5JcJ+RCu6S8bq4OSuk4HEgdht5yM+0841oC+b
 + fOaZ8aVSVzG+Dmp744YsOJmFRSJ18HAGJmlGkJ/eww== )
 +
 +;; ADDITIONAL SECTION:
 +ns1.intra.tachtler.net. 10800 IN A 192.168.0.20
 +ns1.intra.tachtler.net. 10800 IN RRSIG A 13 4 10800 (
 + 20220626045317 20220617112758 42607 intra.tachtler.net.
 + 0dBJWwufYcPPMiphUhF3hOQxBRABxfuRpJtHMZMgftBp
 + 9+ucj7ksGtVguiekxPdvUy9ekxqKkN0QdDlh1IHb0A== )
 +
 +;; Query time: 10 msec
 +;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
 +;; WHEN: Fri Jun 17 18:43:12 CEST 2022
 +;; MSG SIZE  rcvd: 477
 +
 +</code>
 +
 +Nachfolgende Abfrage bringt den **DNSKEY** zum Vorschein:
 +<code>
 +# dig @127.0.0.1 +cd +multi intra.tachtler.net dnskey
 +
 +; <<>> DiG 9.18.3 <<>> @127.0.0.1 +cd +multi intra.tachtler.net dnskey
 +; (1 server found)
 +;; global options: +cmd
 +;; Got answer:
 +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59227
 +;; flags: qr aa rd ra cd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 +
 +;; OPT PSEUDOSECTION:
 +; EDNS: version: 0, flags:; udp: 1232
 +; COOKIE: 159da8d05abb887dc1ed847562ac77046457c9a3b5751b4f (good)
 +;; QUESTION SECTION:
 +;intra.tachtler.net. IN DNSKEY
 +
 +;; ANSWER SECTION:
 +intra.tachtler.net. 3600 IN DNSKEY 257 3 13 (
 + cwuwXubEW8if4s/vo/2jdWhGolvHBVFr2i4fNkEHlyx6
 + dObg3GD3KN+KQLkRQE5QMxcP86il8GWWGeEYIv1lfw==
 + ) ; KSK; alg = ECDSAP256SHA256 ; key id = 42607
 +
 +;; Query time: 0 msec
 +;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
 +;; WHEN: Fri Jun 17 14:43:48 CEST 2022
 +;; MSG SIZE  rcvd: 155
 +
 +
 </code> </code>
  
Zeile 2656: Zeile 3297:
 # ddns-confgen -q -a hmac-sha512 -z 0.168.192.in-addr.arpa > /var/named/managedkeys/ddns-key.0.168.192.in-addr.arpa.key # ddns-confgen -q -a hmac-sha512 -z 0.168.192.in-addr.arpa > /var/named/managedkeys/ddns-key.0.168.192.in-addr.arpa.key
 # ddns-confgen -q -a hmac-sha512 -z tachtler.net > /var/named/managedkeys/ddns-key.tachtler.net.key # ddns-confgen -q -a hmac-sha512 -z tachtler.net > /var/named/managedkeys/ddns-key.tachtler.net.key
-# ddns-confgen -q -a hmac-sha512 -z 171.217.88.in-addr.arpa > /var/named/managedkeys/ddns-key.171.217.88.in-addr.arpa.key+# ddns-confgen -q -a hmac-sha512 -z 167.171.217.88.in-addr.arpa > /var/named/managedkeys/ddns-key.171.217.88.in-addr.arpa.key
 </code> </code>
  
Zeile 2664: Zeile 3305:
 total 16 total 16
 -rw-r--r-- 1 root root 167 Nov  6 09:33 ddns-key.0.168.192.in-addr.arpa.key -rw-r--r-- 1 root root 167 Nov  6 09:33 ddns-key.0.168.192.in-addr.arpa.key
--rw-r--r-- 1 root root 168 Nov  6 09:33 ddns-key.171.217.88.in-addr.arpa.key+-rw-r--r-- 1 root root 168 Nov  6 09:33 ddns-key.167.171.217.88.in-addr.arpa.key
 -rw-r--r-- 1 root root 163 Nov  6 09:33 ddns-key.intra.tachtler.net.key -rw-r--r-- 1 root root 163 Nov  6 09:33 ddns-key.intra.tachtler.net.key
 -rw-r--r-- 1 root root 157 Nov  6 09:33 ddns-key.tachtler.net.key -rw-r--r-- 1 root root 157 Nov  6 09:33 ddns-key.tachtler.net.key
Zeile 2683: Zeile 3324:
 total 16 total 16
 -rw-r----- 1 root named 167 Nov  6 09:33 ddns-key.0.168.192.in-addr.arpa.key -rw-r----- 1 root named 167 Nov  6 09:33 ddns-key.0.168.192.in-addr.arpa.key
--rw-r----- 1 root named 168 Nov  6 09:33 ddns-key.171.217.88.in-addr.arpa.key+-rw-r----- 1 root named 168 Nov  6 09:33 ddns-key.167.171.217.88.in-addr.arpa.key
 -rw-r----- 1 root named 163 Nov  6 09:33 ddns-key.intra.tachtler.net.key -rw-r----- 1 root named 163 Nov  6 09:33 ddns-key.intra.tachtler.net.key
 -rw-r----- 1 root named 157 Nov  6 09:33 ddns-key.tachtler.net.key -rw-r----- 1 root named 157 Nov  6 09:33 ddns-key.tachtler.net.key
Zeile 2697: Zeile 3338:
  secret "g8A4ASCMGOfTLw2+LJxWjE1b9J1zSK2puKC4SHyMpUQ4QJLK2E1s4PNrIAdZVAfscd/1KcwUrQMq8D7w1O/oHw==";  secret "g8A4ASCMGOfTLw2+LJxWjE1b9J1zSK2puKC4SHyMpUQ4QJLK2E1s4PNrIAdZVAfscd/1KcwUrQMq8D7w1O/oHw==";
 }; };
-key "171.217.88.in-addr.arpa" {+key "167.171.217.88.in-addr.arpa" {
  algorithm hmac-sha512;  algorithm hmac-sha512;
  secret "ysfIqXOP/RdsuRa4UwFvfuDBiF5A2EgqxUi2HMg1ipullLmtGGWHUDYWxBr+DJAAIkxoICBNOgrbQM8S1g99JQ==";  secret "ysfIqXOP/RdsuRa4UwFvfuDBiF5A2EgqxUi2HMg1ipullLmtGGWHUDYWxBr+DJAAIkxoICBNOgrbQM8S1g99JQ==";
Zeile 2718: Zeile 3359:
 include "/var/named/managedkeys/ddns-key.intra.tachtler.net.key" include "/var/named/managedkeys/ddns-key.intra.tachtler.net.key"
 include "/var/named/managedkeys/ddns-key.0.168.192.in-addr.arpa.key" include "/var/named/managedkeys/ddns-key.0.168.192.in-addr.arpa.key"
-include "/var/named/managedkeys/ddns-key.intra.tachtler.net.key" +include "/var/named/managedkeys/ddns-key.tachtler.net.key" 
-include "/var/named/managedkeys/ddns-key.0.168.192.in-addr.arpa.key"+include "/var/named/managedkeys/ddns-key.167.171.217.88.in-addr.arpa.key"
 ... ...
 ... ...
Zeile 2729: Zeile 3370:
                 allow-update { key "ddns-key.tachtler.net"; };                 allow-update { key "ddns-key.tachtler.net"; };
 ... ...
-                allow-update { key "ddns-key.171.217.88.in-addr.arpa"; };+                allow-update { key "ddns-key.167.171.217.88.in-addr.arpa"; };
 ... ...
 </code> </code>
Zeile 2850: Zeile 3491:
 </code> </code>
  
-:!: **FIXME** - **Hier geht es weiter... / To be continued...**+===== ISC Bind 9 Configuration and Statistics ===== 
 + 
 +Auf nachfolgender WEB-Seite, kann nun über einen Browser und der IP-Adresse des Nameservers die Konfiguration und Statistiken z.B. im HTML-Format wie nachfolgend dargestellt angezeigt werden: 
 + 
 +{{:tachtler:bind:archlinux_isc_bind9_web-configuration-and-statistics.png?nolink|}} 
 + 
 +===== Nützlich Befehle ===== 
 + 
 +Nachfolgend befindet sich eine Liste mit **nützlichen Befehlen** rund um DNS- und die DNS-Server-Verwaltung. Die Liste erhebt __keinen__ Anspruch auf Vollständigkeit: 
 + 
 +DNS-Server Konfigurationsdatei auf Fehler überprüfen: 
 +<code> 
 +# /usr/sbin/named-checkconf /etc/named.conf 
 +</code>  
 + 
 +:!: **HINWEIS** - **Der Parameter ''/etc/named.conf'' __kann__ weggelassen werden, wenn die "default" Konfigurationsdatei ''/etc/named.conf'' verwendet wird.** 
 + 
 +DNS-Server Konfigurationsdatei auf Fehler überprüfen: in **''chroot''**-Umgebung: 
 +<code> 
 +# /usr/sbin/named-checkconf -t /var/named/chroot /etc/named.conf 
 +</code> 
 + 
 +DNS-Server Konfigurationsdatei auf Fehler überprüfen - und **Ausgabe der Konfigurationsdatei, mit "includes" und __ohne__ Kommentare**: 
 +<code> 
 +# /usr/sbin/named-checkconf -p /etc/named.conf 
 +</code>  
 + 
 +DNS-Server Zonenkonfigurationsdatei auf Fehler überprüfen: 
 + 
 +**Zonen**-Datei für die **Forward**-Auflösung - ''/var/named/zones/intra.tachtler.net.zone'' 
 +<code> 
 +# named-checkzone intra.tachtler.net /var/named/zones/intra.tachtler.net.zone 
 +</code> 
 + 
 +**Zonen**-Datei für die **Reverse**-Auflösung - ''/var/named/zones/0.168.192.zone'' 
 +<code> 
 +# named-checkzone 0.168.192 /var/named/zones/0.168.192.zone 
 +</code> 
 + 
 +DNS-Server **alle** Zonenkonfigurationsdateien **neu** einlesen, ohne den DNS-Server neu starten zu müssen: 
 +<code> 
 +# rndc reload 
 +</code>  
 + 
 +Neue Zonendatei für **''hint''** - **''root''**-Nameserver holen und abspeichern: 
 +<code> 
 +# dig +bufsize=1200 +norec NS . @a.root-servers.net > /var/named/named.root 
 +</code> 
 + 
 +Komplette Zonendatei der **''root''** - Zone holen und abspeichern zur ggf. späteren Einbindung nach dem Motto - "**DNS-Root-Zone zu Hause**" der **''root''**-Zone. Siehe auch nachfolgende externe Links: 
 +  * [[https://tools.ietf.org/html/rfc7706#appendix-B.1|Decreasing Access Time to Root Servers by Running One on Loopback]]   
 +  * [[https://www.dns.icann.org/services/axfr/|ICANN DNS Engineering > Services > Zone transfer]] 
 +<code> 
 +# dig +bufsize=1200 +norec AXFR . @lax.xfr.dns.icann.org > /var/named/rootzone.ca 
 +</code> 
 + 
 +Version des Verwendeten DNS-Servers abfragen (bind): 
 +<code> 
 +# dig txt chaos version.bind. 
 +</code> 
 + 
 +Auflisten aller DNS-Einträge einer Zone - hier z.B. intra.tachtler.net: 
 +<code> 
 +# dig axfr intra.tachtler.net 
 +</code> 
 + 
 +Logging für jede Anfrage **einschalten** **und** **ausschalten**: 
 +<code> 
 +# rndc querylog 
 +</code> 
 + 
 +Debugging Befehl für ein Abfrage via ''dig'': 
 +<code> 
 +dig @127.0.0.1 +trace +recurse +all +qr -t NS google.de 
 +</code> 
 + 
 +:!: **HINWEIS** Es kann nach dem einschalten ein  
 +  * **''tail -f /var/log/named/named.run''** 
 +bzw. 
 +  * **''tail -f /var/log/named/queries''** 
 +  * **''tail -f /var/log/named/query-errors''** 
 +durchgeführt werden, um jede Abfrage zu sehen! 
tachtler/dns_isc_bind_archlinux.1636898324.txt.gz · Zuletzt geändert: 2021/11/14 14:58 von klaus