#sslscan 사용해서 취약점 점검하기(burp suite Extender)

2020. 1. 29. 23:51 보안 이야기/취약점

 

 

오늘은 sslscan을 이용한 취약점 점검과

 

대응 방법에 대해서 알아보겠습니다.

 

sslscan은 이름에서 알 수 있듯

 

암호화 통신을 하는지와 어떤 암호화 통신을 하고 있는지를 스캔해주는 기능입니다.

 

 

당연히 낙후된 암호화 통신을 적용해 사용할 경우 발견된 취약점에 의해

 

위협에 노출될 수 있겠죠?

 

윈도우용 버전의 sslscan 입니다.

 

 

리눅스에서 볼 수 있는 sslscan 입니다.

 

 

이 두 가지가 옵션이 왜 이렇게 차이가 나는지 사실 잘 모르겠습니다.

 

윈도우용도 옵션이 많은 파일이 있을 것 같기도 합니다.

 

 

자 이렇게 실행파일을 다운받아서 하는 방법도 있지만,

 

burp suite에 extender 기능에 추가해서 사용할 수도 있습니다.

 

Extender 탭BApp Store에서 찾아보면 SSL Scanner가 존재합니다.

이 기능을 install 하면 SSL Scanner라는 탭이 생성됩니다.

 

 

 

구글신을 스캔해 봤습니다.

 

바이너리를 받아 실행할 때는 --no-failed 옵션을 준 것과 비슷한 것으로 보여집니다.

 

 

하기와 같이 어떤 취약점들이 있는지 도출해 줍니다.

 

 

대부분의 기업에서는 TLSv1.2 미만의 TLS를 사용하지 말라고 권고하고 있습니다.

 

하지만 낙후된 내부 시스템과 연동이 안될 수 있는 어려움이 있어

 

쉽사리 TLSv1.2 미만의 버전을 제거하지 못하는 것이 현실입니다.

 

 

자 그럼 어떻게 조치하는지 알아보겠습니다.

 

nginx의 경우에는 nginx 관련 config에 아래 그림과 같이 추가를 해주는데

취약한 ssl_ciphers는 모두 제거해줍니다. 아래는 취약한 사이퍼도 모두 추가된 모습입니다.

 

 

 

어떤 것을 제거해줘야 하나요?

 

대체로 많이 사용되는 가이드는 아래와 같습니다.

 

 

 

1. 프로토콜 설계의 결함이 있는 SSLv2, SSLv3, TLSv1.0, TLSv1.1은 비활성화 필수, TLSv1.2 이상 사용을 권장한다.

※ Apache

Httpd-ssl.conf 또는 ssl.conf SSL 관련 VirtualHost 설정에 아래를 추가

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

 

 

1. OpenSSL에서 지원되고 있는 Cipher Suites 중 취약한 암호화 알고리즘을 비활성화해야 한다.

  - 취약한 알고리즘 : PSK, SRP, ADH, AECDH, DH, DEA, RC2, RC4, RC5, RC6, MD4, MD5, SHA1, DES, 2DES, 3DES

  - OpenSSL 설정파일 수정(ex SSLCipherSuite HIGH:MEDIUM:!SSLv2:!PSK:!SRP:!ADH:!AECDH:!DH:!IDEA:!RC2:!RC4:!RC5:!RC6:!MD4:!MD5:!SHA1:!DES:!2DES:!3DES)

   OpenSSL 설정파일 위치(Apache 1.x: httpd.conf / Apache 2.0: ssl.conf / Apache 2.2 이상: httpd-ssl.conf / Apache 2.4: httpd-ssl.conf)

 

 

하지만 기업의 서비스에 직결될 수 있는 문제기 때문에 쉽사리 대응하기가 어려울 때가 많습니다.

 

그럴 때는 TLS 버전을 높이진 못해도 취약한 암호 알고리즘은 제거해주도록 하면 좋을 것 같습니다.

 

 

이상.