웹마스터를 위한 11가지 무료 SSL/TLS 문제 해결 도구

웹 엔지니어, 웹마스터 또는 시스템 관리자로 작업하는 동안 SSL/TLS 관련 문제를 디버깅해야 하는 경우가 많습니다.

SSL 인증서, SSL/TLS 취약점 테스트를 위한 온라인 도구가 많이 있지만 인트라넷 기반 URL, VIP, IP를 테스트할 때는 도움이 되지 않습니다.

인트라넷 리소스 문제를 해결하려면 네트워크에 설치하고 필요한 테스트를 수행할 수 있는 독립 실행형 소프트웨어/도구가 필요합니다.

다음과 같은 다양한 시나리오가 있을 수 있습니다.

  • 웹 서버로 SSL 인증서 구현 중 문제 발생
  • 최신/특정 암호를 확인하려는 경우 프로토콜이 사용 중입니다.
  • 구현 후 구성을 확인하려는 경우
  • 침투 테스트 결과 보안 위험 발견

다음 도구는 이러한 문제를 해결하는 데 유용합니다.

딥바이올렛

딥바이올렛 바이너리로 제공되는 자바 기반 SSL/TLS 스캐닝 도구이거나 소스 코드로 컴파일할 수 있습니다.

내부 네트워크에서 사용할 SSL Labs의 대안을 찾고 있다면 DeepViolet이 좋은 선택이 될 것입니다. 다음을 스캔합니다.

  • 취약한 암호 노출
  • 약한 서명 알고리즘
  • 인증 취소 상태
  • 인증서 만료 상태
  • 자체 서명된 루트인 trust-chain 시각화

SSL 진단

웹 사이트의 SSL 강도를 빠르게 평가하십시오. SSL 진단 SSL 프로토콜, 암호 제품군, heartbleed, BEAST를 추출합니다.

HTTPS 뿐만 아니라 SMTP, SIP, POP3 및 FTPS에 대한 SSL 강도를 테스트할 수 있습니다.

SSLyze

SSLyze SSL 끝점에 연결하고 SSL/TLS 구성 오류를 식별하기 위해 스캔을 수행하는 Python 라이브러리 및 명령줄 도구입니다.

SSLyze를 통한 스캔은 테스트가 여러 프로세스를 통해 배포되기 때문에 빠릅니다. 개발자이거나 기존 애플리케이션과 통합하려는 경우 결과를 XML 또는 JSON 형식으로 작성할 수 있는 옵션이 있습니다.

SSLyze는 Kali Linux에서도 사용할 수 있습니다. Kali를 처음 사용하는 경우 VMWare Fusion에 Kali Linux를 설치하는 방법을 확인하십시오.

  Chrome에서 가장 많이 방문한 사이트를 제거하는 방법

OpenSSL

검증, CSR 생성, 인증 변환 등과 같은 다양한 SSL 관련 작업을 수행하기 위해 Windows 또는 Linux에서 사용할 수 있는 강력한 독립 실행형 도구 중 하나인 OpenSSL을 과소평가하지 마십시오.

SSL 연구소 스캔

Qualys SSL Labs가 마음에 드시나요? 당신은 혼자가 아닙니다. 나도 그거 사랑해.

자동화 또는 대량 테스트를 위한 SSL Labs용 명령줄 도구를 찾고 있다면 SSL 연구소 스캔 유용할 것입니다.

SSL 스캔

SSL 스캔 Windows, Linux 및 MAC과 호환됩니다. SSL 스캔은 다음 지표를 빠르게 식별하는 데 도움이 됩니다.

  • SSLv2/SSLv3/CBC/3DES/RC4/암호 강조 표시
  • 약한(<40비트) 보고, null/익명 암호
  • TLS 압축, 하트블리드 취약점 확인
  • 그리고 훨씬 더…

암호 관련 문제에 대해 작업하는 경우 SSL 스캔은 문제 해결을 빠르게 추적하는 데 유용한 도구가 될 것입니다.

koreantech.org TLS 스캐너 API

웹마스터를 위한 또 다른 멋진 솔루션은 koreantech.org TLS 스캐너 API일 수 있습니다.

이것은 TLS 프로토콜, CN, SAN 및 기타 인증서 세부 정보를 순식간에 확인할 수 있는 강력한 방법입니다. 매월 최대 3000개 요청에 대한 무료 구독으로 이 위험 부담 없이 사용해 볼 수 있습니다.

그러나 기본 프리미엄 계층은 더 높은 요청 속도와 10,000개의 API 호출을 한 달에 5달러에 추가합니다.

테스트SSL

이름에서 알 수 있듯이, 테스트SSL Linux 또는 OS와 호환되는 명령줄 도구입니다. 모든 필수 메트릭을 테스트하고 좋든 나쁘든 상태를 제공합니다.

전:

Testing protocols via sockets except SPDY+HTTP2

SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 offered
TLS 1.1 offered
TLS 1.2 offered (OK)
SPDY/NPN h2, spdy/3.1, http/1.1 (advertised)
HTTP2/ALPN h2, spdy/3.1, http/1.1 (offered)

Testing ~standard cipher categories

NULL ciphers (no encryption) not offered (OK)
Anonymous NULL Ciphers (no authentication) not offered (OK)
Export ciphers (w/o ADH+NULL) not offered (OK)
LOW: 64 Bit + DES encryption (w/o export) not offered (OK)
Weak 128 Bit ciphers (SEED, IDEA, RC[2,4]) not offered (OK)
Triple DES Ciphers (Medium) not offered (OK)
High encryption (AES+Camellia, no AEAD) offered (OK)
Strong encryption (AEAD ciphers) offered (OK)

Testing server preferences

Has server cipher order? yes (OK)
Negotiated protocol TLSv1.2
Negotiated cipher ECDHE-ECDSA-CHACHA20-POLY1305-OLD, 256 bit ECDH (P-256)
Cipher order
TLSv1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA DES-CBC3-SHA 
TLSv1.1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA 
TLSv1.2: ECDHE-ECDSA-CHACHA20-POLY1305-OLD ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-CHACHA20-POLY1305-OLD
ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256 AES128-GCM-SHA256 AES128-SHA AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES256-SHA384 AES256-GCM-SHA384
AES256-SHA AES256-SHA256

Testing vulnerabilities

Heartbleed (CVE-2014-0160) not vulnerable (OK), no heartbeat extension
CCS (CVE-2014-0224) not vulnerable (OK)
Ticketbleed (CVE-2016-9244), experiment. not vulnerable (OK)
Secure Renegotiation (CVE-2009-3555) not vulnerable (OK)
Secure Client-Initiated Renegotiation not vulnerable (OK)
CRIME, TLS (CVE-2012-4929) not vulnerable (OK)
BREACH (CVE-2013-3587) potentially NOT ok, uses gzip HTTP compression. - only supplied "/" tested
Can be ignored for static pages or if no secrets in the page
POODLE, SSL (CVE-2014-3566) not vulnerable (OK)
TLS_FALLBACK_SCSV (RFC 7507) Downgrade attack prevention supported (OK)
SWEET32 (CVE-2016-2183, CVE-2016-6329) not vulnerable (OK)
FREAK (CVE-2015-0204) not vulnerable (OK)
DROWN (CVE-2016-0800, CVE-2016-0703) not vulnerable on this host and port (OK)
make sure you don't use this certificate elsewhere with SSLv2 enabled services
https://censys.io/ipv4?q=EDF8A1A3D0FFCBE0D6EA4C44DB5F4BE1A7C2314D1458ADC925A30AA6235B9820 could help you to find out
LOGJAM (CVE-2015-4000), experimental not vulnerable (OK): no DH EXPORT ciphers, no DH key detected
BEAST (CVE-2011-3389) TLS1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA
AES256-SHA DES-CBC3-SHA 
VULNERABLE -- but also supports higher protocols (possible mitigation): TLSv1.1 TLSv1.2
LUCKY13 (CVE-2013-0169) VULNERABLE, uses cipher block chaining (CBC) ciphers
RC4 (CVE-2013-2566, CVE-2015-2808) no RC4 ciphers detected (OK)

보시다시피, 많은 취약점, 암호 기본 설정, 프로토콜 등을 다룹니다. TestSSL.sh는 도커 이미지.

  Splashtop에서 컴퓨터를 깨우는 방법

testssl.sh를 사용하여 원격 스캔을 수행해야 하는 경우 koreantech.org TLS 스캐너를 사용해 볼 수 있습니다.

TLS 스캔

다음 중 하나를 구축할 수 있습니다. TLS 스캔 소스에서 다운로드하거나 Linux/OSX용 바이너리를 다운로드합니다. 서버에서 인증서 정보를 추출하고 다음 메트릭을 JSON 형식으로 인쇄합니다.

  • 호스트 이름 확인 확인
  • TLS 압축 확인
  • 암호 및 TLS 버전 열거 확인
  • 세션 재사용 확인

TLS, SMTP, STARTTLS 및 MySQL 프로토콜을 지원합니다. 결과 출력을 Splunk, ELK와 같은 로그 분석기에 통합할 수도 있습니다.

암호 스캔

HTTPS 웹사이트가 모든 암호를 지원하는지 분석하는 빠른 도구입니다. 암호 스캔 JSON 형식으로 출력을 표시하는 옵션도 있습니다. 래퍼이며 내부적으로 OpenSSL 명령을 사용합니다.

SSL 감사

SSL 감사 SSL Labs를 기반으로 인증서를 확인하고 프로토콜, 암호 및 등급을 지원하는 오픈 소스 도구입니다.

위의 오픈 소스 도구가 지속적인 스캔을 기존 로그 분석기와 통합하고 문제 해결을 용이하게 하는 데 도움이 되기를 바랍니다.