피드로 돌아가기
Dev.toSecurity
원문 읽기
OS 레벨 DNS Leak 차단을 통한 VPN 터널링 무결성 확보
Debugging DNS leaks: why your VPN isn't hiding what you think it is
AI 요약
Context
VPN 연결 후에도 IP 패킷과 달리 DNS 쿼리가 물리 인터페이스를 통해 ISP 리졸버로 송출되는 DNS Leak 발생. OS 레벨의 Resolver 설정 및 브라우저의 DoH 기능이 VPN 라우팅 결정 전 단계에서 동작하는 구조적 한계로 인해 프라이버시 침해 위험 노출.
Technical Solution
- VPN 설정 내 DNS 필드 명시를 통한 /etc/resolv.conf 및 systemd-resolved의 강제 업데이트로 쿼리 경로 변경
- AllowedIPs=0.0.0.0/0 설정을 통해 DNS 쿼리 패킷의 VPN 터널 진입을 보장하는 라우팅 설계
- Firefox/Chrome의 DoH(DNS-over-HTTPS) 설정을 비활성화하여 브라우저가 OS Resolver를 준수하도록 강제
- GODEBUG=netdns=cgo 설정을 통한 Go 런타임의 순수 Go 리졸버 우회 및 시스템 설정 반영 유도
- nftables를 활용하여 물리 인터페이스(wlan0)의 UDP/TCP 53 포트 트래픽을 Drop 시키는 Fail-loud 방어 계층 구축
실천 포인트
- tcpdump를 통한 물리 NIC의 53번 포트 패킷 유출 여부 검증 - systemd-resolved 및 resolvectl status를 통한 인터페이스별 리졸버 매핑 확인 - 브라우저 DoH 설정 및 언어 런타임(Go 등)의 커스텀 리졸버 동작 방식 검토 - 물리 인터페이스 대상의 DNS 트래픽 차단 방화벽 룰 적용