VPN(가상 사설망)란?

Virtual Private Network의 약자. 인터넷 등 공용 네트워크 위에 암호화한 가상의 전용 통신로(터널)를 만들어, 떨어진 거점이나 사외 단말을 사내 네트워크에 직접 연결한 것처럼 통신하게 하는 구조. IPsec, TLS(SSL-VPN), WireGuard 등의 방식이 있다.

일본어 명칭: VPN

VPN(가상 사설망)은(는) 사이버 공격과 방어의 실무, 네트워크 기초, 네트워크 설계와 운용 등 4개 분야의 연습 문제 7개에 나와요.

분야: 네트워크 기초

터널과 캡슐화

VPN 장비나 소프트웨어는 보내려는 IP 패킷 전체를 암호화하고 변조 검출 부호를 붙여, VPN 출입구끼리를 목적지로 하는 새 IP 패킷의 내용으로 보냅니다(캡슐화). 받은 쪽 출입구가 꺼내 복호화하고, 원래 패킷을 사내 네트워크로 흘려보냅니다. 이렇게 하면 도중의 인터넷에서는 내용도 원래 목적지도 보이지 않으며, 사내의 사설 주소 그대로 통신할 수 있습니다. 헤더가 늘어나는 만큼 안에 넣을 수 있는 패킷이 작아지므로 MTU 조정이 필요해질 수 있습니다.

거점 간 VPN과 원격 접속 VPN

거점 간 VPN은 본사와 지사 등 각각에 VPN 장비를 두고 LAN끼리 연결하는 것으로, 이용자는 VPN을 의식하지 않습니다. 원격 접속 VPN은 집이나 출장지의 PC가 클라이언트 소프트웨어로 사내 VPN 장비에 접속하는 것입니다. 방식에는 네트워크 계층에서 암호화하고 IKE로 키를 교환하는 IPsec, TLS를 쓰는 SSL-VPN, UDP 위에서 동작하는 비교적 새로운 WireGuard 등이 있습니다. 통신 사업자의 폐쇄망을 쓰는 IP-VPN처럼 인터넷을 거치지 않는 VPN도 있습니다.

VPN으로 지킬 수 있는 것과 한계

VPN이 지키는 것은 단말과 VPN 출입구 사이의 통신입니다. 공중 무선 LAN처럼 도청되기 쉬운 곳에서도 그 구간의 내용은 읽히지 않습니다. 반면 출입구부터 앞의 통신은 보통의 통신이며, 단말 자체가 악성코드에 감염되어 있으면 막을 수 없습니다. VPN 장비는 인터넷에 공개되어 있으므로 그 취약점이 침입 입구로 악용되기도 하며, 업데이트나 다요소 인증이 꼭 필요합니다. 한 번 연결되면 사내 어디에나 닿는다는 사고방식의 약점 때문에, 통신할 때마다 확인하는 제로 트러스트 사고방식도 확산되고 있습니다.

도전해 보기: VPN(가상 사설망) 관련 문제

인터넷 VPN에 대한 설명으로 올바른 것은?

  1. A통신 경로를 전용 물리 회선으로 전환하여 인터넷을 거치지 않게 한다
  2. BVPN을 사용하면 접속한 서버나 단말이 악성코드에 감염되어 있어도 안전하게 통신할 수 있다
  3. C인터넷 위에 암호화와 인증을 수행하는 가상의 전용 통신로(터널)를 만들어, 떨어진 거점이나 재택 단말을 사내 네트워크에 연결된 것처럼 다룬다
정답과 해설 보기

정답: C. 인터넷 위에 암호화와 인증을 수행하는 가상의 전용 통신로(터널)를 만들어, 떨어진 거점이나 재택 단말을 사내 네트워크에 연결된 것처럼 다룬다

VPN(가상 사설망)에서는 원래 패킷을 암호화하여 다른 패킷 안에 넣어(캡슐화하여) 보내고, 상대편 VPN 장치에서 꺼냅니다. 도중의 경로에서는 내용이나 사내 주소가 보이지 않으며 변조도 검출할 수 있습니다. 사용되는 프로토콜로는 IPsec, TLS를 사용하는 것, WireGuard 등이 있습니다. 물리적으로는 공유된 인터넷을 거친다는 점이 전용선과 다릅니다. 보호되는 것은 터널 구간뿐이므로, 접속 대상 자체의 안전이나 VPN 출구 너머 통신의 안전은 따로 생각해야 합니다.

