Jump to content

Testando os conjuntos de algorítmos de criptografia disponíveis num site


fredericopissarra

Recommended Posts

Quando se lida com SSL/TLS, lidamos com algoritmos de troca-de chaves, autenticação, algoritmos de criptografia assimátrico e simétrico. Mas, nem todos os sites estão up to date com os algoritmos mais modernos. Eis uma maneira de testar isso via script, bash, usando o OpenSSL mais novinho:

#!/bin/bash

#
# list-ssl-ciphers script.
# Testa os conjuntos de algoritmos válidos para um site.
#

if [ $# -ne 1 ]; then
  echo -e "\e[1;33mUsage\e[0m: $(basename $0) <sitename>"
  exit 1
fi

SERVER=$1
ciphers=$(openssl ciphers 'ALL:eNULL' | sed -e 's/:/ /g')

echo -e "\e[1;33mObtaining cipher list from \e[1;37m$(openssl version)\e[0m."

for cipher in ${ciphers[@]}
do
  echo -n Testing $cipher...
  result=$(openssl s_client -cipher "${cipher}" \
                            -connect "${SERVER}:443" \
                            -servername "${SERVER}" < /dev/null 2>&1)
  if [[ "${result}" =~ ":error:" ]] ; then
    error=$(echo -n $result | cut -d':' -f6)
    echo -e "\e[1;31mNO ($error)\e[0m"
  else
    if [[ "${result}" =~ "Cipher is ${cipher}" || \
          "$result" =~ "Cipher +:" ]] ; then
      echo -e "\e[1;32mYES\e[0m"
    else
      echo -e "\e[1;33mUNKNOWN RESPONSE\e[0m\n${result}"
    fi
  fi
done

Exemplo de uso (a lista é grande) com www.mentebinaria.com.br:

terminal.thumb.png.fa2a7cdf6e53f04f8b23f866d9b9adac.png

[]s
Fred

Link to comment
Share on other sites

A listagem dos algoritmos, de maneira mais legível, pode ser obtida com:

openssl ciphers -v

Notem que existem 4 (Kx [Key eXchange], Au [key AUthentication), Enc [ENCoding] e Mac [Message Authentication Code]).

Se o site não suporta ECDH (Elliptic Curve Diffie-Helman) ou, no mínimo, DHE (Diffie-Helman Ephemeral) como key-exchange, ECDSA (Elliptic Curve Digital Signature Algorithm) ou RSA como authentication, AES-128, AES-256 ou AES-384 como encoding e SHA-256, SHA-384 ou SHA-512 como MAC... descondie da segurança do site...

DH, puro e MAC MD5 ou SHA-1 não deveriam ser aceitos sem desconfiança...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...