fureweb.com SSL 적용 결과, 어떻게 해야 더 안전한 웹사이트를 만들 수 있을까?

SSL 적용 결과

https://www.ssllabs.com 사이트에서 자신의 웹사이트가 얼마나 안전한 보안연결을 지원하는지 확인하실 수 있습니다.

 

Rating A까지 끌어올린다고 또 삽질하다 돌아왔습니다! 이 과정들을 통해 보안 관련 설정에 대해 많이 배우게 되었고, 어느덧 아파치-톰캣 연동 후 그들간의 SSL 요청까지 처리할 수 있도록 설정을 마치게 되었네요. ^^;

 

핵심은, 아파치의 conf.d/ssl.conf (또는 그와 비슷한 작동을 해야하는 설정 파일) 내에 존재하는 모든 VirtualHost별 설정에 다음과 같은 내용을 추가해 줘야 했던 것입니다.

 

SSLProtocol -SSLv2 -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on

 

기본적으로 아파치의 ssl.conf 파일에는 SSLProtocol all -SSLv2 정도만 설정이 되어있을텐데요, 이를 위의 내용과 같이 설정해야 합니다.

 

1) 위 코드 중 SSLProtocol이라는 지시어를 통해 SSL 버전 2, SSL 버전 3을 통해 보안연결을 시도할 수 없도록 – prefix를 주어 설정하고 있음을 확인할 수 있습니다. SSLv3를 통해 웹사이트를 가장할 수 있는 취약점인 푸들 취약점이 2014년에 발견되어, 서버에서 SSLv3 프로토콜을 사용한 보안 연결을 할 수 없도록 비활성 설정을 하고 있는 것도 확인할 수 있습니다. 또한 + prefix를 사용하여 보안 연결은 무조건 TLS만을 통해 요청하도록 설정한 것을 볼 수 있습니다. 이처럼 값이 설정된 서버로의 https 요청은 TLSv1.x대의 요청을 통해서만 수행할 수 있게 되어 보안에 더욱 안전한 웹서버가 되도록 설정할 수 있습니다.

 

2) SSLCipherSuite 옆에 적힌 내용은 OpenSSL에서 지원되는 암호목록들의 하위 집합인데, 순방향 비밀성 지원 / 암호화 수준 / 속도 / 암호 패밀리 앞의 특정 암호 / 거부된 암호 앞의 허용된 암호 총 5가지 기준으로 선택 및 정렬되어있는 값입니다. 순위가 더 높은 암호(SSLHonorCipherOrder 지시어를 통해 해석됨)인 경우, 그 이름에 ECDHE(Elliptic Curve Diffie-Hellman Ephemeral )라는 것이 있어 그를 구별할 수 있는 것 같습니다. 역시 이곳에서도 보안을 위해 명시적으로 모든 암호목록을 표시해 주는 것이 좋다고 합니다.

 

3) SSLHonorCipherOrder라는 지시어가 보이는데, 이 지시어는 순방향 비밀성을 지원하는 암호를 포함하여 서버에서 순위가 높은 암호를 사용하도록 유도합니다. 이 지시어의 값이 on으로 설정되면 서버에 요청이 들어올 때 가장 먼저 제일 강력한 보안 연결 설정을 시도해 본 후 차츰차츰 더 낮은 레벨의 보안 연결 설정을 시도하도록 한다고 합니다.

위와 같이 SSL에 대한 설정을 완료했다면, 웹서버에서 주고받는 데이터들의 위변조가 더욱 더 힘들어졌음을 만천하에 공개할 수 있겠죠?! 개인 블로그같은 이곳에 적용하는 것은 큰 의미가 없을수도 있겠지만, 엔터프라이즈 웹애플리케이션을 만들어야 할 때에는, 그 웹애플리케이션에 https를 위와 같이 적용하지 않는다면 큰 문제가 있을 수 있을테니 미리미리 보안 공부 많이 하셔서 적용하는 연습을 해 둡시다!

VPS가 일반화된 지금의 개발 환경에 정말 감사하는 마음과 함께…

You may also like...

1 Response

  1. fureweb말하길

    SSL을 풀었습니다… -_- 다음 adfit이 아직 https를 지원하지 않는다고 하네요 -_-

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.