거점 간 VPN 터널을 통해 먼 곳의 웹 서버와 통신하고 있다. TCP 연결은 확립되고 작은 페이지는 표시되지만, 큰 파일의 다운로드만 도중에 멈춰 버린다. 터널 안의 MTU는 1400바이트이며, 서버는 1500바이트의 패킷을 분할 금지(DF 비트를 1)로 하여 보내고 있다. 또한 서버 앞단의 방화벽은 ICMP를 모두 버리는 설정으로 되어 있다. 원인으로 가장 적절한 것은?

  1. ADNS 이름 해석이 실패하고 있기 때문
  2. BTCP의 수신 윈도가 너무 작아서 한 번에 보낼 수 있는 데이터의 양이 부족하기 때문
  3. C너무 큰 패킷을 버린 라우터가 보내는, 분할이 필요함을 알리는 ICMP 메시지가 서버에 도달하지 않아, 서버가 패킷을 작게 할 수 없기 때문
정답과 해설 보기

정답: C. 너무 큰 패킷을 버린 라우터가 보내는, 분할이 필요함을 알리는 ICMP 메시지가 서버에 도달하지 않아, 서버가 패킷을 작게 할 수 없기 때문

경로 MTU 탐색에서는 출발지가 DF 비트를 1로 하여 패킷을 보내고, 도중의 MTU보다 큰 패킷을 버린 라우터가 ICMP 메시지(IPv4에서는 분할 필요(Fragmentation Needed), IPv6에서는 Packet Too Big)로 통과할 수 있는 크기를 알립니다. 이 메시지가 방화벽에서 버려지면 서버는 큰 패킷을 계속 보내고 그것이 매번 버려지므로, 큰 데이터의 전송만 멈춥니다(경로 MTU 블랙홀). 연결 확립이나 작은 응답은 패킷이 1400바이트보다 작으므로 문제없이 도달합니다. 대책은 이 ICMP 메시지를 버리지 않도록 하는 것이나, 터널 입구의 라우터에서 TCP의 MSS를 작게 바꿔 쓰는 것입니다. IPv4와 TCP의 헤더를 각각 20바이트라고 하면, MTU가 1400바이트일 때 MSS는 1400 − 20 − 20 = 1360바이트로 합니다.

자주 묻는 질문

VPN을 쓰면 익명이 되나요?

완전한 익명은 되지 않습니다. 접속한 사이트에서는 이용자의 IP 주소 대신 VPN 출구의 주소가 보이지만, VPN을 운영하는 회사나 조직에서는 이용자가 어디와 통신하고 있는지가 보입니다. 로그인한 정보나 쿠키로도 이용자는 특정됩니다.

IPsec과 SSL-VPN의 차이는 무엇인가요?

IPsec은 네트워크 계층에서 IP 패킷 자체를 암호화하므로 어떤 애플리케이션의 통신이든 운반할 수 있어 거점 간 VPN에 자주 쓰입니다. SSL-VPN은 TLS를 쓰므로 웹 브라우저나 전용 소프트웨어에서 쓰기 쉽고, 방화벽을 통과하기 쉬워 원격 접속에 자주 쓰입니다.

해설 속 VPN(가상 사설망)

VPN(가상 사설망)이(가) 나오는 문제 (7)

  1. 인터넷 VPN에 대한 설명으로 올바른 것은?
  2. 거점 간 VPN 터널을 통해 먼 곳의 웹 서버와 통신하고 있다. TCP 연결은 확립되고 작은 페이지는 표시되지만, 큰 파일의 다운로드만 도중에 멈춰 버린다. 터널 안의 MTU는 1400바이트이며, 서버는 1500바이트의 패킷을 분할 금지(DF 비트를 1)로 하여 보내고 있다. 또한 서버 앞단의 방화벽은 ICMP를 모두 버리는 설정으로 되어 있다. 원인으로 가장 적절한 것은?
  3. 재택근무 직원이 사내 시스템을 사용하기 위한 방식으로서, 기존의 원격 접속 VPN과 ZTNA(Zero Trust Network Access)를 비교한 설명으로 올바른 것은?
  4. CDN(콘텐츠 전송 네트워크)에 대한 설명으로 적절한 것은?
  5. 방화벽(패킷 필터링형)의 기본적인 기능으로 올바른 것은?
  6. 공격자가 조직의 네트워크에 처음 들어오는 '초기 접근'의 수법에 해당하는 것은?
  7. 같은 주에 취약점 3개의 수정이 공개되었다. 운영 담당자는 하루에 하나씩만 수정을 적용할 수 있다. 가장 먼저 수정을 적용해야 할 것과 그 이유의 조합으로 가장 적절한 것은?

관련 용어

패킷(Packet) TLS 방화벽(Firewall) TCP(전송 제어 프로토콜) MTU(최대 전송 단위) ICMP 경로 MTU 탐색(Path MTU Discovery) 라우터(Router) IPv4 IPv6

용어집으로 돌아가기