
Biblioteca de varredura SSL/TLS rápida e poderosa.
SSLyze é uma ferramenta de varredura SSL/TLS rápida e poderosa e uma biblioteca Python.
O SSLyze pode analisar a configuração SSL/TLS de um servidor conectando-se a ele, a fim de garantir que ele use configurações de criptografia fortes (certificado, suites de cifras, curvas elípticas, etc.) e que não seja vulnerável a ataques TLS conhecidos (Heartbleed, ROBOT, injeção CCS do OpenSSL, etc.).
No Windows, Linux (x86 ou x64) e macOS, o SSLyze pode ser instalado diretamente via pip:
$ pip install --upgrade pip setuptools wheel
$ pip install --upgrade sslyze
$ python -m sslyze www.yahoo.com www.google.com "[2607:f8b0:400a:807::2004]:443"
Também pode ser usado via Docker:
$ docker run --rm -it nablac0d3/sslyze:6.1.0 www.google.com
Por último, um executável Windows pré-compilado pode ser baixado da página de Releases.
Um script de exemplo descrevendo como usar a API Python do SSLyze está disponível em ./api_sample.py.
A documentação completa da API Python do SSLyze está disponível aqui.
Por padrão, o SSLyze verificará os resultados da varredura do servidor em relação à configuração TLS "intermediária" recomendada pela Mozilla e retornará um código de saída diferente de zero se o servidor não estiver em conformidade.
$ python -m sslyze mozilla.com
Verificando resultados em relação à configuração "intermediária" da Mozilla. Consulte https://ssl-config.mozilla.org/ para mais detalhes.
mozilla.com:443: OK - Em conformidade.
A configuração da Mozilla a ser verificada pode ser configurada via --mozilla_config={old, intermediate, modern}:
$ python -m sslyze --mozilla_config=modern mozilla.com
Verificando resultados em relação à configuração "moderna" da Mozilla. Consulte https://ssl-config.mozilla.org/ para mais detalhes.
mozilla.com:443: FALHOU - Não está em conformidade.
* certificate_types: Os tipos de certificado implantados são {'rsa'}, devem ter pelo menos um de {'ecdsa'}.
* certificate_signatures: As assinaturas de certificado implantadas são {'sha256WithRSAEncryption'}, devem ter pelo menos uma de {'ecdsa-with-SHA512', 'ecdsa-with-SHA256', 'ecdsa-with-SHA384'}.
* tls_versions: Versões TLS {'TLSv1.2'} são suportadas, mas devem ser rejeitadas.
* ciphers: Suites de cifra {'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'} são suportadas, mas devem ser rejeitadas.
Alternativamente, você pode verificar em relação à sua própria configuração TLS personalizada fornecendo um arquivo JSON que segue o formato de configuração TLS da Mozilla:
$ python -m sslyze --custom_tls_config custom_tls_config_example.json mozilla.com
Verificando resultados em relação à configuração TLS personalizada.
mozilla.com:443: OK - Em conformidade.
Veja custom_tls_config_example.json para um exemplo de configuração TLS personalizada que pode ser usada pelo SSLyze.
Esta funcionalidade pode ser usada para executar facilmente uma varredura SSLyze como uma etapa de CI/CD, a fim de garantir a conformidade TLS.
Para configurar um ambiente de desenvolvimento:
$ pip install --upgrade pip setuptools wheel
$ pip install -e .
$ pip install -r requirements-dev.txt
Os testes podem então ser executados usando:
$ invoke test
Copyright (c) 2026 Alban Diquet
O SSLyze é disponibilizado sob os termos da Licença Pública Geral Affero GNU (AGPL). Consulte LICENSE.txt para obter detalhes e exceções.