Schulungsunterlage: SwissSign-Validierung erneuern — Domain contoso.com

Ticket TICKET-00000
Kunde Contoso AG (KUN-000)
Zweck Jährliche SwissSign DNS-Validierung via dnscmd erneuern
Techniker Max Muster
Referenzdokument SEPPMAIL.cloud Install and Configure Guide.docx — Version 1.5, Kapitel 3.15 / 3.4
Hintergrund

SwissSign verlangt eine jährliche Domain-Validierung auf DNS-Ebene. Die Validierungsaufforderung kommt per E-Mail von [email protected]. Die DNS-Einträge müssen innerhalb Monatsfrist in der jeweiligen DNS-Zone eingefügt werden, damit die Validierung erfolgen kann.

Über den Dienst seppmail.cloud certificate werden Zertifikate für den jeweiligen Benutzer bezogen. Der MPKI-Provider (SwissSign) prüft damit, ob der Antragssteller berechtigt ist, für die jeweilige Domäne Zertifikate zu beziehen. Der Dienst ist in der Regel einen Arbeitstag nach Erstellen des DNS-Eintrages verfügbar.

Benötigte DNS-Eintragsstruktur
  • SwissSign TXT domain.tld  3600  IN  TXT  "swisssign-check=<key>"
  • GINA 1 – ACME Challenge CNAME _acme-challenge.securemail.domain.tld  300  IN  CNAME  _acme-challenge.securemail.domain.tld.le.seppmail.cloud.
  • GINA 2 – Securemail CNAME securemail.domain.tld  300  IN  CNAME  securemail.ch.seppmail.cloud.
Achtung: Den swisssign-key ohne die Zeichen < und > eingeben. Die abschliessenden Punkte am Ende von domain.tld und seppmail.cloud. dürfen nicht vergessen werden.
Script – DNS Inventar & SwissSign-Eintrag aktualisieren

Das folgende Script wird als Script Editor im Agent (NinjaOne / RMM) auf dem DNS-Server des Kunden ausgeführt. Es setzt dnscmd als primäres Tool ein.

Schritt 1: Zone-Inventar Schritt 2: Eintrag suchen Schritt 3a: Alten Eintrag löschen Schritt 3b: Neuen Eintrag setzen Schritt 4: Kontrolle Schritt 5: GINA CNAME prüfen Schritt 6: Externe Verifikation
PowerShell SwissSign DNS-Validierung erneuern — contoso.com — TICKET-00000
# ============================================================
# SCHULUNG: SwissSign DNS-Validierung erneuern – contoso.com
# Ticket:   TICKET-00000
# Techniker: Max Muster
# Tool:     dnscmd (auf dem DNS-Server des Kunden ausfuehren)
# ============================================================

# --- VARIABLEN ANPASSEN ---
$DNSServer  = "."                       # "." = lokaler DNS-Server; sonst Hostname/IP
$Zone       = "contoso.com"
$SwissKey   = "HIER_KEY_AUS_SEPPMAIL_EMAIL_EINFUEGEN"  # Key aus E-Mail von [email protected]

# ============================================================
# SCHRITT 1: ZONE-INVENTAR – alle Records der Zone ausgeben
# Zweck: Uebersicht verschaffen, bestehende swisssign-/acme-Eintraege finden
# ============================================================

Write-Host "=== ZONE INVENTAR: $Zone ===" -ForegroundColor Cyan
dnscmd $DNSServer /enumrecords $Zone "@" /type TXT
dnscmd $DNSServer /enumrecords $Zone "@"

# ============================================================
# SCHRITT 2: BESTEHENDEN swisssign-check TXT-EINTRAG SUCHEN
# Zweck: Pruefen ob ein alter Key vorhanden ist (muss ersetzt werden)
# ============================================================

Write-Host "`n=== SUCHE NACH swisssign-check EINTRAG ===" -ForegroundColor Yellow
dnscmd $DNSServer /enumrecords $Zone "@" /type TXT | Select-String "swisssign"

