네트워크 보안에서 터널링(tunneling)이란?
터널링 프로토콜은 하나의 통신 프로토콜로 만들어진 완전한 패킷을 다른 프로토콜의 데이터그램 안에 감싸 전송하는 암호화 기술입니다. 이를 통해 데이터는 네트워크상의 두 지점 사이를 안전하게 오갈 수 있습니다.
터널링 네트워크란 무엇인가?
'터널'이라는 이름은 VPN 패킷이 목적지, 즉 주로 사설 네트워크까지 마치 지하 통로처럼 데이터를 전달하는 방식에서 유래했습니다. 참고로 IPsec에는 터널을 형성하지 않는 모드도 존재하며, TLS(전송 계층 보안) 역시 VPN에서 널리 활용됩니다.
터널링과 캡슐화(encapsulation)의 관계
터널링은 한 프로토콜의 페이로드(프레임 또는 패킷)를 네트워크 인프라를 통해 다른 프로토콜로 전송할 수 있게 해주는 인터넷워크 솔루션입니다. 캡슐화는 페이로드에 헤더를 덧씌워 중간 네트워크에서 해당 페이로드가 올바르게 전송될 수 있도록 만드는 방법으로, 터널링의 핵심 동작 원리라고 할 수 있습니다.
대표적인 4가지 터널링 프로토콜
대부분의 사용자에게 적합한 VPN 서비스라면 최소한 다음 네 가지 터널링 프로토콜 중 하나는 제공해야 합니다.
- PPTP
- L2TP/IPsec
- SSTP
- OpenVPN
IPSec 터널과 GRE 터널의 차이점
GRE(Generic Routing Encapsulation) 프로토콜은 멀티캐스트와 브로드캐스트 패킷은 물론, IPX와 같은 비 IP 패킷까지 전송할 수 있습니다. 반면 IPsec은 보안에 특화된 프로토콜로, 유니캐스트 패킷만 전송할 수 있으며 멀티캐스트나 브로드캐스트는 지원하지 않습니다.
네트워크 터널링의 용도
터널링은 서로 다른 네트워크 간에 패킷을 이동시키는 방법입니다. 이 과정은 하나의 패킷을 다른 패킷 안에 넣는 캡슐화를 통해 이루어집니다.
터널링이 보안 문제가 되는 이유
네트워크 방화벽, 침입 탐지·방지 시스템(IDS/IPS), 라우터 제어와 같은 네트워크 기반 보안 장치만으로는 터널링을 통한 우회 공격을 막기 어렵습니다. 터널이 존재하는 환경에서 이러한 보안 기능을 제공하려면 장비 개발사가 수신되는 새로운 프로토콜마다 파싱(parsing) 지원을 별도로 추가해야 하기 때문입니다.
터널링 프로토콜은 안전한가? — SSTP의 사례
SSTP(Secure Socket Tunneling Protocol)는 Windows 운영체제에서만 사용할 수 있다는 점이 다소 특이합니다. 그럼에도 불구하고 매우 안전한 터널링 프로토콜로 평가받으며 훌륭한 선택지가 됩니다. 또한 고정 포트를 사용하지 않기 때문에 방화벽을 비교적 쉽게 통과할 수 있습니다.
터널링과 VPN은 같은 개념인가?
VPN과 터널링은 동일하게 정의되지 않습니다. VPN(Virtual Private Network)은 인터넷을 전송 매체로 활용해 가상 장비를 통해 두 지점 간 지점 간(point-to-point) 연결을 가능하게 하는 기술입니다. 반면 터널링은 한 프로토콜 유형의 패킷을 데이터그램이나 패킷 형태로 감싸는 행위 자체를 의미합니다.
IP 터널링의 작동 원리
IP 터널링에서는 각 IP 패킷과 출발지·목적지 IP 네트워크의 주소 정보가 전송 네트워크 고유의 패킷 형식으로 캡슐화됩니다. 한편 IP 터널을 차단하려면 콘텐츠 제어 소프트웨어가 필요합니다.
모바일 IP에서의 터널링과 캡슐화
패킷이 터널에 진입하면 터널 내부에서 포워딩되며, 터널을 빠져나올 때까지 내용이 변경되지 않습니다. 패킷을 터널을 통해 운반하려면 캡슐화가 필수적이며, 헤더와 데이터로 구성된 패킷들이 캡슐화를 통해 서로 겹겹이 감싸집니다. 모바일 IP에서는 IP 데이터그램이 홈 에이전트(home agent)에서 케어오브 어드레스(care-of address)로 포워딩됩니다.
모바일 컴퓨팅에서의 캡슐화
네트워킹에서 캡슐화는 한 프로토콜을 다른 프로토콜로 변환하여 데이터가 변형되지 않은 채 네트워크를 통과할 수 있게 하는 과정입니다. 예를 들어 ATM 프레임 안에 TCP/IP 패킷을 담는 방식이 대표적인 캡슐화 사례입니다.
터널링 프로토콜의 종류
터널링은 네트워크를 통해 당사자 간에 데이터를 주고받는 방법입니다. 대표적인 프로토콜로는 SSH, SSTP(보안 소켓 터널링 프로토콜), L2TP(계층 2 터널링 프로토콜) 등이 있으며, VLAN은 근거리 통신망(LAN)을 확장하는 가상 LAN 기술입니다.
터널링에 필요한 주요 프로토콜
- IP-in-IP(프로토콜 4): IPv4 및 IPv6용
- IPv6-in-IPv4(프로토콜 41): IPv4/IPv6용
- GRE(Generic Routing Encapsulation)
- OpenVPN: UDP 포트 1194 사용
- SSTP: TCP 포트 443 사용
- IPsec(IP 보안, IP 프로토콜 50/51)
VPN 프로토콜이란?
VPN 프로토콜은 데이터가 사용자의 컴퓨터 또는 VPN에 연결된 기기 사이에서 어떻게 라우팅될지를 결정하는 규칙과 지침의 집합입니다. VPN 업체들은 연결을 안정적이고 안전하게 유지하기 위해 이러한 프로토콜을 사용합니다.
VPN의 세 가지 유형
VPN은 일반적으로 원격 접속(remote access) VPN, 인트라넷 기반 VPN, 엑스트라넷 기반 VPN의 세 가지로 나뉩니다. 원격 접속 VPN은 주로 개인 사용자가 이용하며, 대기업은 내부 통신을 위해 사이트 간(site-to-site) VPN을 활용하는 경우가 많습니다.