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.

Hinweis : Die DNSKEY-Eintragsantworten spiegeln nicht die Gruppierung von DNSSEC-Schlüsselsätzen wider, sodass alle Schlüssel in einer flachen Liste angezeigt werden. Die beste Möglichkeit, die verschiedenen von Ihnen erstellten DNSSEC-Schlüssel anzuzeigen, besteht darin, eine Anfrage an 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:

Tabelle 1 DNSKEY-Objektdetails
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:

Tabelle 2 DNSKEY-Objektdetails
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.

Hinweis : Aktualisieren Sie vorhandene externe Schlüsselsätze nach Möglichkeit, anstatt den Schlüsselsatz zu löschen und neu zu erstellen. Andernfalls können Sie einen Schlüsselsatz (Anfrage 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}
Achtung : Wenn die Zone beim Registrar DNSSEC-aktiviert ist, löschen Sie keine Schlüssel, die von anderen Anbietern verwendet werden.