
testssl.sh v3.2.4
Testando criptografia TLS/SSL em qualquer lugar, em qualquer porta
Introdução
testssl.sh é uma ferramenta gratuita de linha de comando que verifica o serviço de um servidor em qualquer porta quanto ao suporte de cifras TLS/SSL, protocolos, bem como algumas falhas criptográficas.
Principais funcionalidades
- Saída clara: pode perceber facilmente se algo é bom ou mau.
- Saída legível por máquina (CSV, dois formatos JSON) e também saída HTML.
- Não é necessário instalar ou configurar nada. Sem gems, CPAN, pip ou similares.
- Funciona imediatamente: Linux, MacOS, FreeBSD, NetBSD, WSL2, MSYS2/Cygwin, OpenBSD precisa de bash.
- Um Dockerfile é fornecido; há também uma compilação oficial de contentor no dockerhub e GHCR.
- Flexibilidade: pode testar qualquer serviço ativado com SSL/TLS e STARTTLS, não apenas servidores web na porta 443.
- Caixa de ferramentas: várias opções de linha de comando ajudam a executar o seu teste e configurar a sua saída.
- Fiabilidade: as funcionalidades são testadas minuciosamente.
- Privacidade: só você vê o resultado, não um terceiro.
- Liberdade: é 100% open source. Pode consultar o código, ver o que se passa.
- O desenvolvimento é livre e aberto no GitHub. A participação e contribuições são bem-vindas.
- Testes unitários garantem maturidade: verificação de consistência, se o JSON é válido, executa em Linux+MacOS e muito mais!
Licença
Este software é gratuito. Pode utilizá-lo nos termos da GPLv2, consulte LICENSE.
A atribuição é importante para o futuro deste projeto — também na internet. Assim, se oferecer um scanner baseado no testssl.sh como um serviço público e/ou pago na internet, é fortemente encorajado a mencionar ao seu público que está a utilizar este programa e onde obter este programa. Isso ajuda-nos a obter correções de bugs, outros feedbacks e mais contribuições.
Compatibilidade
O Testssl.sh funciona em todas as distribuições Linux/BSD e MacOS imediatamente. Já a partir da versão muito antiga 2.9, a maioria das limitações devido a funcionalidades desativadas do cliente openssl foram eliminadas graças a verificações baseadas em sockets bash. É fornecida uma versão antiga do OpenSSL, mas atualmente também pode utilizar qualquer versão do LibreSSL ou OpenSSL.
O testssl.sh também funciona noutros sistemas unixoides imediatamente, desde que tenham /bin/bash >= versão 3.2 e ferramentas padrão como sed e awk instaladas. O Windows (usando MSYS2, Cygwin ou WSL/WSL2) também funciona. Uma verificação implícita (silenciosa) dos binários é realizada quando inicia o testssl.sh. O System V Unix provavelmente precisa de ter o GNU grep instalado.
As notificações de atualização podem ser encontradas no github ou as mais importantes no mastodon ou bluesky. O twitter já não é utilizado.
Instalação
Pode descarregar o testssl.sh branch 3.3dev simplesmente clonando este repositório git:
git clone --depth 1 https://github.com/testssl/testssl.sh.git --branch 3.3dev
3.3dev é o branch de desenvolvimento mais recente que evoluiu a partir do 3.2 estável. Estamos a tentar não fazer grandes experiências no branch dev, no entanto o objetivo do desenvolvimento é que haverá mudanças e as mudanças podem precisar de algum tempo para amadurecer.
Docker
O Testssl.sh tem requisitos mínimos. Como foi dito, não precisa de instalar ou compilar nada. Pode simplesmente executá-lo a partir do diretório clonado/puxado. Ainda assim, se não quiser puxar o repositório GitHub para o diretório da sua escolha, pode puxar um contentor do dockerhub e executá-lo:
docker run --rm -it ghcr.io/testssl/testssl.sh <your_cmd_line>
Ou se clonou este repositório, também pode simplesmente cd para o INSTALLDIR e executar
docker build . -t imagefoo && docker run --rm -t imagefoo testssl.net
Para mais informações, consulte Dockerfile.md.
Sem Garantia
A utilização do programa é sem qualquer garantia. Utilize-o por sua conta e risco.
O Testssl.sh destina-se a ser usado como uma ferramenta CLI autónoma. Embora tenhamos tentado aplicar as melhores práticas de segurança e sanitizar a entrada externa, não podemos garantir que o programa esteja isento de vulnerabilidades. Executá-lo como um serviço web pode apresentar riscos de segurança e é aconselhável aplicar medidas de segurança adicionais. Valide a entrada do utilizador e de todos os serviços consultados.
Status
Dada a atual equipa, apenas suportamos versões n-1. Está a ver o branch 3.3.dev onde o desenvolvimento prossegue antes de 3.4 se tornar a versão estável e 3.2 se tornar a versão estável antiga. Se hesitar em relação a mudanças, precisa de usar 3.2. A versão 3.0.10 foi a última, não haverá mais atualizações.
Documentação
- .. está lá para ser lida. Por favor, faça-o :-) — pelo menos antes de fazer perguntas. Consulte a página de manual em groff, html e markdown em
~/doc/. - https://testssl.sh/ ajudará a começar.
- Há também um doc gerado por IA, veja também abaixo.
- Will Hunt forneceu uma descrição mais longa. Embora tenha sido escrita para uma versão mais antiga (2.8), ainda inclui informações de contexto.