tachtler:dns_isc_bind_archlinux
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
tachtler:dns_isc_bind_archlinux [2021/11/14 15:06] – [rndc sync] klaus | tachtler:dns_isc_bind_archlinux [2023/08/09 12:58] – [Vorbereitung: CSK] klaus | ||
---|---|---|---|
Zeile 30: | Zeile 30: | ||
Folgender Befehl ist zur Installation auszuführen: | Folgender Befehl ist zur Installation auszuführen: | ||
+ | < | ||
+ | # pacman --noconfirm -S bind | ||
+ | </ | ||
+ | ++++ Installationsverlauf | | ||
< | < | ||
# pacman --noconfirm -S bind | # pacman --noconfirm -S bind | ||
Zeile 62: | Zeile 66: | ||
==> root: 19 | ==> root: 19 | ||
</ | </ | ||
+ | ++++ | ||
:!: **HINWEIS** - **Evtl. erschien ein Hinweis, das das Paket '' | :!: **HINWEIS** - **Evtl. erschien ein Hinweis, das das Paket '' | ||
Mit nachfolgendem Befehl kann überprüft werden, was der Inhalt des Pakets '' | Mit nachfolgendem Befehl kann überprüft werden, was der Inhalt des Pakets '' | ||
+ | < | ||
+ | # pacman -Qil bind | ||
+ | </ | ||
+ | ++++ Installierte Dateien | | ||
< | < | ||
# pacman -Qil bind | # pacman -Qil bind | ||
Zeile 506: | Zeile 515: | ||
bind / | bind / | ||
</ | </ | ||
+ | ++++ | ||
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 - ''/ | * **Zonen**-Datei für die **Reverse**-Auflösung - ''/ | ||
* **Zonen**-Datei für die **Forward**-Auflösung - ''/ | * **Zonen**-Datei für die **Forward**-Auflösung - ''/ | ||
- | * **Zonen**-Datei für die **Reverse**-Auflösung - ''/ | + | * **Zonen**-Datei für die **Reverse**-Auflösung - ''/ |
Natürlich können diese Dateien im **Verzeichnis** | Natürlich können diese Dateien im **Verzeichnis** | ||
Zeile 1102: | Zeile 1112: | ||
mx1 | mx1 | ||
+ | @ A 88.217.171.167 | ||
</ | </ | ||
Zeile 1111: | Zeile 1122: | ||
</ | </ | ||
- | === / | + | === / |
Nachfolgend ein **Beispiel**, | Nachfolgend ein **Beispiel**, | ||
Zeile 1127: | Zeile 1138: | ||
MX 10 | MX 10 | ||
- | 167 PTR | + | @ PTR mx1.tachtler.net. |
+ | @ PTR tachtler.net. | ||
</ | </ | ||
Zeile 1133: | Zeile 1145: | ||
Um die **syntaktische Korrektheit** einer **Zonen**-Datei zu überprüfen, | Um die **syntaktische Korrektheit** einer **Zonen**-Datei zu überprüfen, | ||
< | < | ||
- | # named-checkzone 171.217.88 / | + | # named-checkzone |
- | zone 171.217.88/ | + | zone 167.171.217.88/ |
OK | OK | ||
</ | </ | ||
Zeile 1380: | Zeile 1392: | ||
type master; | type master; | ||
file " | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
}; | }; | ||
}; | }; | ||
Zeile 1407: | Zeile 1427: | ||
file " | file " | ||
}; | }; | ||
- | zone " | + | zone "167.171.217.88.in-addr.arpa" |
type master; | type master; | ||
- | file " | + | file " |
}; | }; | ||
}; | }; | ||
Zeile 1489: | Zeile 1509: | ||
} | } | ||
</ | </ | ||
- | |||
- | :!: **FIXME** - **Hier erfolgen noch Ergänzugen ...** | ||
=== Statistics-Channel === | === Statistics-Channel === | ||
Zeile 1547: | Zeile 1565: | ||
type master; | type master; | ||
file " | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
}; | }; | ||
}; | }; | ||
Zeile 1574: | Zeile 1600: | ||
file " | file " | ||
}; | }; | ||
- | zone " | + | zone "167.171.217.88.in-addr.arpa" |
type master; | type master; | ||
- | file " | + | file " |
}; | }; | ||
}; | }; | ||
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 |
</ | </ | ||
Zeile 1855: | Zeile 1883: | ||
Nov 06 07:44:41 server named[39523]: | Nov 06 07:44:41 server named[39523]: | ||
Nov 06 07:44:41 server named[39523]: | Nov 06 07:44:41 server named[39523]: | ||
- | Nov 06 07:44:41 server named[39523]: | + | Nov 06 07:44:41 server named[39523]: |
+ | Nov 06 07:44:41 server named[39523]: | ||
+ | Nov 06 07:44:41 server named[39523]: | ||
Nov 06 07:44:41 server named[39523]: | Nov 06 07:44:41 server named[39523]: | ||
Nov 06 07:44:41 server named[39523]: | Nov 06 07:44:41 server named[39523]: | ||
- | Nov 06 07:44:41 server named[39523]: | + | Nov 06 07:44:41 server named[39523]: |
- | Nov 06 07:44:41 server named[39523]: | + | Nov 06 07:44:41 server named[39523]: |
Nov 06 07:44:41 server named[39523]: | Nov 06 07:44:41 server named[39523]: | ||
Nov 06 07:44:41 server named[39523]: | Nov 06 07:44:41 server named[39523]: | ||
Zeile 1918: | Zeile 1948: | ||
06-Nov-2021 07: | 06-Nov-2021 07: | ||
06-Nov-2021 07: | 06-Nov-2021 07: | ||
+ | 06-Nov-2021 07: | ||
06-Nov-2021 07: | 06-Nov-2021 07: | ||
- | 06-Nov-2021 07: | + | 06-Nov-2021 07: |
+ | 06-Nov-2021 07: | ||
06-Nov-2021 07: | 06-Nov-2021 07: | ||
06-Nov-2021 07: | 06-Nov-2021 07: | ||
Zeile 1982: | Zeile 2014: | ||
</ | </ | ||
- | ===== DNSsec ===== | + | ===== DNSsec |
DNSSEC gibt es bereits 1997 mit einer ersten Definition der Domain Name System Security Extensions (DNSsec) im [[http:// | DNSSEC gibt es bereits 1997 mit einer ersten Definition der Domain Name System Security Extensions (DNSsec) im [[http:// | ||
Zeile 2003: | Zeile 2035: | ||
(Quelle: [[https:// | (Quelle: [[https:// | ||
- | ==== 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 | ||
</ | </ | ||
- | und die **REVERSE** - Zone - '' | + | und die **REVERSE** - Zone - '' |
< | < | ||
- | # dnssec-keygen -K / | + | # dnssec-keygen -K / |
Generating key pair. | Generating key pair. | ||
- | K171.217.88.in-addr.arpa.+015+59631 | + | K167.171.217.88.in-addr.arpa.+015+59631 |
</ | </ | ||
Zeile 2070: | Zeile 2102: | ||
Ktachtler.net.+015+37463 | Ktachtler.net.+015+37463 | ||
</ | </ | ||
- | und die **REVERSE** - Zone - '' | + | und die **REVERSE** - Zone - '' |
< | < | ||
- | # dnssec-keygen -K / | + | # dnssec-keygen -K / |
Generating key pair. | Generating key pair. | ||
- | K171.217.88.in-addr.arpa.+015+05640 | + | K167.171.217.88.in-addr.arpa.+015+05640 |
</ | </ | ||
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 / | # grep key-signing / | ||
/ | / | ||
- | / | + | / |
/ | / | ||
/ | / | ||
Zeile 2132: | Zeile 2164: | ||
# grep zone-signing / | # grep zone-signing / | ||
/ | / | ||
- | / | + | / |
/ | / | ||
/ | / | ||
</ | </ | ||
- | ==== DNSSec: / | + | ==== DNSSec |
Es gibt die Möglichkeit den DNS-Server [[http:// | Es gibt die Möglichkeit den DNS-Server [[http:// | ||
Zeile 2153: | Zeile 2185: | ||
Nachfolgende Anpassungen der Konfigurationsdatei ''/ | Nachfolgende Anpassungen der Konfigurationsdatei ''/ | ||
- | 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: |
< | < | ||
... | ... | ||
inline-signing yes; | inline-signing yes; | ||
auto-dnssec maintain; | auto-dnssec maintain; | ||
- | key-directory " | ||
... | ... | ||
</ | </ | ||
Zeile 2402: | Zeile 2433: | ||
inline-signing yes; | inline-signing yes; | ||
auto-dnssec maintain; | auto-dnssec maintain; | ||
- | key-directory " | ||
}; | }; | ||
zone " | zone " | ||
Zeile 2409: | Zeile 2439: | ||
inline-signing yes; | inline-signing yes; | ||
auto-dnssec maintain; | auto-dnssec maintain; | ||
- | key-directory | + | }; |
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | inline-signing yes; | ||
+ | auto-dnssec maintain; | ||
+ | }; | ||
+ | zone "167.171.217.88.in-addr.arpa" | ||
+ | type master; | ||
+ | file " | ||
+ | inline-signing yes; | ||
+ | auto-dnssec maintain; | ||
}; | }; | ||
}; | }; | ||
Zeile 2438: | Zeile 2479: | ||
inline-signing yes; | inline-signing yes; | ||
auto-dnssec maintain; | auto-dnssec maintain; | ||
- | key-directory " | ||
}; | }; | ||
- | zone " | + | zone "167.171.217.88.in-addr.arpa" |
type master; | type master; | ||
- | file " | + | file " |
inline-signing yes; | inline-signing yes; | ||
auto-dnssec maintain; | auto-dnssec maintain; | ||
- | key-directory " | ||
}; | }; | ||
}; | }; | ||
</ | </ | ||
- | ==== DNSSec: Überprüfung ==== | + | ==== DNSSec |
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 |
</ | </ | ||
- | ==== DNSSec: Neustart ==== | + | ==== DNSSec |
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: | ||
</ | </ | ||
- | ==== Überprüfung DNSsec ==== | + | ==== Überprüfung |
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 **'' | Wie **'' | ||
- | < | + | < |
# 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: | ||
- | < | + | < |
# 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 | ||
+ | </ | ||
+ | |||
+ | :!: **HINWEIS** - Eine Abfrage kann nur auf eine Zone erfolgen, nicht auf einen einzelnen DNS-Eintrag. | ||
+ | |||
+ | ===== DNSsec - Variante CSK ===== | ||
+ | |||
+ | :!: **HINWEIS** - Ab [[https:// | ||
+ | |||
+ | DNSSEC gibt es bereits 1997 mit einer ersten Definition der Domain Name System Security Extensions (DNSsec) im [[http:// | ||
+ | |||
+ | 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), | ||
+ | |||
+ | Mit [[https:// | ||
+ | |||
+ | Mit **'' | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | ==== Vorbereitung: | ||
+ | |||
+ | Die **standardmässige** DNSsec-Policy, | ||
+ | |||
+ | Deshalb soll die **'' | ||
+ | |||
+ | Die Vergabe und Konfiguration eine eigenen **'' | ||
+ | * ''/ | ||
+ | und kann wie folgt aussehen: | ||
+ | |||
+ | (**Nur relevanter Ausschnitt**) | ||
+ | <code ini> | ||
+ | dnssec-policy " | ||
+ | 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; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | **__Erklärungen__**: | ||
+ | |||
+ | * <code ini> | ||
+ | |||
+ | Dies ist die einzige Änderung bzw. Ergänzung zum **'' | ||
+ | * Interationen bei der Erstellung | ||
+ | * Anzeige der Ausgabe | ||
+ | * " | ||
+ | |||
+ | :!: **HINWEIS** - **Nachfolgende Seiten geben über den aktuellen Stand der Benutzung von NSEC3 auskunft:** | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ==== DNSSec CSK: / | ||
+ | |||
+ | Es gibt die Möglichkeit den DNS-Server [[http:// | ||
+ | |||
+ | Dafür gibt es die Option | ||
+ | * '' | ||
+ | |||
+ | Bei der Einstellung '' | ||
+ | |||
+ | Nachfolgende Anpassungen der Konfigurationsdatei ''/ | ||
+ | |||
+ | Nachfolgende **zwei** Konfigurationszeilen müssen bei der **__jeweiligen Zonen-Definition__** hinzugefügt werden: | ||
+ | < | ||
+ | ... | ||
+ | inline-signing yes; | ||
+ | dnssec-policy defaultnsec3; | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | :!: **ACHTUNG** - **Falls '' | ||
+ | |||
+ | :!: **HINWEIS** - Der DNS-Server [[http:// | ||
+ | |||
+ | Nachfolgend die Konfigurationsdatei mit den durchgeführten Anpassungen, | ||
+ | <code ini> | ||
+ | # egrep -v ' | ||
+ | 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/ | ||
+ | }; | ||
+ | acl home_v6 { | ||
+ | fd00: | ||
+ | }; | ||
+ | controls { | ||
+ | inet 127.0.0.1 port 953 | ||
+ | allow { 127.0.0.1; } keys { " | ||
+ | }; | ||
+ | include "// | ||
+ | logging { | ||
+ | channel default_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel auth_servers_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel dnssec_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel zone_transfers_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel ddns_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel client_security_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel rate_limiting_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel rpz_log { | ||
+ | | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel dnstap_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel queries_log { | ||
+ | file "/ | ||
+ | print-time yes; | ||
+ | print-category yes; | ||
+ | print-severity yes; | ||
+ | severity info; | ||
+ | }; | ||
+ | channel query-errors_log { | ||
+ | file "/ | ||
+ | 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 "/ | ||
+ | severity dynamic; | ||
+ | }; | ||
+ | category default { default_syslog; | ||
+ | category config { default_syslog; | ||
+ | category dispatch { default_syslog; | ||
+ | category network { default_syslog; | ||
+ | category general { default_syslog; | ||
+ | category zoneload { default_syslog; | ||
+ | category resolver { auth_servers_log; | ||
+ | category cname { auth_servers_log; | ||
+ | category delegation-only { auth_servers_log; | ||
+ | category edns-disabled { auth_servers_log; | ||
+ | category dnssec { dnssec_log; default_debug; | ||
+ | category notify { zone_transfers_log; | ||
+ | category xfer-in { zone_transfers_log; | ||
+ | category xfer-out { zone_transfers_log; | ||
+ | category update{ ddns_log; default_debug; | ||
+ | category update-security { ddns_log; default_debug; | ||
+ | category client{ client_security_log; | ||
+ | category security { client_security_log; | ||
+ | category rate-limit { rate_limiting_log; | ||
+ | category spill { rate_limiting_log; | ||
+ | category database { rate_limiting_log; | ||
+ | category rpz { rpz_log; default_debug; | ||
+ | category dnstap { dnstap_log; default_debug; | ||
+ | category queries { queries_log; | ||
+ | category query-errors { query-errors_log; | ||
+ | }; | ||
+ | options { | ||
+ | directory "/ | ||
+ | geoip-directory none; | ||
+ | key-directory "/ | ||
+ | managed-keys-directory "/ | ||
+ | new-zones-directory "/ | ||
+ | dump-file "/ | ||
+ | memstatistics-file "/ | ||
+ | pid-file "/ | ||
+ | recursing-file "/ | ||
+ | statistics-file "/ | ||
+ | bindkeys-file "/ | ||
+ | secroots-file "/ | ||
+ | session-keyalg hmac-sha512; | ||
+ | session-keyfile "/ | ||
+ | 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; | ||
+ | home_v4; | ||
+ | }; | ||
+ | allow-query-on { | ||
+ | localhost; | ||
+ | primary_v4; | ||
+ | }; | ||
+ | allow-query-cache { | ||
+ | localhost; | ||
+ | home_v4; | ||
+ | }; | ||
+ | allow-query-cache-on { | ||
+ | localhost; | ||
+ | home_v4; | ||
+ | }; | ||
+ | allow-recursion { | ||
+ | localhost; | ||
+ | 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; | ||
+ | }; | ||
+ | }; | ||
+ | view " | ||
+ | match-clients { | ||
+ | localhost; | ||
+ | home_v4; | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type hint; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | dnssec-policy defaultnsec3; | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | dnssec-policy defaultnsec3; | ||
+ | inline-signing yes; | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | dnssec-policy defaultnsec3; | ||
+ | inline-signing yes; | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | dnssec-policy defaultnsec3; | ||
+ | inline-signing yes; | ||
+ | }; | ||
+ | }; | ||
+ | view " | ||
+ | match-clients { | ||
+ | localhost; | ||
+ | !home_v4; | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type hint; | ||
+ | file " | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | dnssec-policy defaultnsec3; | ||
+ | inline-signing yes; | ||
+ | }; | ||
+ | zone " | ||
+ | type master; | ||
+ | file " | ||
+ | dnssec-policy defaultnsec3; | ||
+ | inline-signing yes; | ||
+ | }; | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | ==== DNSSec CSK: Überprüfung ==== | ||
+ | |||
+ | Mit nachfolgendem Befehl kann die **syntaktische Richtigkeit** der Konfigurationsdatei: | ||
+ | * ''/ | ||
+ | durchgeführt werden und sollte keine Meldungen ausgeben, wenn die Konfigurationsdatei **syntaktische richtig** ist: | ||
+ | < | ||
+ | # 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 | ||
+ | </ | ||
+ | |||
+ | ==== 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: | ||
+ | < | ||
+ | # systemctl restart named.service | ||
+ | </ | ||
+ | |||
+ | ==== 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: | ||
+ | < | ||
+ | Jun 17 14:27:58 vml020 named[2832]: | ||
+ | IN/ | ||
+ | Jun 17 14:27:58 vml020 named[2832]: | ||
+ | IN/ | ||
+ | Jun 17 14:27:58 vml020 named[2832]: | ||
+ | IN/ | ||
+ | Jun 17 14:27:58 vml020 named[2832]: | ||
+ | IN/ | ||
+ | Jun 17 14:27:58 vml020 named[2832]: | ||
+ | addr.arpa/ | ||
+ | Jun 17 14:27:58 vml020 named[2832]: | ||
+ | addr.arpa/ | ||
+ | </ | ||
+ | |||
+ | Dies ist nur das Ergebnis der Feststellung, | ||
+ | |||
+ | Das Ergebnis der **__automatischen__ Schlüsselerstellung** kann durch Auflistung des Verzeichnisses: | ||
+ | * ''/ | ||
+ | überprüft werden uns sollte verschiedenes Schlüsselmaterial in etwa wie folgt zur Anzeige bringen: | ||
+ | < | ||
+ | # ls -l / | ||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | ==== Überprüfung CSK: DNSsec ==== | ||
+ | |||
+ | Folgende Abfrage sollte nun eine Ausgabe in etwa wie die nachfolgende zur Anzeige bringen: | ||
+ | < | ||
+ | # dig @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi | ||
+ | |||
+ | ; <<>> | ||
+ | ; (1 server found) | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; 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: | ||
+ | ; | ||
+ | |||
+ | ;; 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/ | ||
+ | fqAgkDgeV7I+K+4NfUW+Y+LAaSHNwAtPoLwqstLuoQ== ) | ||
+ | |||
+ | ;; Query time: 0 msec | ||
+ | ;; SERVER: 127.0.0.1# | ||
+ | ;; WHEN: Fri Jun 17 18:40:36 CEST 2022 | ||
+ | ;; MSG SIZE rcvd: 215 | ||
+ | |||
+ | </ | ||
+ | |||
+ | :!: **HINWEIS** - Das '' | ||
+ | |||
+ | 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; | ||
+ | </ | ||
+ | |||
+ | **__Nachfolgende Optionen sind möglich__**: | ||
+ | |||
+ | * <code ini> | ||
+ | |||
+ | Der Server ist bei der Erstellung von Antworten so vollständig wie möglich. | ||
+ | |||
+ | * <code ini> | ||
+ | |||
+ | 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, | ||
+ | |||
+ | * <code ini> | ||
+ | |||
+ | Der Server lässt Datensätze aus dem " | ||
+ | |||
+ | * <code ini> | ||
+ | |||
+ | Wie **'' | ||
+ | |||
+ | < | ||
+ | # dig @127.0.0.1 rechner10.intra.tachtler.net +dnssec +multi | ||
+ | |||
+ | ; <<>> | ||
+ | ; (1 server found) | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; 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: | ||
+ | ; | ||
+ | |||
+ | ;; 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/ | ||
+ | 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/ | ||
+ | |||
+ | ;; 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# | ||
+ | ;; WHEN: Fri Jun 17 18:43:12 CEST 2022 | ||
+ | ;; MSG SIZE rcvd: 477 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Nachfolgende Abfrage bringt den **DNSKEY** zum Vorschein: | ||
+ | < | ||
+ | # dig @127.0.0.1 +cd +multi intra.tachtler.net dnskey | ||
+ | |||
+ | ; <<>> | ||
+ | ; (1 server found) | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; 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: | ||
+ | ; | ||
+ | |||
+ | ;; ANSWER SECTION: | ||
+ | intra.tachtler.net. 3600 IN DNSKEY 257 3 13 ( | ||
+ | cwuwXubEW8if4s/ | ||
+ | dObg3GD3KN+KQLkRQE5QMxcP86il8GWWGeEYIv1lfw== | ||
+ | ) ; KSK; alg = ECDSAP256SHA256 ; key id = 42607 | ||
+ | |||
+ | ;; Query time: 0 msec | ||
+ | ;; SERVER: 127.0.0.1# | ||
+ | ;; WHEN: Fri Jun 17 14:43:48 CEST 2022 | ||
+ | ;; MSG SIZE rcvd: 155 | ||
+ | |||
+ | |||
</ | </ | ||
Zeile 2656: | Zeile 3297: | ||
# ddns-confgen -q -a hmac-sha512 -z 0.168.192.in-addr.arpa > / | # ddns-confgen -q -a hmac-sha512 -z 0.168.192.in-addr.arpa > / | ||
# ddns-confgen -q -a hmac-sha512 -z tachtler.net > / | # ddns-confgen -q -a hmac-sha512 -z tachtler.net > / | ||
- | # ddns-confgen -q -a hmac-sha512 -z 171.217.88.in-addr.arpa > / | + | # ddns-confgen -q -a hmac-sha512 -z 167.171.217.88.in-addr.arpa > / |
</ | </ | ||
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 " | secret " | ||
}; | }; | ||
- | key " | + | key "167.171.217.88.in-addr.arpa" |
algorithm hmac-sha512; | algorithm hmac-sha512; | ||
secret " | secret " | ||
Zeile 2718: | Zeile 3359: | ||
include "/ | include "/ | ||
include "/ | include "/ | ||
- | include "/ | + | include "/ |
- | include "/ | + | include "/ |
... | ... | ||
... | ... | ||
Zeile 2729: | Zeile 3370: | ||
allow-update { key " | allow-update { key " | ||
... | ... | ||
- | allow-update { key " | + | allow-update { key " |
... | ... | ||
</ | </ | ||
Zeile 2849: | Zeile 3490: | ||
rechner20 A 192.168.0.20 | rechner20 A 192.168.0.20 | ||
</ | </ | ||
+ | |||
+ | ===== 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: | ||
+ | |||
+ | {{: | ||
+ | |||
===== Nützlich Befehle ===== | ===== Nützlich Befehle ===== | ||
Zeile 2872: | Zeile 3520: | ||
DNS-Server Zonenkonfigurationsdatei auf Fehler überprüfen: | DNS-Server Zonenkonfigurationsdatei auf Fehler überprüfen: | ||
- | **Zonen**-Datei für die **Forward**-Auflösung - ''/ | + | **Zonen**-Datei für die **Forward**-Auflösung - ''/ |
< | < | ||
- | # named-checkzone intra.tachtler.net / | + | # named-checkzone intra.tachtler.net / |
</ | </ | ||
- | **Zonen**-Datei für die **Reverse**-Auflösung - ''/ | + | **Zonen**-Datei für die **Reverse**-Auflösung - ''/ |
< | < | ||
- | # named-checkzone 0.168.192 / | + | # named-checkzone 0.168.192 / |
</ | </ | ||
tachtler/dns_isc_bind_archlinux.txt · Zuletzt geändert: 2023/08/09 12:58 von klaus