zertifikat
Glitch: SSL/TLS Sicherheit
Wie könnten wir SSL/TLS Sicherheit erhöhen?
Am besten wir verstecken die Informationen aus dem Zertifikat noch besser.
Futurezone: Schloss-Symbol in Google Chrome wird ersetzt
Was sicher ist, bestimmen wir!
Let’s Encrypt Alternative Buypass
Es gibt eine Alternative zu Let’s Encrypt (LE): Buypass
Nichts gegen LE, aber eine Backup CA zu haben kann nicht verkehrt sein.
Einen vorhandenen Certbot von LE kann man recht einfach umstellen, erklärt unter Certbot basic usage
Recht schnell zeigt sich, dass hier keinen Umleitungen gefolgt wird und man HTTP auf Port 80 offen braucht.
Fehlermeldung im Certbot Log:
{"type":"compound","detail":"Errors during validation","subproblems":[{"type":"urn:ietf:params:acme:error:connection","detail":"The server could not connect to validation target","code":0}
Problembeschreibung im Buypass Forum
Auch LE empfiehlt Port 80 offen zu haben
SSL Fehler
Ist schon wieder ein paar Tage her. Aber woher kam dieser Fehler? War nur einmal sichtbar. Foglende Aufrufe haben wieder funktioniert.
Verify X509 Certificate
Es ist nicht ausreichend nur den Private Key zu überprüfen!
OpenSSL bietet auch eine einfache Möglichkeit einen CSR zu prüfen:
openssl req -in example.csr -verify verify OK
Beim Public Key wird es komplizierter. Einzig eine Prüfung mit der Signatur der übergeordneten CA hilft. Hier eine erste Version eines Prüfscriptes.
#!/bin/bash if [[ $# -ne 1 ]]; then echo "Wrong number of arguments." exit 1 fi FILE=$1 # Allows to configure different openssl version OPENSSL=$(which openssl) TEMPDIR="/tmp USERAGENT="CustomUserAgent" # A proxy server would also get configured here WGETOPTS="--user-agent=${USERAGENT} --timeout=5 --tries=1 -e" SIGNER=$($OPENSSL x509 -in ${FILE} -text -noout | grep "CA Issuers - URI:http" | cut -d":" -f2- | tr -d '\r') if [[ -z $SIGNER ]]; then echo "No issuer certificate found for download." exit 1 fi SIGNERFILE=$(awk -F'/' '{print $NF}' <<<$SIGNER) /usr/bin/wget $WGETOPTS $SIGNER -O $TEMPDIR/$SIGNERFILE >/dev/null 2>&1 # Try to convert to PEM $OPENSSL x509 -inform der -in $TEMPDIR/$SIGNERFILE -out $TEMPDIR/$SIGNERFILE.cer 2>/dev/null if [[ -s $TEMPDIR/$SIGNERFILE.cer ]]; then # use converted file, if conversation was successfull SIGNERFILE="$SIGNERFILE.cer" fi echo -n "Certificate verification: " $OPENSSL verify -CAfile $TEMPDIR/$SIGNERFILE -partial_chain $FILE 2>&1 | grep -e "certificate signature failure" -e "OK" | cut -d":" -f2 # Cleanup if [[ ! -z $SIGNERFILE ]]; then /bin/rm $TEMPDIR/$SIGNERFILE* fi