AWS의 CISO인 Stephen Schmidt의 AWS re:Inforce 2021 기조연설 에 따르면, 팬데믹 이후 재택 근무자는 114% 증가했고, 재택 근무자가 직접 장비를 갖추는 사례가 59% 늘었다고 말한다.
이처럼 팬데믹 이후로 전세계적으로 재택 근무가 확대되고, 이러한 상황에 따라 재택 근무자의 단말기에 일관된 보안 정책 적용이 어려워지고 보안 정책 적용의 누수로 이어져, 새로운 보안 위협으로 대두되고 있다.
본 글에서는 보안성 높은 재택근무 환경을 위한 AWS 아키텍처 구성하기 를 참고하여 AWS Client VPN
를 사용한 재택근무 환경을 구성 및 설명한다. *AWS Client VPN 요금 정보는 다음과 같다.
구성 목표는 AWS Client VPN
을 연결하여 VPC 내 Private Subnet 에 위치한 내부용 업무 시스템에 접근 가능하도록 한다. 구성은 아래 그림과 같다. *아키텍처 참고
VPN 연결 시, 클라이언트가 할당받을 CIDR 범위를 설정한다.
주의할 점은 할당받을 CIDR 범위가 엔드포인트를 통해 연결되는 리소스와 겹치지 않도록 한다.
인증을 위한 정보를 입력한다. 선택 가능한 인증 옵션으로는 상호 인증과 사용자 기반 인증이 있다.
상호 인증으로 진행하는 경우, 아래의 링크를 참조하여 서버/클라이언트 인증서를 생성한다.
Server/Client 인증서 ARN 모두 서버 인증서를 선택하면 된다.
수동으로 인증서를 임포트하고 싶을 경우에는 다음과 같이 설정한다.
인증서 본문 : easyrsa3/pki/issued/server.crt
인증서 프라이빗 키 : easyrsa3/pki/private/server.key
인증서 체인 : easyrsa3/pki/ca.crt
CloudWatch 로그 그룹 설정을 통해 클라이언트 연결과 관련한 세부 정보를 얻을 수 있다.
Client Connect Handler 활성화 시, VPN 엔드포인트에 대한 새 VPN 연결을 허용하거나 거부하는 사용자 지정 로직을 실행할 수 있다. (최종 사용자가 새 VPN 연결을 시작할 때 Lambda 함수의 ARN 설정)
기본적으로 Client VPN 엔드포인트가 있는 경우 클라이언트의 모든 트래픽은 Client VPN 터널을 통해 라우팅된다. 분할 터널 활성화할 경우, Client VPN 엔드포인트 라우팅 테이블의 경로와 일치하는 네트워크 대상 트래픽만 Client VPN 터널을 통해 라우팅된다.
그 외에는 연결을 위한 VPC 를 지정하고, 셀프 서비스 포털 활성화 여부를 선택할 수 있다.
Client VPN 엔드포인트 생성은 했지만, 추가로 설정이 필요하다.
대상 네트워크에 대한 클라이언트 VPN 연결을 위한 Subnet 을 지정해야 한다. 이를 위해 VPN 연결을 위한 별도의 서브넷(vpn.private-2a.subnet)을 생성했다.
추가로 "라우팅 테이블", "권한 부여" 또는 "보안 그룹" 등을 구성 환경에 맞게 설정하면 된다.
가장 먼저, 클라이언트 VPN 목록 화면에서 클라이언트 구성을 다운로드한다.
다운로드 받은 파일(*.opvn)을 열어보면 기본적인 설정은 만들어져 있다.
아래의 경로 내 파일을 참고해 클라이언트 인증서 및 키 정보를 구성 파일에 추가한다.
... 중략
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...
</key>
reneg-sec 0
AWS 에서는 Client VPN 연결을 위한 애플리케이션을 제공한다. [참고]
설치가 완료된 후, 위에서 설정한 구성 파일을 임포트하여 프로파일을 생성하면 최종적으로 다음과 같은 화면을 볼 수 있다. 여기까지 설정이 완료되면 VPN 연결을 위한 모든 준비는 끝났다.
VPN 연결 후, Private 서브넷 내 인스턴스로 SSH 연결이 잘 되는 것을 확인할 수 있다.