Infra Tech Update

AWS Client VPN 구성 시 클라이언트 경로 강제 적용 활성화하기

AWS Client VPN 구성

9 min read
AWS Client VPN 구성 시 클라이언트 경로 강제 적용 활성화하기

안녕하세요, 이번 포스팅에서는 “AWS Client VPN, 클라이언트 경로 강제 적용 기능 지원” 에 관하여 다룰예정입니다. 이게 어떤 기능이고, 왜 중요할까요?

1. 이해하기

VPN을 쓰더라도 경로가 새나간다면?

예를 들어 A 회사에서는 보안을 위해 직원들이 VPN을 통해 내부 시스템에 접속하게 한다면 외부에서는 내부 시스템에 바로 접근할 수 없고, VPN을 거쳐야만 접속이 됩니다.

그런데 문제는, 사용자의 디바이스(노트북 등)에서 네트워크 경로를 임의로 바꾸면 VPN을 우회해 외부로 나가는 트래픽이 생길 수 있다는 점이에요.

예를 들어, 어떤 사용자가 일부러 VPN을 통하지 않고 인터넷에 접속하도록 설정을 바꾸면, 보안 위협이 될 수 있죠.

 

그래서 AWS가 도입한 ‘클라이언트 경로 강제 적용’

이번에 AWS가 발표한 클라이언트 경로 강제 적용 기능은 이런 문제를 막기 위한 장치입니다.

이 기능을 사용하면

쉽게 말해, “VPN을 무조건 통하게 만들어주는 보안 기능”이에요.

 

우회? 안 됩니다!

이 기능의 장점은 단순한 감시가 아니라, ‘복원’까지 자동으로 해준다는 점입니다.

AWS Client VPN이 즉시 알아채고 경로를 원래대로 돌려놓습니다.

이렇게 하면, VPN을 사용하는 목적 즉, 보안성과 내부 리소스 보호가 더욱 확실해지겠죠.

 

2. 실습하기

Step 1. 실습 환경은 다음과 같습니다.

 

Step 2. 로컬 WSL 네트워크 환경 이해해봅시다.

현재 제 로컬호스트는 10.1.30.0/24 네트워크에 포함되어 있으며, eth0 인터페이스에 10.1.30.49 IP가 할당되어 있습니다. WSL을 구성하여 윈도우 호스트에 가상 인터페이스가 부여되며 172.20.16.1 IP가 부여되고, 해당 인터페이스를 사용하여 WSL 네트워크를 구성하게 됩니다.

그림 1. WSL 네트워크 구성도

결과적으로 윈도우 호스트에서 WSL 호스트 172.20.26.65로의 통신은 veth0를 통해 이루어지며, 라우팅 테이블은 172.20.16.0/20 CIDR에 대해 veth0 으로 전달되도록 구성됩니다.

그림 2. 윈도우 호스트와 WSL 호스트 간 Ping 테스트 화면
그림 3. 윈도우 호스트의 라우팅 테이블 정보

Step 3. AWS VPC 및 테스트 환경을 구성해봅시다.

172.20.0.0/16 대역을 사용하는 VPC를 생성하고, WSL과 동일한 IP를 사용하는 EC2 인스턴스를 생성합니다.

그림 4. WSL IP와 동일한 EC2 인스턴스를 생성한 모습

Step 4. AWS Client VPN 구성하기

시작하기 AWS Client VPN - AWS Client VPN 를 참고하여 Client VPN을 구성합니다.

Step 5. 경로 강제 적용 비활성화

Step 3 문서를 참고하여 기본 구성한 경우 경로 강제 적용은 비활성화 되어 있습니다. 해당 상태에서 AWS VPN Client 프로그램을 통해 연결을 진행합니다.

그림 5. AWS VPN Client를 통해 연결이 성공한 모습

윈도우 cmd 창에서 아래 명령을 통해 라우팅 테이블을 확인해 봅니다.

route print
그림 6. 경로 강제 적용이 비활성화 된 상태의 클라이언트 라우팅 테이블

