목록 보기
WireGuard로 멋진 VPN 서버 구축하기 - 2
데브옵스

WireGuard로 멋진 VPN 서버 구축하기 - 2

데브시스터즈
데브시스터즈
2021년 9월 3일

두줄요약

WireGuard의 공개키 기반 연결에 Keycloak SSO와 키 활성화·만료 정책을 결합했습니다. tc eBPF 맵으로 패킷을 제어하고 만료 키 연결은 Slack으로 알림했습니다.

문제 상황

  • WireGuard 공개키 인증만으로 키 유출 시 별도 인증 없이 사설망 접근 가능한 위험
  • 키 만료 상태에서도 클라이언트 연결 화면만으로 정상 접근으로 오인 가능한 사용성 문제

해결 방법

  • Keycloak SSO 기반 Web UI에서 디바이스별 키 활성화 및 일정 시간 후 만료 처리
  • WireGuard 인터페이스의 tc-bpf direct-action으로 활성화 상태에 따른 패킷 허용·차단
  • 만료 키 패킷 드롭 감지 후 Slack 알림 전송

구조와 흐름

  • 고유 IP를 키로 사용하는 eBPF allow_map에서 활성 상태 1과 차단 상태 0 관리
  • VPN 서버의 주기적 만료 확인과 eBPF 맵 값 갱신
  • dropped_map의 드롭 패킷 수 감시와 사용자 알림

성능/운영 포인트

  • XDP 대신 WireGuard 복호화 이후 Source IP 식별 가능한 tc 지점 선택
  • 커널 공간 eBPF 실행과 JIT 기반 패킷 필터링
  • 디바이스 삭제만으로 유출·분실 키 무효화

다음 읽기

#WireGuard 주제를 이어서 읽기

WireGuard로 멋진 VPN 서버 구축하기 - 1

OpenVPN의 계정 관리·추적성·성능 문제를 WireGuard 기반 자체 VPN으로 개선했습니다. 그룹별 접근 제어와 사용자 고유 IP 로그를 AWS 라우팅으로 구현했습니다.

데브시스터즈
데브시스터즈
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...