在 RDS Custom for Oracle 主实例和副本实例之间配置 VPN 隧道
VPN 隧道是通过网络在两个或更多个设备之间建立的加密连接。为了确保 RDS Custom for Oracle 中的 Oracle Data Guard 实例具有最高级别的安全性,我们强烈建议您实施 VPN 隧道来对主实例与备用实例之间的通信进行加密。该隧道在实例之间进行网络传输时,可保护敏感数据。虽然此配置是可选的,但我们建议将其作为实现数据安全性和法规合规性的最佳实践。
请确保满足以下先决条件:
-
您拥有主要主机和备用主机的根访问权限。
-
您拥有运行
ipsec
命令的技术专业知识。
在 RDS Custom for Oracle 中配置主副本之间的 VPN 隧道
-
使用以下规则将主实例和备用实例的安全组添加到允许列表中:
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)
-
切换到根用户。
$ sudo su – root
-
在主实例和备用实例上运行以下命令,以初始化用户
root
下的网络安全服务(NSS)数据库。ipsec initnss --nssdir /etc/ipsec.d
-
按如下方式生成 RSA 密钥:
-
在主实例上,使用以下任一
ipsec
命令生成密钥,具体取决于您的操作系统版本。ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
-
获取创建配置所需的公有密钥。在以下示例中,主实例是
left
,因为在ipsec
术语中,left
是指您当前正在配置的设备,而right
是指隧道另一端的设备。ipsec showhostkey --left --ckaid
ckaid-returned-in-last-statement
-
在备用实例上,为备用实例生成密钥。
ipsec newhostkey --nssdir /etc/ipsec.d ## for Oracle Linux Version 8 ipsec newhostkey --output /etc/ipsec.secrets ## for Oracle Linux version 7.9
-
获取备用实例的公有密钥,创建配置时需要该公有密钥。在以下示例中,备用实例为
right
,因为它指的是隧道另一端的设备。ipsec showhostkey --right --ckaid
ckaid-returned-in-last-statement
-
-
根据您获得的 RSA 密钥生成配置。主实例与备用实例的配置相同。您可以在 Amazon 控制台中找到主实例 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
-
在主实例和备用实例上,在两台主机上启动
ipsec
进程守护程序。ipsec setup start
-
在主实例或备用实例上启动隧道。 输出应类似于以下内容。
[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 ~]#