|
Rozmiar: 7828
Komentarz: + informacja o addns.xml; parametry do softhsm
|
Rozmiar: 7833
Komentarz: Poprawienie poleceń: copy-paste przy utf8 powoduje bardzo dziwne błędy
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 33: | Linia 33: |
| softhsm —-init-token —-slot 0 —-label "OpenDNSSEC" --so-pin 1223456 --pin 123456 | softhsm2-util --init-token --slot 0 --label "OpenDNSSEC" --so-pin 1223456 --pin 123456 |
| Linia 39: | Linia 39: |
| softhsm —-show-slots | softhsm2-util --show-slots |
Wydrukuj tę dokumentację Pokaż jako slajdy
Spis Treści
Konfiguracja DNSSEC w nsd
DNSSEC to rozszerzenie w konfiguracji strefy DNS zapewniające podpisanie każdego rekordu strefy w celu zapewnienia autentyczności odpowiedzi z serwerów DNS. DNSSEC bazuje na dwóch kluczach:
Zone Signing Key - klucz podpisujący strefę (jego czas życia powinien być relatywnie krótki - np. 3 miesiące
Key Signing Key - klucz podpisujący klucz ZSK. Czas życia KSK powinien być długi (przez analogię do certyfikatów): 1 rok, może 2-3 lata
Delegation Signer - rekord w DNSie (wprowadzany w panelu rejestratora), który zawiera informację o KSK (por. wikipedia:DNSSEC)
Zgodnie z zaleceniami DNSSEC, podpisywanie stref powinno się zmieniać co kilka dni (zmienny SALT), aby wykluczyć, że potencjalni atakujący odgadną klucz i będą w stanie odgadnąć, jak fałszować rekordy1
Instalacja oprogramowania
Za pomocą własnego repozytorium pakietów należy zainstalować niezbędne oprogramowanie:
pkg install -Uy nsd softhsm2 opendnssec2 bind-tools ldns
Konfiguracja NSD
Konfiguracja serwera nsd znajduje się w oddzielnym dokumencie. Drobne zmiany będą dotyczyły katalogu z plikami stref, ale będzie to zaznaczone w dalszym opisie.
Konfiguracja OpenDNSSEC
Konfiguracja OpenDNSSECa składa się z następujących składowych:
- Konfiguracja SoftHSM-a
- Konfiguracja samego OpenDNSSECa
Inicjalizacja SoftHSM
Pierwszym krokiem jest inicjalizacja SoftHSMa:
softhsm2-util --init-token --slot 0 --label "OpenDNSSEC" --so-pin 1223456 --pin 123456
UWAGA Należy koniecznie zapamiętać PINy, o które jest pytanie w trakcie inicjalizacji. Będą później potrzebne do konfiguracji.
Sprawdzenie SoftHSM
softhsm2-util --show-slots
Pliki konfiguracyjne opendnssec
Kolejnym krokiem jest utworzenie plików konfiguracyjnych opendnssec-a. Najłatwiej to wykonać poprzez kopię przykładowych konfiguracji a następnie modyfikacji2:
cd /usr/local/etc/opendnssec
cp addns.xml.sample addns.xml
cp conf.xml.sample conf.xml
cp kasp.xml.sample kasp.xml
cp zonelist.xml.sample zonelist.xml
addns.xml
UWAGA W przypadku podpisywania stref w plikach nie ma potrzeby tworzenie tego pliku konfiguracyjnego
<?xml version="1.0" encoding="UTF-8"?>
conf.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<RepositoryList>
<Repository name="SoftHSM">
<Module>/usr/local/lib/softhsm/libsofthsm.so</Module>
<TokenLabel>OpenDNSSEC</TokenLabel>
<PIN>****</PIN>
<SkipPublicKey/>
</Repository>
</RepositoryList>
<Common>
<Logging>
<Verbosity>3</Verbosity>
<Syslog><Facility>local0</Facility></Syslog>
</Logging>
<PolicyFile>/usr/local/etc/opendnssec/kasp.xml</PolicyFile>
<ZoneListFile>/usr/local/etc/opendnssec/zonelist.xml</ZoneListFile>
</Common>
<Enforcer>
<Datastore><SQLite>/usr/local/var/opendnssec/kasp.db</SQLite></Datastore>
<Interval>PT3600S</Interval>
</Enforcer>
<Signer>
<WorkingDirectory>/usr/local/var/opendnssec/tmp</WorkingDirectory>
<WorkerThreads>4</WorkerThreads>
<Listener>
<Interface><Address>10.9.128.2</Address><Port>53</Port></Interface>
</Listener>
</Signer>
</Configuration>
kasp.xml
<?xml version="1.0" encoding="UTF-8"?>
<KASP>
<Policy name="default">
<Description>A default policy that will amaze you and your friends</Description>
<Signatures>
<Resign>PT2H</Resign>
<Refresh>P3D</Refresh>
<Validity>
<Default>P14D</Default>
<Denial>P14D</Denial>
</Validity>
<Jitter>PT12H</Jitter>
<InceptionOffset>PT3600S</InceptionOffset>
</Signatures>
<Denial>
<NSEC3>
<Resalt>P100D</Resalt>
<Hash>
<Algorithm>1</Algorithm>
<Iterations>5</Iterations>
<Salt length="8"/>
</Hash>
</NSEC3>
</Denial>
<Keys>
<TTL>PT3600S</TTL>
<RetireSafety>PT3600S</RetireSafety>
<PublishSafety>PT3600S</PublishSafety>
<Purge>P14D</Purge>
<KSK>
<Algorithm length="2048">8</Algorithm>
<Lifetime>P1Y</Lifetime>
<Repository>SoftHSM</Repository>
</KSK>
<ZSK>
<Algorithm length="1024">8</Algorithm>
<Lifetime>P90D</Lifetime>
<Repository>SoftHSM</Repository>
</ZSK>
</Keys>
<Zone>
<PropagationDelay>PT43200S</PropagationDelay>
<SOA>
<TTL>PT3600S</TTL>
<Minimum>PT3600S</Minimum>
<Serial>datecounter</Serial>
</SOA>
</Zone>
<Parent>
<PropagationDelay>PT9999S</PropagationDelay>
<DS>
<TTL>PT3600S</TTL>
</DS>
<SOA>
<TTL>PT172800S</TTL>
<Minimum>PT10800S</Minimum>
</SOA>
</Parent>
</Policy>
</KASP>
zonelist.xml
<?xml version="1.0" encoding="UTF-8"?>
Źródła w sieci internet
Odnośniki do dokumentacji
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
Trochę to dziwne. W dokumentacjach (patrz źródła) wygląda jak kopiowanie tego zalecenia z RFC?? Do wyjaśnienia. (1)
Jeżeli umieszczę pliki w repozytorium konfiguracji, to będzie trzeba poniższe zmodyfikować (2)
