
모든 포트에서 TLS/SSL 암호화 테스트
testssl.sh는 서버의 모든 포트에서 TLS/SSL 암호, 프로토콜 지원 여부 및 일부 암호학적 취약점을 검사하는 무료 명령줄 도구입니다.
이 소프트웨어는 무료입니다. GPLv2 조건에 따라 사용할 수 있습니다. LICENSE 파일 참조.
저작자 표시는 이 프로젝트의 미래에 중요합니다. 인터넷에서도 마찬가지입니다. 따라서 testssl.sh 기반의 스캐너를 공개 및/또는 유료 서비스로 제공하는 경우, 사용자에게 이 프로그램을 사용하고 있으며 이 프로그램을 어디서 받을 수 있는지 알리는 것을 적극 권장합니다. 이는 버그 수정, 기타 피드백 및 더 많은 기여를 얻는 데 도움이 됩니다.
Testssl.sh는 모든 Linux/BSD 배포판과 MacOS에서 기본적으로 작동합니다. 매우 오래된 버전 2.9가 개발될 무렵, openssl 클라이언트의 비활성화된 기능으로 인한 대부분의 제한은 bash 소켓 기반 검사로 인해 사라졌습니다. 이전 OpenSSL 버전이 함께 제공되지만 요즘에는 어떠한 LibreSSL 또는 OpenSSL 버전도 사용할 수 있습니다.
testssl.sh는 /bin/bash >= 버전 3.2와 sed, awk 같은 표준 도구가 설치된 다른 Unix 계열 시스템에서도 기본적으로 작동합니다. Windows(MSYS2, Cygwin 또는 WSL/WSL2 사용)도 작동합니다. testssl.sh를 시작할 때 바이너리에 대한 암시적(자동) 검사가 수행됩니다. System V Unix에서는 GNU grep을 설치해야 할 수도 있습니다.
다음과 같이 이 git 저장소를 클론하여 testssl.sh 브랜치 3.3dev를 다운로드할 수 있습니다:
git clone --depth 1 https://github.com/testssl/testssl.sh.git --branch 3.3dev
3.3dev는 3.2 안정 버전에서 발전한 최신 개발 브랜치입니다. dev 브랜치에서 큰 실험을 하지 않으려고 하지만, 개발의 특성상 변경 사항이 있을 수 있으며 변경 사항이 성숙하는 데 시간이 필요할 수 있습니다.
Testssl.sh는 최소한의 요구 사항을 가집니다. 명시된 대로 설치하거나 빌드할 필요가 없습니다. 클론한 디렉터리에서 바로 실행할 수 있습니다. 그래도 GitHub 저장소를 원하는 디렉터리로 가져오고 싶지 않다면 dockerhub에서 컨테이너를 가져와 실행할 수 있습니다:
docker run --rm -it ghcr.io/testssl/testssl.sh <your_cmd_line>
또는 이 저장소를 클론했다면 INSTALLDIR로 cd하여 다음을 실행할 수도 있습니다:
docker build . -t imagefoo && docker run --rm -t imagefoo testssl.net
자세한 내용은 Dockerfile.md를 참조하십시오.
이 프로그램의 사용은 어떠한 보증도 없습니다. 사용에 따른 책임은 사용자에게 있습니다.
Testssl.sh는 독립형 CLI 도구로 사용하기 위한 것입니다. 최상의 보안 조치를 적용하고 외부 입력을 정리하려고 노력했지만, 프로그램에 취약점이 없음을 보장할 수 없습니다. 웹 서비스로 실행하면 보안 위험이 발생할 수 있으므로 추가 보안 조치를 적용하는 것이 좋습니다. 사용자 및 쿼리되는 모든 서비스의 입력을 확인하십시오.
현재 인력 상황으로 인해 n-1 버전만 지원합니다. 현재 보고 있는 것은 3.3.dev 브랜치로, 3.4가 안정 버전이 되고 3.2가 구 안정 버전이 되기 전까지 추가 개발이 이루어집니다. 변경 사항에 대해 주저한다면 3.2를 사용해야 합니다. 버전 3.0.10이 마지막이며, 더 이상 업데이트되지 않습니다.
~/doc/에 있습니다.많은 기여자들이 이미 프로젝트를 현재 위치로 이끌었습니다. CREDITS.md를 참조하세요. 여러분의 기여도 환영합니다! 이슈 목록이 있습니다. 시작하려면 good first issue, for grabs 또는 help wanted 레이블이 붙은 이슈를 찾아보세요. 후자는 더 고급입니다. 문서 이슈를 찾아보거나 단위 테스트 또는 GitHub Actions 개선에 도움을 줄 수 있습니다.
CONTRIBUTING.md를 읽고 코딩 규칙도 살펴보는 것이 좋습니다. 수백 줄의 PR을 작성하기 전에 먼저 이슈를 생성하는 것이 좋습니다.
일반적으로 핸드셰이크 및 CA 저장소 유지 등과 같은 유지 관리 부담이 있습니다. 이러한 유지 관리 작업 중 하나를 수행할 수 있고 책임을 질 수 있다고 생각되면 말씀해 주십시오. 그러면 개발에 사용할 수 있는 리소스가 확보됩니다.
버그 보고는 중요합니다. 이 프로젝트를 더욱 견고하게 만듭니다.
GitHub의 이슈 트래커에 버그를 제출해 주십시오. 자세한 정보를 제공하는 것을 잊지 마십시오. 이슈 템플릿 및 추가 세부 사항은 https://github.com/testssl/testssl.sh/wiki/Bug-reporting를 참조하십시오. 아직 아무도 여러분의 생각을 읽을 수 없습니다. 그리고 기관만 여러분의 화면을 볼 수 있습니다 ;-)
직접 디버깅할 수도 있습니다. 여기를 참조하십시오.
testssl.sh 코드와 직접 관련되지 않은 질문은 아래 각 프로젝트에 문의하십시오.