RDS Custom for Oracle 기본 인스턴스와 복제본 인스턴스 간에 VPN 터널 구성 - Amazon Relational Database Service

RDS Custom for Oracle 기본 인스턴스와 복제본 인스턴스 간에 VPN 터널 구성

VPN 터널은 네트워크를 통한 디바이스 두 개 이상 간의 암호화된 연결입니다. RDS Custom for Oracle에서 Oracle Data Guard 인스턴스에 대한 최고 수준의 보안을 보장하려면 VPN 터널을 구현하여 기본 인스턴스와 대기 인스턴스 간의 통신을 암호화하는 것이 좋습니다. 터널은 민감한 데이터가 인스턴스 간에 네트워크를 이동할 때 민감한 데이터를 보호하는 역할을 합니다. 이 구성은 선택 사항이지만 데이터 보안 및 규정 준수를 달성하기 위한 모범 사례로 사용하는 것이 좋습니다.

다음 사전 조건을 충족하는지 확인합니다.

  • 기본 및 대기 호스트에 대한 루트 액세스 권한이 있어야 합니다.

  • ipsec 명령을 실행할 수 있는 기술적 전문 지식이 있어야 합니다.

RDS Custom for Oracle에서 기본 복제본과 복제본 간에 VPN 터널을 구성하는 방법
  1. 다음 규칙을 사용하여 기본 인스턴스와 대기 인스턴스 모두에 대한 보안 그룹을 허용 목록에 추가합니다.

    ACTION FLOW SOURCE PROTO PORT ALLOW ingress this-SG 50 (ESP) all (N/A) ALLOW egress this-SG 50 (ESP) all (N/A) ALLOW ingress this-SG 17 (UDP) 500 (IKE) ALLOW egress this-SG 17 (UDP) 500 (IKE)
  2. 루트 사용자로 전환합니다.

    $ sudo su – root
  3. 기본 인스턴스와 대기 인스턴스 모두에서 다음 명령을 실행하여 사용자 root를 사용하여 네트워크 보안 서비스(NSS) 데이터베이스를 초기화합니다.

    ipsec initnss --nssdir /etc/ipsec.d
  4. 다음과 같이 RSA 키를 생성합니다.

    1. 기본 인스턴스에서 OS 버전에 따라 다음 ipsec 명령 중 하나를 사용하여 키를 생성합니다.

      ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
    2. 구성을 만드는 데 필요한 퍼블릭 키를 가져옵니다. 다음 예시에서 기본 인스턴스는 left입니다. ipsec parlance에서 left가 현재 구성 중인 디바이스를 나타내고 right는 터널의 다른 쪽 끝에 있는 디바이스를 나타내기 때문입니다.

      ipsec showhostkey --left --ckaid ckaid-returned-in-last-statement
    3. 대기 인스턴스에서 대기 인스턴스에 대한 키를 생성합니다.

      ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
    4. 구성을 만드는 데 필요한 대기 인스턴스의 퍼블릭 키를 가져옵니다. 다음 예시에서 대기 인스턴스는 터널의 다른 쪽 끝에 있는 디바이스를 나타내는 right입니다.

      ipsec showhostkey --right --ckaid ckaid-returned-in-last-statement
  5. 가져온 RSA 키를 기반으로 구성을 생성합니다. 구성은 기본 인스턴스와 대기 인스턴스에서 동일합니다. AWS Console에서 기본 인스턴스 IPv4 주소와 대기 인스턴스 IPv4 주소를 찾을 수 있습니다.

    기본 인스턴스와 대기 인스턴스 모두에서 다음 구성을 /etc/ipsec.d/custom-fb-tunnel.conf 파일에 저장합니다.

    conn custom-db-tunnel type=transport auto=add authby=rsasig left=IPV4-for-primary leftrsasigkey=RSA-key-generated-on-primary right=IPV4-for-standby rightrsasigkey=RSA-key-generated-on-standby
  6. 기본 인스턴스와 대기 인스턴스 둘 다, 두 호스트 모두에서 ipsec 대몬을 시작합니다.

    ipsec setup start
  7. 기본 인스턴스 또는 대기 인스턴스에서 터널을 시작합니다. 출력은 다음과 유사합니다.

    [root@ip-172-31-6-81 ~]# ipsec auto --up custom-db-tunnel 181 "custom-db-tunnel" #1: initiating IKEv2 connection 181 "custom-db-tunnel" #1: sent IKE_SA_INIT request to 172.31.32.196:500 182 "custom-db-tunnel" #1: sent IKE_AUTH request {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=DH19} 003 "custom-db-tunnel" #1: initiator established IKE SA; authenticated peer '3584-bit PKCS#1 1.5 RSA with SHA1' signature using preloaded certificate '172.31.32.196' 004 "custom-db-tunnel" #2: initiator established Child SA using #1; IPsec transport [172.31.6.81-172.31.6.81:0-65535 0] -> [172.31.32.196-172.31.32.196:0-65535 0] {ESP/ESN=>0xda9c4815 <0xb742ca42 xfrm=AES_GCM_16_256-NONE DPD=passive} [root@ip-172-31-6-81 ~]#