In letzter Zeit befasse ich mich öfters mit Grafana. Man kann damit recht einfach und übersichtlich Daten darstellen lassen. Mit folgendem Script ermittle ich das Ablaufdatum einen Webserverzertifikates.
Ich habe in einer MySQL Datenbank eine DB „Hosts“ und darin ist eine Tabelle Server enthalten. Ich verwende diese öfters und kann anhand der Spalte „certchk“ ermitteln ob ich das Zertifikat zu diesem Server ermitteln soll.
In der Variable „DOM“ stehen die Server, die in der Tabelle entsprechend eine 1 stehen haben. Zusätzlich steht in der Spalte „Port“ welcher Port (Standard 443) abgefragt werden soll. Später schreibe ich die Daten in die Tabelle „cerdata“ um diese in Grafana zu verwerten. Einmal in der Nacht mittels Crontab das Script aufrufen sollte reichen.
#!/usr/bin/env bash
SERVER=`mysql -h localhost --database=hosts -s -e "select Hostname from server where certchk = 1;"`
SDATE=`date "+%Y-%m-%d %H:%M:%S"`
for DOM in $SERVER
do
PORT=$(mysql -h localhost --database=hosts -s -e "select port from server where Hostname = '$DOM';")
ENDD=$( echo | openssl s_client -showcerts -servername google.com -connect $DOM:$PORT 2>/dev/null | openssl x509 -inform pem -noout -text | grep "Not After" |awk -F" " '{print $4" "$5" "$6" "$7 }')
ENDD=$( date -d "$ENDD" +%s )
NOWD=$( date +%s )
ANZ=$(( ( $ENDD - $NOWD )/(60*60*24) ))
mysql -h localhost --database=hosts -sN -e "INSERT INTO certdata ( Datum, Server, Counter) VALUES ('$SDATE', '$DOM', '$ANZ');"
done;
Wer mag kann in Grafana noch einen Alert, z.B. < 10 Tage, einrichten. Dann hat man ja noch 10 Tage Zeit sich um ein neues Zertifikat zu besorgen sofern man keines von Letsencrypt verwendet.
Kleiner Merkel für mich über ein Tool, mit dem man Cipher eines Webservers ermitteln kann. Zusätzlich gibt das Tool mit entsprechenden Parameter noch Tips aus
Die richtige bzw. eine gutes SSL Konfiguration eines Webservers zu finden ist nicht so einfach. In manchen Fällen muss man auch mit Kompromissen leben und ältere Clients unterstützen.
Mittels scp kann man bequem und sicher auf der Konsole Dateien auf seinen Webspace bzw. Host kopieren. In der folgenden Aufstellung möchte ich ein paar nützliche Parameter aufzeigen
Über die Globalsign SSL Test – Webseite können Sie das Zertifikat und Einstellungen Ihrer SSL geschützten Webseite prüfen lassen. Ich versuche für Sie immer die bestmögliche Note (A+) und gleichzeitig Kompatibilität Ihrer Geräte zu erreichen.
Um diese Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwende ich Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in meiner Datenschutzerklärung.