DNSSec überprüfen
Du hast DNSSEC erfolgreich eingerichtet – egal, ob mit PowerDNS oder einem anderen Anbieter? Falls es irgendwann Probleme gibt, möchtest du sicher schnell darüber informiert werden.
Dafür erstelle ich den Ordner /opt/scripts/dnssec
und lege darin die folgende Datei an. Ich nenne sie einfach mal dns_sec_check.sh
.
#!/bin/bash
timestamp=$(date "+%d.%m.%Y %H:%M:%S")
# Domains, die überprüft werden sollen
DOMAINS=("domain.de" "domain2.de" "domain3" "domain4.de" "domain5.de")
# E-Mail-Adresse, an die Benachrichtigungen gesendet werden
MAILTO="mail@meinedomain.de"
# Funktion zur Überprüfung von DNSSEC
check_dnssec() {
DOMAIN=$1
# DNSSEC-Status der Domain abfragen
DNSSEC_STATUS=$(dig +short +dnssec $DOMAIN)
if [ -z "$DNSSEC_STATUS" ]; then
# Keine DNSSEC-Daten gefunden
echo "Warnung: $timestamp DNSSEC für $DOMAIN nicht korrekt konfiguriert!" | mail -s "DNSSEC-Fehler bei $DOMAIN" $MAILTO
else
# DNSSEC-Daten gefunden, alles in Ordnung
echo "$timestamp DNSSEC für $DOMAIN ist korrekt konfiguriert."
fi
}
# Überprüfung für alle Domains
for DOMAIN in "${DOMAINS[@]}"
do
check_dnssec $DOMAIN
done
In Zeile 6 trägst du einfach deine Domains ein, die überprüft werden sollen.
In Zeile 9 hinterlegst du deine E-Mail-Adresse, um im Problemfall benachrichtigt zu werden.
Zum Schluss machst du die Datei noch ausführbar:
chmod +x /opt/scripts/dnssec/dns_sec_check.sh
Und richtest einen Cronjob ein der das ganze dann auch automatisch überprüft.
crontab -e
###
0 3 * * * /opt/scripts/dnssec/dns_sec_check.sh >> /opt/scripts/dnssec/dnssec.log 2>&1
Das Scripts schreibt mir auch eine .log Datei, den Part kannst Du aber auch auslassen :)