Konfigurieren externer DNSSEC-Schlüssel (nur API)
Verwenden Sie IBM® NS1 Connect® , um externe öffentliche DNSSEC-Schlüssel (DNSKEY-Einträge) zu konfigurieren und erweiterte Funktionen mit DNSSEC und mehreren DNS-Anbietern zu nutzen.
Für Organisationen mit mehreren DNS-Anbietern kann die Implementierung von DNSSEC eine große Herausforderung darstellen. Oft unterstützen verschiedene DNS-Anbieter spezifisches Verhalten, wie z. B. benutzerdefinierte DNS-Antworten, die nicht vorab zugewiesen werden können, oder anbieterspezifische Methoden zur Implementierung der DNSSEC-Signatur basierend auf ihrem Ansatz zur Datenverkehrsverwaltung.
Mit der NS1 Connect API können Sie mehrere externe DNSSEC-Schlüsselsätze zu der Zone hinzufügen, die DNSKEY-Einträge verwendet. Sie könnten zum Beispiel einen DNSSEC-Schlüsselsatz für jeden DNS-Anbieter erstellen, der nicht IBM NS1 Connect ist und die Zone bedient.
Wenn Sie die DNSSEC-Online-Signierung für eine NS1 Connect -Zone aktivieren, wird automatisch ein DNSKEY-Eintrag mit einem Key-Signing-Key (KSK) und einem Zone-Signing-Key (ZSK) für jedes Netzwerk generiert, in dem die Zone veröffentlicht wird. Wenn Sie externe DNSSEC-Schlüsselgruppen mithilfe der API hinzufügen, wird jeder DNSSEC-Schlüssel als neue Antwort zum DNSKEY-Datensatz hinzugefügt.
GET gegen /v1/zones/{zone_name}/dnssec/external_keys zu senden.Vorbereitende Schritte
- Sie müssen über einen gültigen NS1 Connect API-Schlüssel mit DNS-bezogenen Schreibrechten verfügen.
- Aktivieren Sie DNSSEC in der Zone, andernfalls wird die externe DNSSEC-Schlüsselkonfiguration ignoriert.
Das Objekt dnskey
Mit der API können Sie einen oder mehrere externe DNSSEC-Schlüssel als dnskey -Objekt hinzufügen, das Details zu einem oder mehreren öffentlichen Schlüsseln im DNSKEY-Format enthält. Fügen Sie dieses Objekt in den Textkörper der Anfrage für die Methoden PUT und POST ein, um die DNSSEC-Schlüsselsätze zu erstellen oder zu ändern.
Sie können zwar mehrere Sätze externer DNSSEC-Schlüssel innerhalb einer Zone haben, müssen aber jeweils nur einen Satz erstellen. Sie können zum Beispiel einen DNSSEC-Schlüsselsatz für jeden Anbieter erstellen, der nicht NS1 Connect ist, und einen oder mehrere Schlüssel angeben, die von diesem Anbieter zum Signieren von Zonendaten verwendet werden. Wie Sie externe DNSSEC-Schlüssel in Gruppen zusammenfassen, bleibt Ihnen überlassen.
Das folgende Beispiel zeigt das Objekt dnskey, das in den Anforderungstext aufgenommen werden muss, wenn Sie einen Satz DNSSEC-Schlüssel erstellen oder ändern.
{
"dnskey": {
"ttl": 1200,
"data": [
{
"flags": 256,
"protocol": 3,
"algorithm": 13,
"public_key": "58MeBmjs+4Ry0L+DzBCKR8Y7iQnnj9mCJBvZU7uVRYJ8htKi03lKXs6YySLDSxUMk31TgWPclYc88Z2FUDuI2Q=="
},
{
"flags": 257,
"protocol": 3,
"algorithm": 13,
"public_key": "7LvMDsyZV9qy/vCzPuATbLPA5vqNmbHclp13zIDRQQiQNeBOcsS9WIaJmY+j2ZPEELz8RGq32y85K/YUgUMm2g=="
}
]
}
}
Innerhalb des dnskey -Objekts können Sie einen Time-to-Live-Wert ( ttl ) (in Sekunden) für den Schlüsselsatz angeben. Das Array data enthält ein oder mehrere Objekte, wobei jedes Objekt im Array einem DNSSEC-Schlüssel entspricht. Für jeden DNSSEC-Schlüssel müssen Sie die folgenden Parameter angeben:
| Parameter | Beschreibung |
|---|---|
| flags (ganze Zahl) | Der DNSSEC-Schlüsseltyp. NS1 Connect unterstützt zwei Werte: 256 (für ZSK) und 257 (für KSK). |
| protocol (ganze Zahl) | Setzen Sie diesen Wert auf 3, um einen DNSSEC-Schlüssel anzugeben. |
| algorithm (ganze Zahl) | Eine 16-Bit-Ganzzahl ohne Vorzeichen, die den DNSSEC-Schlüsselalgorithmus angibt. NS1 Connect unterstützt einen Wert von 13 (ECDSA-P256-SHA256).Hinweis : Die Angabe eines anderen Algorithmus als 13 ist optional und kann in bestimmten Szenarien zu Validierungsfehlern führen. |
| public_key (Zeichenfolge) | Öffentlicher Schlüssel in Base64 -Kodierung. |
Erstellen externer DNSSEC-Schlüsselgruppen
Mit der API können Sie einen oder mehrere DNSSEC-Schlüsselsätze innerhalb einer Zone erstellen. Sie können beispielsweise einen Schlüsselsatz für jeden DNS-Anbieter erstellen. Zusätzlich zur Angabe des Objekts dnskey im Textfeld der Anfrage müssen Sie auch die folgenden Pfadparameter URL angeben:
| Parameter | Beschreibung |
|---|---|
| {zone_name} (ganze Zahl) | Der DNSSEC-Schlüsseltyp. NS1 Connect unterstützt zwei Werte: 256 (für ZSK) und 257 (für KSK). |
| {key_set_name} (ganze Zahl) | Setzen Sie diesen Wert auf 3, um einen DNSSEC-Schlüssel anzugeben. |
Die folgende PUT -Anfrage erstellt einen neuen DNSSEC-Schlüsselsatz mit zwei DNSSEC-Schlüsseln (d. h. zwei Objekten innerhalb des data -Arrays).
curl -X PUT -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/dnssec/external_keys/{key_set_name} -d '{
"dnskey": {
"ttl": 1200,
"data": [
{
"flags": 256,
"protocol": 3,
"algorithm": 13,
"public_key": "58MeBmjs+4Ry0L+DzBCKR8Y7iQnnj9mCJBvZU7uVRYJ8htKi03lKXs6YySLDSxUMk31TgWPclYc88Z2FUDuI2Q=="
},
{
"flags": 257,
"protocol": 3,
"algorithm": 13,
"public_key": "7LvMDsyZV9qy/vCzPuATbLPA5vqNmbHclp13zIDRQQiQNeBOcsS9WIaJmY+j2ZPEELz8RGq32y85K/YUgUMm2g=="
}
]
}
}'
Nachdem Sie den DNSSEC-Schlüsselsatz auf der Plattform NS1 Connect konfiguriert haben, müssen Sie diesen Vorgang möglicherweise auf den Plattformen Ihrer anderen DNS-Anbieter wiederholen.
Externe Details des DNSSEC-Schlüsselsatzes anzeigen
Sie können Details zu allen DNSSEC-Schlüsselsätzen innerhalb einer Zone anzeigen oder den Abfrageparameter {key_set_name} festlegen, um die Antwort so zu filtern, dass Details zu einem einzelnen Schlüsselsatz zurückgegeben werden.
curl -X GET -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/dnssec/external_keys/{key_set_name}
Ändern Sie externe DNSSEC-Schlüsselgruppen
Mit der API NS1 Connect können Sie externe DNSSEC-Schlüsselsatzdaten bearbeiten, indem Sie Schlüssel innerhalb dieses Satzes hinzufügen, entfernen oder aktualisieren. Geben Sie den Zonennamen und den Namen des DNSSEC-Schlüssels an, der im Pfad URL festgelegt ist. Sie können einen vorhandenen DNSSEC-Schlüssel nicht umbenennen.
Das folgende Beispiel einer POST -Anfrage ändert die vorhandenen DNSSEC-Schlüssel-Set-Daten innerhalb einer Zone.
curl -X POST -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/dnssec/external_keys/{key_set_name} -d '{
"dnskey": {
"ttl": 1200,
"data": [
{
"flags": 256,
"protocol": 3,
"algorithm": 13,
"public_key": "58MeBmjs+4Ry0L+DzBCKR8Y7iQnnj9mCJBvZU7uVRYJ8htKi03lKXs6YySLDSxUMk31TgWPclYc88Z2FUDuI2Q==string"
},
{
"flags": 257,
"protocol": 3,
"algorithm": 13,
"public_key": "7LvMDsyZV9qy/vCzPuATbLPA5vqNmbHclp13zIDRQQiQNeBOcsS9WIaJmY+j2ZPEELz8RGq32y85K/YUgUMm2g==string"
}
]
}
}'
Änderungen an den externen DNSSEC-Schlüsseln werden sofort übernommen.
Löschen eines externen DNSSEC-Schlüsselsatzes
Um einen externen DNSSEC-Schlüsselsatz zu entfernen, geben Sie den Zonennamen und den DNSSEC-Schlüsselsatznamen im Pfad URL an.
PUT ) mit einem neuen Namen neu erstellen und dann den alten Schlüsselsatz löschen.curl -X DELETE -H "X-NSONE-Key: $NSONE_API_KEY" https://api.nsone.net/v1/zones/{zone_name}/external_keys/{key_set_name}