피드로 돌아가기
Dev.toSecurity
원문 읽기
Dual-stack 환경의 IPv6 우회 경로 차단을 통한 Tor 트래픽 완벽 제어
I blocked Tor exit nodes, then I opened Tor Browser
AI 요약
Context
IPv4 기반의 firewall-level deny 설정을 통해 Tor exit node 트래픽을 차단하려 했으나, Dual-stack 환경에서 IPv6 트래픽이 필터링 없이 그대로 유입되는 보안 허점 발견.
Technical Solution
- IPv4 전용 ipset의 한계를 극복하기 위해 IPv4/IPv6 개별 ipset(tor, tor6)을 구성하는 Dual-stack 아키텍처 설계
- 단일 소스의 불완전성을 해결하고자 Tor Project Bulk List, Onionoo, dan.me.uk 등 3개 소스의 데이터를 병합하고 중복을 제거하는 데이터 파이프라인 구축
- 서비스 가용성 확보를 위해 임시 ipset 생성 후 검증을 거쳐 실시간 셋으로 교체하는 Atomic Swap 메커니즘 적용
- 시스템 안정성을 위해 root 권한 체크, flock 기반의 Race Condition 방지, timestamp 기반의 백업 및 --rollback 플래그 기능 구현
- $PATH 의존성을 제거하기 위해 resolve_bin() 헬퍼 함수를 통한 바이너리 절대 경로 명시적 해결
- iptables 및 ip6tables 양측에 동시 적용하여 커널 레벨에서 패킷을 드롭하는 구조 설계
실천 포인트
1. Dual-stack 서버 운영 시 IPv4/IPv6 필터링 규칙이 동일하게 적용되었는지 검토
2. 외부 리스트 기반 방화벽 구축 시 단일 소스가 아닌 다중 소스의 Union Set을 구성하여 커버리지 확대
3. 배포 후 로그 확인에 그치지 않고, 실제 공격자 관점에서 트래픽을 발생시켜 패킷 카운터(pkts/bytes)의 증감을 확인하는 테스트 수행
4. 운영 환경의 자동화 스크립트에 Atomic Swap과 롤백 메커니즘을 포함하여 설정 오류 시 즉각 복구 가능 구조 설계