피드로 돌아가기
Remote Server Monitoring over VPN: A Docker Approach (Part 1)
Dev.toDev.to
Infrastructure

VPN Sidecar 패턴을 통한 무포트 노출 기반의 보안 모니터링 망 구축

Remote Server Monitoring over VPN: A Docker Approach (Part 1)

Alex Miller2026년 4월 16일4intermediate

Context

분산 인프라의 Metrics 수집 시 Prometheus의 Pull 방식이 요구하는 포트 개방으로 인한 보안 취약점 발생. Host OS 레벨의 VPN 설치는 트래픽 혼재 및 iptables 설정 복잡도 증가와 Docker 격리 원칙 훼손이라는 한계 존재.

Technical Solution

  • VPN Sidecar 패턴 도입을 통한 네트워크 계층의 완전 격리 및 보안 강화
  • Docker Network Namespace sharing(network_mode: service:xxx)을 활용한 서비스 간 네트워크 스택 공유
  • Prometheus 컨테이너를 VPN 컨테이너의 네트워크 스택에 바인딩하여 내부 VPN IP(10.10.0.x) 기반의 직접 통신 구현
  • Remote Node의 Exporter 또한 VPN Client 컨테이너와 Namespace를 공유하여 Public Internet 포트 노출을 원천 차단
  • NET_ADMIN 권한 및 sysctls 설정을 통한 컨테이너 내부 wg0 인터페이스 생성 및 L3 브리지 형성
  • Infrastructure as Code 기반의 Docker Compose 설정을 통한 Host OS 오염 방지 및 이식성 확보

1. 외부 노출 없이 내부 서비스 간 통신이 필요할 때 `network_mode: service` 옵션 검토

2. Host OS의 네트워크 설정을 변경하는 대신 Sidecar 컨테이너를 통한 네트워크 제어 적용

3. VPN 컨테이너 구축 시 `NET_ADMIN` 및 `SYS_MODULE` 권한 부여 필요성 확인

4. 분산 환경의 Metrics 수집 시 Port Scanning 공격 방지를 위한 VPN Tunneling 구조 설계

원문 읽기