본문 바로가기
studies/Back-end

아파치(Apache) SSL(TLS) 지원 버전 변경 방법 및 SSL과 TLS의 차이점

by mjkcool 2024. 6. 15.
728x90
반응형

TLS(Transport Layer Security)란?

개발자라면 OSI 7 계층을 알고 있을 것이다. 7개의 레이어 중 전송 계층(Transport Layer)에서 사용되는 보안 프로토콜이다. 이 프로토콜은 서버 간 통신에서 데이터를 암호화하고 인증하는 역할을 한다. 전송계층의 Security guide와 같은 존재이다.

아파치 설정파일 TLS 버전 변경하는 방법

최근에 Nginx와 Apache 사용하는 웹서버의 TLS 버전 변경 방법을 찾아보면서 Nginx configuration과 Apache configuration 파일을 뜯어보고 있었다.

 

기존에는 TLS1.0, TLS 1.1 버전을 지원하고 있는데 취약점을 보유한 두 버전을 지원하지 않도록 변경할 것이다.
이렇게 되면 TLS1.0, TLS 1.1 버전만을 지원하는 다른 서버에서 더이상 해당 서버로 통신이 불가하다.

 

우선 버전 변경 방법은 다음과 같다.
아래는 현재 Nginx 설정파일이다.

server {
    listen ...
    server_name ...
    ...
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ...
}

ssl_protocols 속성에서 TLSv1 TLSv1.1를 제거해준다.

다음은 아파치 설정파일을 수정하기 위해 내용을 살펴보면 SSLProtocol 이라는 설정변수가 있을 것이다.

SSLProtocol all -SSLv3

 

반면 아래는 모든 프로토콜을 허용하는데(all) 그중에서 SSLv3만 제외하겠다는 의미이다.
이 곳에 TLS1, TLS1.1 도 제외하도록 구문을 추가하면 된다.

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

 

아파치(Apache) 설정파일 속 SSLProtocol 의 SSLv3 가 대체 뭘까?

TLS도 아니고 SSLv3는 뭐지?

원래 태초엔 SSLv2SSLv3 버전이 존재했는데, SSLv3 나온 뒤 프로토콜 이름이 SSL에서 TLS로 바뀐 것 뿐이다.

SSL (Secure Sockets Layer) -> TLS (Transport Layer Security)

이름 바뀌고 처음 나온 버전은 TLS1.0.

 

참고로 TLS버전 관련해 파고들다보면 OpenSSL이라는 것이 보인다.
OpenSSL은 TLS프로토콜 사용에 필요한 라이브러리 묶음이다. 공식사이트에는 아래와 같이 설명되고 있다.

https://www.openssl.org/  so 간단해요


이상 TLS 지원 버전을 변경하는 방법과 SSL과 TLS의 차이점에 대해 알아보았다.

 

참고:

728x90
반응형