ce script permet de faire une liste des ciphers utilisés par l'ensemble des protocole du package openssl :

#!/usr/bin/env bash

# OpenSSL requires the port number.
SERVER=xxx.xxx.xxx.xxx:443
DELAY=1
ciphers=$(openssl ciphers 'ALL:eNULL' | sed -e 's/:/ /g')

echo Obtaining cipher list from $(openssl version).

for cipher in ${ciphers[@]}
do
echo -n Testing $cipher...
result=$(echo -n | openssl s_client -cipher "$cipher" -connect $SERVER 2>&1)
if [[ "$result" =~ ":error:" ]] ; then
  error=$(echo -n $result | cut -d':' -f6)
  echo NO \($error\)
else
  if [[ "$result" =~ "Cipher is ${cipher}" || "$result" =~ "Cipher    :" ]] ; then
    echo YES
  else
    echo UNKNOWN RESPONSE
    echo $result
  fi
fi
sleep $DELAY
done


Commande pour tester le mode anonyme en excluant SSLv3 TLS1.0 TLS 1.1 (seul TLS1.2 gardé) en espérant que vous ayez une version openssl à jour qui supprime le SSLv2 :)


openssl s_client -no_tls1_1 -no_ssl3 -no_tls1 -connect xxx.xxx.xxx.xxx:443 -cipher aNULL


en sortie :  (anonyme connexion OK :(  == faille de sécurité )

SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ADH-AES256-GCM-SHA384
    Session-ID:....
......





sinon une erreur de type : (connexion anonyme NOK)

6924:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../../../common/openssl/ssl/s23_clnt.c:470: