
Testando criptografia TLS/SSL em qualquer lugar, em qualquer porta
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.
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.
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.
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.
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.
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.
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.
~/doc/.Muitos contribuidores já ajudaram a impulsionar o projeto para onde está atualmente, consulte CREDITS.md. A sua contribuição também seria bem-vinda! Existe uma lista de issues. Para começar, procure issues que estejam etiquetadas como good first issue, for grabs ou help wanted. O último é mais avançado. Também pode procurar issues de documentação, ou pode ajudar com testes unitários ou melhorar ações do GitHub.
Recomenda-se a leitura de CONTRIBUTING.md e veja também a Convenção de Código. Antes de começar a escrever PRs com centenas de linhas, é melhor criar primeiro uma issue.
Em geral, há também algum trabalho de manutenção, como manter handshakes e armazenamentos de CA, etc. Se acredita que pode contribuir e ser responsável por uma dessas tarefas de manutenção, por favor fale. Isso libertaria recursos que poderíamos usar para desenvolvimento.
Relatórios de bugs são importantes. Tornam este projeto mais robusto.
Por favor, reporte bugs no rastreador de issues no GitHub. Não se esqueça de fornecer informações detalhadas, consulte o modelo para issues e mais detalhes em https://github.com/testssl/testssl.sh/wiki/Bug-reporting. Ninguém consegue ler os seus pensamentos — ainda. E apenas as agências o seu ecrã ;-)
Também pode depurar por si, veja aqui.
Por favor, direcione perguntas não especificamente relacionadas com o código do testssl.sh para os respetivos projetos abaixo.