Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

네트워크 터널링이란? 개념부터 보안 이슈, 주요 프로토콜까지 완벽 정리

네트워크 터널링(Tunneling)이란 무엇인가?

터널링은 한 네트워크에서 다른 네트워크로 데이터를 전달하는 대표적인 전송 방식입니다. 인터넷과 같은 공용 네트워크 위에서 사설 네트워크 간의 통신이 오갈 수 있도록 만들어주는 캡슐화(Encapsulation) 과정이 바로 터널링의 핵심입니다. '포트 포워딩(port forwarding)'이라고도 불리는 이 기술은 데이터가 마치 지하 터널을 통과하듯 외부의 간섭 없이 목적지까지 안전하게 이동할 수 있게 해줍니다.

터널링과 캡슐화는 어떤 관계일까?

터널링과 캡슐화는 떼려야 뗄 수 없는 관계입니다. 캡슐화는 하나의 프로토콜로 만들어진 프레임(frame)이나 패킷(packet)에 추가 헤더를 덧붙여, 서로 다른 프로토콜 환경으로도 전송할 수 있게 만드는 과정을 말합니다. 즉, 통신 프로토콜이 서로 다른 두 지점을 인터넷망으로 연결할 때, 페이로드(payload)에 새로운 헤더를 감싸 적절한 목적지로 '터널링'하는 것입니다.

컴퓨터 공학에서 말하는 터널링 프로토콜

터널링 프로토콜은 컴퓨터 네트워크에서 데이터를 전송하기 위한 통신 규약입니다. 사설 네트워크의 통신을 캡슐화하여 인터넷 같은 공용 네트워크를 거쳐 전달할 수 있도록 해주며, VPN(가상사설망) 구축의 핵심 기반 기술로 널리 활용됩니다.

왜 터널링은 보안 문제가 될 수 있나?

네트워크 방화벽, 침입 탐지·차단 시스템(IDS/IPS), 라우터 제어 장치 등 대부분의 보안 장비는 터널링을 이용한 회피 공격에 취약할 수 있습니다. 공격자가 터널을 만들어 허용된 프로토콜 안에 악성 데이터를 몰래 숨기면 보안 장비가 이를 탐지하기 어렵기 때문입니다. 따라서 보안 장비가 이러한 위협에 대응하려면, 터널이 존재하는 상황에서 새로운 프로토콜을 해석(parsing)할 수 있는 기능을 반드시 갖추어야 합니다.

방화벽과 터널링의 관계

터널링 프로토콜은 본질적으로, 서로 다른 통신 프로토콜을 사용하는 완전한 데이터 패킷 하나를 데이터그램(datagram) 안에 감싸 네트워크상의 두 지점을 연결하는 다리 역할을 합니다. 이를 통해 두 지점 사이에서 어떤 종류의 데이터든 전송할 수 있으며, 경우에 따라 방화벽을 우회하는 통로가 되기도 합니다.

라우트 기반(route-based) VPN 터널의 경우에는 터널 양 끝점을 정의하는 인터페이스 집합이 존재합니다. 방화벽 접근 규칙에 의해 접근이 허용되고 터널 인터페이스로 라우팅된 트래픽이 실제 터널을 통해 전송됩니다. 터널 인터페이스에 IP 주소를 정의하면 엔진 노드에서 나가는 트래픽의 출발지 IP 주소 정보를 설정할 수 있습니다.

VPN에서의 터널링

인터넷 터널은 데이터를 암호화하고 다른 네트워크 트래픽과 분리하여 전송합니다. VPN은 공용 네트워크를 통해 전송되는 메시지가 기밀성을 유지하고 변조되지 않도록 보장함으로써 사용자의 통신을 보호합니다. 패킷을 서로 안에 담아 보내는 캡슐화 방식이 바로 터널링의 동작 원리이며, VPN은 이 터널링 기술에 크게 의존합니다. 이를 통해 네트워크 구간 간에 신뢰할 수 있는 안전한 연결을 제공하고, 필요에 따라 방화벽 우회나 미지원 네트워크 프로토콜의 사용도 가능해집니다.

IP 터널링은 어떻게 작동하나?

IP 터널링은 IP 패킷을 출발지·목적지 IP 네트워크의 주소 정보와 함께 또 다른 고유 패킷 형식으로 감싸는(wrapper) 방식으로 동작합니다. 이렇게 구성된 IP 터널을 차단하려면 일반적으로 콘텐츠 제어 소프트웨어가 필요합니다.

TCP 터널링이란?

TCP 터널은 두 호스트 간에 단일 연결을 생성하고 패킷을 집합적으로 교환할 수 있게 해주는 기술입니다. 집계된 흐름(aggregated flows)의 공정성을 개선할 뿐만 아니라, 여러 프로토콜이 방화벽을 투명하게 통과할 수 있도록 지원합니다.

분할 터널링(Split Tunneling), 과연 안전할까?

분할 터널링은 많은 편의성을 제공하지만 그만큼 위험도 함께 따릅니다. 분할 터널링을 사용하면 최종 사용자가 프록시 서버처럼 인터넷 활동을 차단하거나 추적하는 특정 장치를 우회할 수 있습니다. 또한 사용자가 보안이 취약한 네트워크에 접속해 있을 때 기업 시스템이 침해될 위험이 커집니다.

특히 VPN 분할 터널링을 사용하면 기업의 파일 공유 통제 능력도 제한됩니다. 악의적인 내부자가 조직의 정보를 빼돌리는 상황에서는 더욱 심각한 문제가 될 수 있습니다. 직원이 자신의 가정용 네트워크가 아닌 카페 Wi-Fi 같은 공공장소의 불안전한 네트워크를 통해 회사 네트워크에 접속할 때, 분할 터널링의 위험은 한층 더 커집니다.

보안 터널링 프로토콜, 무엇을 선택해야 할까?

SSTP(Secure Socket Tunneling Protocol)

SSTP는 Windows에서만 사용할 수 있다는 점에서 독특한 프로토콜입니다. 매우 높은 수준의 보안성을 자랑하며, 고정 포트를 사용하지 않기 때문에 방화벽을 어렵지 않게 통과할 수 있습니다. Windows Vista에 처음 도입된 이후 Windows 7과 8에서도 계속 지원되었습니다. 참고로 이 서비스를 비활성화하면 SSTP를 통한 원격 서버 접속이 불가능해지므로, 해당 기능을 사용 중이라면 함부로 끄지 않는 것이 좋습니다.

OpenVPN

가장 안전한 터널링 프로토콜 중 하나로 꼽히는 OpenVPN은 모든 보안 요구 사항을 충족하며, 오픈소스 기반으로 강력한 암호화를 제공하고 방화벽 우회도 가능합니다. 보안성과 호환성을 모두 고려한다면 OpenVPN이 훌륭한 선택이 될 수 있습니다.

참고: 기업 지배구조에서의 '터널링'

흥미롭게도 '터널링'이라는 용어는 네트워크 분야 외에 기업 지배구조에서도 사용됩니다. 이 맥락에서 터널링은 대주주나 고위 내부자가 다른 주주들에게 손해를 입히면서 회사의 자산이나 미래 사업 기회를 자신에게 유리하게 이전하는 행위를 의미합니다.