# ============================================================
# SCHRITT 3a: ALTEN swisssign-check TXT-EINTRAG LOESCHEN
# ACHTUNG: Nur ausfuehren wenn ein alter Eintrag existiert!
# ACHTUNG: Loescht ALLE TXT-Records auf "@" – bei mehreren TXT-Eintraegen
#          (z.B. SPF!) zuerst pruefen und gezielt loeschen!
# ============================================================

Write-Host "`n=== LOESCHE ALTEN swisssign TXT-EINTRAG ===" -ForegroundColor Red
dnscmd $DNSServer /recorddelete $Zone "@" TXT /f
# Hinweis: /f = Force (kein Rueckfrage-Prompt)

# ============================================================
# SCHRITT 3b: NEUEN swisssign-check TXT-EINTRAG SETZEN
# Format: contoso.com. 3600 IN TXT "swisssign-check=<key>"
# ============================================================

Write-Host "`n=== SETZE NEUEN swisssign TXT-EINTRAG ===" -ForegroundColor Green
dnscmd $DNSServer /recordadd $Zone "@" 3600 TXT "swisssign-check=$SwissKey"

# ============================================================
# SCHRITT 4: KONTROLLE – neuen Eintrag verifizieren
# ============================================================

Write-Host "`n=== KONTROLLE: TXT-EINTRAEGE NACH UPDATE ===" -ForegroundColor Cyan
dnscmd $DNSServer /enumrecords $Zone "@" /type TXT

# ============================================================
# SCHRITT 5: OPTIONAL – GINA CNAME-EINTRAEGE PRUEFEN
# (werden bei der Erstinstallation gesetzt, aendern sich i.d.R. nicht)
# ============================================================

Write-Host "`n=== CNAME-EINTRAEGE PRUEFEN (GINA) ===" -ForegroundColor Cyan
dnscmd $DNSServer /enumrecords $Zone "_acme-challenge.securemail"
dnscmd $DNSServer /enumrecords $Zone "securemail"

# ============================================================
# SCHRITT 6: EXTERNE VERIFIKATION (nach DNS-Replikation ~5-15min)
# ============================================================

Write-Host "`n=== EXTERNE VERIFIKATION (nach Replikation) ===" -ForegroundColor Magenta
Write-Host "Befehl zum Testen: nslookup -type=TXT $Zone 8.8.8.8"
Resolve-DnsName -Name $Zone -Type TXT -Server "8.8.8.8" | Select-Object -ExpandProperty Strings
Wichtige Hinweise
Punkt Beschreibung
Key-Quelle Den swisssign-check=... Key aus der E-Mail von [email protected] entnehmen. Alternativ im SEPPMail-Portal unter dem Menüpunkt Aufgaben einsehbar.
Mehrere TXT-Records Vor dem Löschen prüfen: Gibt es noch andere TXT-Records (z.B. SPF)? In diesem Fall nur den swisssign-Eintrag gezielt löschen — nicht alle TXT-Records pauschal entfernen.
TTL Standard-TTL gemäss Fabrikam IT-Services: 3600 Sekunden.
Aktivierung Bestätigungsmail von [email protected] mit Betreff: «seppmail.cloud Aktivierung – Zertifikate / MPKI erfolgreich abgeschlossen – domain.tld». Auch im SEPPMail-Portal unter Aufgaben prüfbar.
Frist Die DNS-Einträge müssen innerhalb Monatsfrist ab Erhalt der E-Mail in der DNS-Zone eingefügt werden.
Ticket abschliessen
  1. DNS-Eintrag setzen und extern validieren (z.B. via nslookup -type=TXT contoso.com 8.8.8.8 oder MX Toolbox).
  2. Warten auf Bestätigungsmail von [email protected].
  3. Ticket-Status im Jira auf Erledigt setzen.
  4. Kurznotiz im Ticket erfassen: Datum der Änderung & neuer Key (anonymisiert oder Referenz auf KeePass-Eintrag).