16 Mai 2008

Debian/Ubuntu SSL Vulnerability Scanning für SSL Server

Nachdem ich gestern die SSH Server nach unsicheren Key geprüft hatte, waren heute unsere SSL Server dran. Eine passende Blacklist liefert Ubuntu beim Update im Packet openssl-blacklist mit samt dem passenden Tool mit dem man ein lokales Keyfile überprüfen kann. Leider hilft das nicht bei entfernten Servern weiter und so habe ich heute ein bisschen ge-scripted um auch Remote checken zu können.

Das Script macht nichts anderes als mit dem openssl Kommando s_client das SSL Certificate zu extrahieren und dann dem Modulus des Pub-Key mittels SHA1 Checksumme gegen die Blacklist aus dem
openssl-blacklist Paket zu prüfen:

Hier das Script:


#!/bin/sh

host=$1

if [ x$host != x ] ; then
(echo HEAD / HTTP/1.0\\n\\n; sleep 1) | openssl s_client -connect $host:443 -showcerts > $host.log 2>&1
if ! grep -q "BEGIN CERT" $host.log ; then
echo $host does not present a SSL Certificate
else
fp=`openssl x509 -noout -modulus -in $host.log | sha1sum | cut -c 21-40`
cn=`openssl x509 -noout -subject -in $host.log | sed -e 's/^.*CN=\([^/]*\).*$/\1/'`
if grep -q $fp /usr/share/openssl-blacklist/blacklist* ; then
echo $host \($cn\) blacklisted!
else
echo $host \($cn\) OK
fi
fi
else
echo $0 hostname/ip
fi


Oder als Download auf Google Pages

Update Einfach mal das Script auf www.whitehouse.gov ansetzen. Mal abgesehen dass die URL eine Falschen Hostnamen präsentiert ist das ganz grosses Kino!

Keine Kommentare: