AWS Security Workshop - Client VPN

Glen·2023년 7월 3일
2

aws security workshop

목록 보기
8/10

link

AWS client VPN 이란?

  • AWS 및 온프레미스 네트워크의 리소스에 안전하게 액세스 할 수 있는 클라이언트 기반의 완전 관리형 SSL VPN 서비스.
  • Client VPN을 사용하면 OpenVPN 기반 VPN 클라이언트를 이용하여 어디서나 내부 리소스에 액세스 할 수 있다.

구성

  • 이용자는 OpenVPN Client를 사용하여 재택 근무지, 출장지 등 어떤 위치에서든 클라이언트 VPN 엔드포인트를 통해서 안전하게 연결할 수 있다.
  • Client VPN 엔드포인트에 연결시 사용자 기반 인증(Active Directory) 또는 상호 인증(인증서)을 이용 할 수 있다.
  • 엔드포인트에 할당된 서브넷의 ENI(Elastic Network Interface)를 통해 VPC에 액세스가 가능.
  • 보안 그룹이나 인증 규칙을 사용하여 액세스를 제어.

실습

  • cloudformation은 없고 하나씩 수동으로 생성하여 실습진행

VPC

  • VPN 연결 테스트를 위해 Private subnet3개 를 가진 vpc를 생성한다.

  • private subnet중 하나는 ec2 인스턴스를 배포하고, 나머지 두개는 client vpn 엔드포인트를 작성할때 연결 서브넷으로 사용한다.

  • 맨날 테라폼으로만 하다가 수동으로 하는데 자동생성이 있네.. 넘편하구만

EC2

  • private subnet a(198.19.1.0/24)
  • amazon ami, t2.micro
  • sg icmp vpc 대역 오픈
    - 생성에서 계속 오류나서 ec2생성 이후 인바운드 편집으로 설

CloudWatch

  • VPN 연결로그를 저장하기 위해, 로그그룹 및 로그 스트림을 생성한다.

  • connection-log로 생성

인증서 만들기

  • OpenVPN easy-rsa를 사용하여 서버 인증서 및 키를 생성하고 이를 ACM 업로드 해본다.

구성

OpenVPN

  • link에서 운영체제에 맞는걸 설치함.

EasyRSA

  • link에서 다운로드 후 C:\Program Files\OpenVPN에 복사함

인증서 및 키

  • 위 경로에서 start.bat 실행
./easyrsa init-pki

./easyrsa build-ca nopass

./easyrsa build-server-full server nopass

  • 쉘에서 나와서 custom_folder를 생성하고, 아래와 같이 앞서 생성한 키들을 복사한다.

ACM

  • ACM 에서 인증서 가져오기로 등록한다.

server인증서

  • 본문 : server.crt
  • 프라이빗키 : server.key
  • 체인 : ca.crt

client인증서

  • 본문 : client1.domain.tld.crt
  • 프라이빗키 : client1.domain.tld.key
  • 체인 : ca.crt
  • 2개 인증서 등록 확인

Client VPC 엔드포인트 생성

  • 인증서 기반의 상호 인증을 사용하여 클라이언트 VPN을 연결할수 있도록 구성한다.
  • 클라이언트 VPN 엔드포인트 생성
이름 태그cvpn-hands-on
클라이언트 IPv4 CIDR 블록100.64.0.0/22
서버 인증서 ARNServer의 이름이 붙은 ARN을 지정
인증 옵션상호 인증 사용
클라이언트 인증서 ARNclient1.domain.tld 이름이 붙은 ARN을 지정
클라이언트 연결에 대한 세부 정보를 기록하시겠습니까?
CloudWatch Logs 로그 그룹 이름/aws/clientvpn
CloudWatch Logs 로그 스트림 이름connection-log
분할 터널 활성화체크함
VPC IDcvpn-hands-on
기타 항목기본값

  • 생성한 엔드포인트의 대상 네트워크 연결을 편집
    - b,c az의 서브
  • 권한부여 추가
    - 엑세스 활성화 네트워크에 VPC cidr 추가
  • 라우팅 테이블에 2개 있는지 확인
    - 대상 네트워크(b,c)
  • 상태 활성화 확인후 [클라이언트 구성 다운로드] 클릭

VPN 연결

  • AWS Client VPN 엔드포인트에 연결하기 위해서 PC에 VPN 클라이언트 도구를 설치하고 이를 통해 실제로 VPN으로 연결한다.

VPN 클라이언트 설치

  • link에서 운영체제 맞는 프로그램 다운로드
  • 파일 불러오기로 ovpn 파일 선택,
  • 다음 연결 선택
  • 연결됨을 확인
  • VPN 엔드포인트에서 연결 확인

ping 확인

  • ec2 인스턴스에 ping을 날려 네트워크가 전달되는지 확인.
  • netstat으로 확인

로그 확인

  • cloudwatch에서 접속 시간, 종료시간, 접속환경 등 확인 가능.
profile
어제보다 나은 엔지니어가 되기 위해서 공부중

0개의 댓글