AWS Client VPN에 대한 상호 인증 활성화 - AWS Client VPN

AWS Client VPN에 대한 상호 인증 활성화

Linux/MacOS 또는 Windows의 Client VPN에서 상호 인증을 활성화할 수 있습니다.

Linux/macOS

다음 절차에서는 OpenVPN easy-rsa를 사용하여 서버 및 클라이언트 인증서와 키를 생성한 다음, 서버 인증서와 키를 ACM에 업로드합니다. 자세한 내용은 Easy-RSA 3 Quickstart README를 참조하십시오.

서버 및 클라이언트 인증서와 키를 생성하여 ACM에 업로드하려면
  1. OpenVPN easy-rsa 리포지토리를 로컬 컴퓨터에 복제하고 easy-rsa/easyrsa3 폴더로 이동하십시오.

    $ git clone https://github.com/OpenVPN/easy-rsa.git
    $ cd easy-rsa/easyrsa3
  2. 새 PKI 환경을 시작합니다.

    $ ./easyrsa init-pki
  3. 새 CA(인증 기관)를 빌드하려면 이 명령을 실행하고 표시되는 메시지를 따릅니다.

    $ ./easyrsa build-ca nopass
  4. 서버 인증서 및 키를 생성합니다.

    $ ./easyrsa --san=DNS:server build-server-full server nopass
  5. 클라이언트 인증서 및 키를 생성합니다.

    클라이언트를 구성할 때 필요하므로 클라이언트 인증서와 클라이언트 프라이빗 키를 저장해야 합니다.

    $ ./easyrsa build-client-full client1.domain.tld nopass

    클라이언트 인증서와 키가 필요한 각 클라이언트(최종 사용자)에 대해 이 단계를 선택적으로 반복할 수 있습니다.

  6. 서버 인증서 및 키 그리고 클라이어트 인증서 및 키를 사용자 지정 폴더에 복사한 후 해당 폴더로 이동합니다.

    인증서 및 키를 복사하기 전에 mkdir 명령을 사용하여 사용자 지정 폴더를 만듭니다. 다음 예제에서는 홈 디렉터리에 사용자 지정 폴더를 만듭니다.

    $ mkdir ~/custom_folder/ $ cp pki/ca.crt ~/custom_folder/ $ cp pki/issued/server.crt ~/custom_folder/ $ cp pki/private/server.key ~/custom_folder/ $ cp pki/issued/client1.domain.tld.crt ~/custom_folder $ cp pki/private/client1.domain.tld.key ~/custom_folder/ $ cd ~/custom_folder/
  7. 서버 인증서 및 키와 클라이언트 인증서 및 키를 ACM에 업로드합니다. Client VPN 엔드포인트를 생성하려는 리전과 동일한 리전에 업로드해야 합니다. 다음 명령은 AWS CLI를 사용하여 인증서를 업로드합니다. 대신 ACM 콘솔을 사용하여 인증서를 업로드하려면 AWS Certificate Manager 사용 설명서인증서 가져오기를 참조하세요.

    $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
    $ aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt

    클라이언트 인증서를 반드시 ACM에 업로드하지 않아도 됩니다. 서버 및 클라이언트 인증서가 동일한 인증 기관(CA)에 의해 발급된 경우, Client VPN 엔드포인트를 생성할 때 서버 및 클라이언트 모두에 대해 서버 인증서 ARN을 사용할 수 있습니다. 위에서 설명한 단계에서는 동일한 CA를 사용하여 두 가지 인증서를 모두 생성했습니다. 그러나 완전성을 위해 클라이언트 인증서를 업로드하는 단계가 포함됩니다.

Windows

다음 절차에서는 Easy-RSA 3.x 소프트웨어를 설치하고 이 소프트웨어를 사용하여 서버 및 클라이언트 인증서와 키를 생성합니다.

서버 및 클라이언트 인증서와 키를 생성하여 ACM에 업로드하려면
  1. EasyRSA 릴리스(EasyRSA releases) 페이지를 열고 사용 중인 Windows 버전에 해당하는 ZIP 파일을 다운로드한 후 압축을 풉니다.

  2. 명령 프롬프트를 열고 EasyRSA-3.x 폴더가 추출된 위치로 이동합니다.

  3. 다음 명령을 실행하여 EasyRSA 3 셸을 엽니다.

    C:\Program Files\EasyRSA-3.x> .\EasyRSA-Start.bat
  4. 새 PKI 환경을 시작합니다.

    # ./easyrsa init-pki
  5. 새 CA(인증 기관)를 빌드하려면 이 명령을 실행하고 표시되는 메시지를 따릅니다.

    # ./easyrsa build-ca nopass
  6. 서버 인증서 및 키를 생성합니다.

    # ./easyrsa --san=DNS:server build-server-full server nopass
  7. 클라이언트 인증서 및 키를 생성합니다.

    # ./easyrsa build-client-full client1.domain.tld nopass

    클라이언트 인증서와 키가 필요한 각 클라이언트(최종 사용자)에 대해 이 단계를 선택적으로 반복할 수 있습니다.

  8. EasyRSA 3 셸을 종료합니다.

    # exit
  9. 서버 인증서 및 키 그리고 클라이어트 인증서 및 키를 사용자 지정 폴더에 복사한 후 해당 폴더로 이동합니다.

    인증서 및 키를 복사하기 전에 mkdir 명령을 사용하여 사용자 지정 폴더를 만듭니다. 다음 예제에서는 C:\ 드라이브에 사용자 지정 폴더를 만듭니다.

    C:\Program Files\EasyRSA-3.x> mkdir C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\ca.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\server.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\server.key C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\client1.domain.tld.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\client1.domain.tld.key C:\custom_folder C:\Program Files\EasyRSA-3.x> cd C:\custom_folder
  10. 서버 인증서 및 키와 클라이언트 인증서 및 키를 ACM에 업로드합니다. Client VPN 엔드포인트를 생성하려는 리전과 동일한 리전에 업로드해야 합니다. 다음 명령은 AWS CLI를 사용하여 인증서를 업로드합니다. 대신 ACM 콘솔을 사용하여 인증서를 업로드하려면 AWS Certificate Manager 사용 설명서인증서 가져오기를 참조하세요.

    aws acm import-certificate \ --certificate fileb://server.crt \ --private-key fileb://server.key \ --certificate-chain fileb://ca.crt
    aws acm import-certificate \ --certificate fileb://client1.domain.tld.crt \ --private-key fileb://client1.domain.tld.key \ --certificate-chain fileb://ca.crt

    클라이언트 인증서를 반드시 ACM에 업로드하지 않아도 됩니다. 서버 및 클라이언트 인증서가 동일한 인증 기관(CA)에 의해 발급된 경우, Client VPN 엔드포인트를 생성할 때 서버 및 클라이언트 모두에 대해 서버 인증서 ARN을 사용할 수 있습니다. 위에서 설명한 단계에서는 동일한 CA를 사용하여 두 가지 인증서를 모두 생성했습니다. 그러나 완전성을 위해 클라이언트 인증서를 업로드하는 단계가 포함됩니다.