그림 6을 확인해 보면 WSL에서 사용중인 네트워크와 AWS VPC 네트워크 대역이 중복되어 라우팅이 적용되어 있고, 메트릭 값에 의해 클라이언트의 172.20.16.0/20 목적지 요청은 AWS VPC로 우선시 되는 점을 확인할 수 있습니다.

 

그럼 만약, 사용자가 172.20.16.0/20 대역의 통신을 AWS VPC가 아닌 WSL 대역으로 전송되도록 하기 위해 AWS VPC Client 쪽으로 향하는 경로를 삭제한다면 어떤 일이 일어날까요?

아래 명령을 통해 Client VPN 경로를 제거해봅니다.

route delete 172.20.16.0 mask 255.255.240.0 10.0.0.129
그림 7. AWS Client VPN 경로가 제거된 모습

클라이언트 사용자의 의도대로 AWS Client VPN 경로가 제거 되었습니다.

이 상태로 172.20.16.0/20 으로 통신을 요청하면, WSL이 사용하는 네트워크로 요청이 전송 됩니다.

즉, 경로 강제 적용을 비활성화 하면 AWS Client VPN에서 사용하는 라우팅 경로에 대해 사용자의 조작이 가능하다는 특징을 알 수 있었습니다.

Step 6. 경로 강제 적용 활성화

이번엔 경로 강제 적용을 활성화 한 뒤 라우팅 테이블을 조작해 보도록 하겠습니다.

AWS 콘솔 > VPC > 가상 사설 네트워크 > Client VPN 엔드포인트 > 선택 > [작업] > 클라이언트 VPN 엔드포인트 수정을 클릭하고, “클라이언트 경로 강제 적용”을 활성화 한 뒤 저장합니다.

그림 8. 경로 강제 적용 활성화화

수정 내용이 반영 되면 AWS VPN Client를 재 연결 합니다. cmd 창에서 route print를 통해 경로를 확인합니다.

그림 9. WSL 경로가 중복되어 사라지고, AWS Client VPN 대역의 경로만 존재하는 모습

기존과 달리 WSL이 사용하던 172.20.16.0/20 에 대한 경로는 사라지고, 오직 AWS Client VPN 대역만 조회되는 모습을 볼 수 있습니다.

그럼 아래 명령을 통해 클라이언트에서 AWS Client VPN 라우팅을 삭제 한 뒤 변경 사항을 확인 해보겠습니다.

route delete 172.20.16.0 mask 255.255.240.0 10.0.0.33
그림 10. 사용자가 의도적으로 ClientVPN 경로를 삭제하였음에도, 자동으로 경로가 복구된 모습

놀랍게도, 동일한 경로가 메트릭이 1개 추가되어 자동으로 생성 되어 있는 모습을 확인할 수 있습니다. (무결성 유지)

 

결론

🤚 AWS Client VPN 구성 시 클라이언트 경로 강제 적용을 활성화하면 관리자가 AWS 콘솔에서 설정한 구성이 최종 사용자에게 일관되게 적용되도록 보장하여 조직의 연결 무결성을 유지할 수 있습니다.

🤚 이는 단순히 설정을 저장하는 걸 넘어서, 실제 사용자 디바이스에서 경로가 변경되더라도 자동으로 원래 상태로 복구시켜주기 때문에, 관리자 입장에서 일관된 네트워크 환경을 유지할 수 있습니다.

🤚 기업이나 조직 입장에서는, 원격 근무 환경에서도 VPN을 통한 보안 통제가 끊기지 않고 유지된다는 점에서 매우 강력한 보안 도구가 될 수 있습니다.

긴 글 읽어주셔서 감사합니다 😄


참고문서

AWS Client VPN, 클라이언트 경로 강제 적용 기능 지원 - AWS

AWS Client VPN 클라이언트 라우팅 적용 - AWS Client VPN

AWS Client VPN 다운로드 | Amazon Web Services

Share This Post

Check out these related posts

Amazon EKS, 커뮤니티 애드온 살펴보기

Amazon S3 콘솔, 모든 버킷 외부 액세스 요약 표시

Database Insights, 메트릭 대시보드 사용자 정의 지원 추가