VPN 킬 스위치(Kill Switch)는 VPN (가상사설망) 연결이 갑자기 끊겼을 때 인터넷 트래픽 전체를 자동으로 차단해 사용자의 실제 IP 주소와 데이터가 노출되지 않도록 하는 보안 기능이다.[1] VPN이 재연결되기 전까지 모든 외부 통신을 막아두므로, 연결 중단 순간에도 네트워크 보안 수준이 유지된다. 개인 사용자뿐 아니라 기업 보안 정책에서도 필수 항목으로 자리 잡았다.
1. 작동 원리
VPN 클라이언트는 터널 인터페이스의 상태를 주기적으로 모니터링한다. VPN 터널이 끊기면 킬 스위치는 다음 두 가지 방식 중 하나로 동작한다.[1]
- 방화벽 기반(OS 수준): 운영체제의 방화벽 규칙을 변경해 VPN 인터페이스 외의 모든 인터넷 연결을 차단한다. 클라이언트 앱이 종료되더라도 OS 수준에서 규칙이 유지된다.
- 앱 수준: VPN 클라이언트 앱 자체가 특정 애플리케이션의 인터넷 접근을 통제한다. 보호 대상 앱을 선택적으로 지정할 수 있어 유연성이 높지만, VPN 앱이 강제 종료되면 보호가 해제될 수 있다.
2. 킬 스위치가 필요한 상황
3. 주요 프로토콜과 구현
킬 스위치는 OpenVPN, WireGuard, IKEv2 등 다양한 VPN 프로토콜과 함께 구현된다. WireGuard 기반 킬 스위치는 Linux의 wg-quick 도구가 PostUp/PreDown 훅과 iptables 규칙을 조합해 자동화한다.[3] 상용 VPN 서비스(NordVPN, ExpressVPN, Mullvad 등)는 자체 GUI에 킬 스위치 토글을 제공하며, 일부는 기본값으로 활성화돼 있다.
4. 플랫폼별 지원
- Windows/macOS: 대부분의 상용 VPN 앱이 지원. Windows는 WFP(Windows Filtering Platform) API를 활용.
- Linux:
iptables또는nftables규칙으로 수동 구성 가능. Android 기기 보안 설정하기에도 해당 개념이 적용됨. - Android(8.0+): '항상 켜짐 VPN' 옵션과 함께 '차단(block without VPN)' 설정으로 OS 수준 킬 스위치 구현 가능.[4]
- iOS: 시스템 VPN API 제약으로 완전한 OS 수준 구현이 어려우며, 앱 수준 보호에 의존하는 경우가 많다.
5. [[encryption|암호화]]와의 관계
7. 인용 및 각주
[1] CSO Online – What is a VPN and why do you need one. www.csoonline.com(새 탭에서 열림)
[2] NIST SP 800-77 Rev. 1 – Guide to IPsec VPNs. csrc.nist.gov(새 탭에서 열림)
[3] IETF RFC 4303 – IP Encapsulating Security Payload. datatracker.ietf.org(새 탭에서 열림)
[4] Android Developers – VPN. developer.android.com(새 탭에서 열림)