SSL-VPN

SSL-VPN

사용자가 네트워크에 접근하기 위해 사용하는 VPN

사용자는 인터넷이 연결되어 있다면 언제, 어디서든 SSL VPN을 통해 사내 네트워크에 접근할 수 있다.

VPN 장비 2대 이상 필요 X, 공인 인터넷 필요

접근하는 사용자가 인가된 사용자인지 확인하고 암호화 프로토콜을 제공해 사용자와 SSL-VPN이 암호화 터널을 통한 통신을 할 수 있게 지원

이후 SSL VPN은 PC에 사설 IP와 함께 라우팅 정보를 제공

 

SSL

전송 계층 보안. 통신 과정에서 전송 계층 종단 간 보안과 데이터 무결성 확보

SSL handshake로 SSL 프로토콜을 통해 데이터 암호화

3way-handshake로 커넥션이 생성된 상태에서 암호화 통신을 위해 SSL handshake 사용

출처 : cloudflare

SSL-handshake 과정

->3way-handshake

-> client - 컴퓨터가 자신의 버전, 알고리즘 목록, 사용 가능한 압축 방식을 client hello 메시지에 담아 서버로 전송

-> server - client가 제공한 암호 알고리즘 , 압축방식 중 선택. 세션 ID, CA에서 사인한 서버 공개 인증서를 Server Hello에 담아서 전송

-> client - 서버가 보낸 SSL 인증서가 CA 목록에 있는지 확인. SSL이 확인되면, 클라이언트와 서버가 사용할 대칭키를 형성하기 위해 난수 바이트를 생성해 서버의 공개키로 암호화 후 전송

-> 클라이언트가 보낸 대칭키를 서버의 개인키로 복호화

 

클라이언트와 서버는 상호 사용 가능한 암호화 프로토콜을 확인하고 인증서를 통해 상대방이 진짜임을 확인

이후 메시지를 암호화 할 수 있는 암호키를 주고 받음

이 두가지 과정을 거친 후 클라이언트와 서버는 암호화 통신 가능

 

SSL VPN은 주로 DMZ 네트워크에 위치

--> 외부 인터넷에 접속중인 사용자가 내부 네트워크에 접속해야 하기 때문

---> 내부 네트워크에 위치하면서 외부 네트워크와 가까운 곳에 위치해야 함

 

외부 네트워크와 접속하는 것은 외부의 공격에 취약해질 수 있기 때문에, DMZ 네트워크에 SSL-VPN을 배치할 경우 방화벽과 함께 운용

 

split tunneling

일부 트래픽은 암호화된 VPN을 통해, 일부 트래픽은 인터넷에 직접 엑세스 하는 방법

-> SSL VPN 터널을 뚫어 내부 네트워크에 접속하지만 외부 인터넷(naver, google)을 활용해야 한다면 VPN 터널이 아닌 공유기 등으로 접속할 수 있도록 한다.

--> VPN이 아닌 직접 접속이기 때문에, 속도가 빠르다. VPN과 내부 네트워크를 통하지 않고 공유기로 직접 나가기 때문에, 내부 네트워크 트래픽 감소 

--> 외부 인터넷 바이러스 유출 시 내부 네트워크도 위험해진다. 

 

VPN 정책

사용자 트래픽 제어 : VPN 사용자가 접속한 내/외부 네트워크 제어, 인터넷 사용시 SSL-VPN이 정한 라우팅 정책을 준수해야 한다.

사용자 인증 제어 : 인증 서버 활용(인증 가능 사항을 중앙집중식 DB에 관리하고 인증 요청 시 인증 정보를 전송하는 서버)

* 인증 가능 사항 : ID, Password

* 인증 프로토콜 : RADIUS, Kerberos 등

* 인증서버는 다중 인증 방식인 MFA(2차 비밀번호, OTP)를 사용한다.

사용자 사용환경 제어 :  사용하고자 하는 사용자의 PC환경을 검토해 보안 적합성을 판단 후 적합 시 접속이 가능하게 한다.

*OS 버전, 패치, 백신 설치 여부, 스파이웨어 감염 여부 등

 

대칭키를 사용하기 위해 비대칭키를 사용하므로 대칭키 / 비대칭키를 모두 사용한다.

'네트워크' 카테고리의 다른 글

디피 헬만 알고리즘  (1) 2023.10.10
IPSEC phase  (0) 2023.10.10
IPSEC  (0) 2023.09.06
ipv6  (0) 2023.09.01
ASAv  (0) 2023.08.08