GoldenGate的安全配置

在实施GoldenGate的时候,安全这一项往往是被忽视的。但是作为一个完整运行的GoldenGate系统,基本的安全设置还是很有必要的,比如口令的加密。GoldenGate的安全选项主要有以下5个方面:

?  口令加密(Password Encryption)

?  Trail文件加密(Trail File Encryption)

?  网络传输加密(TCP/IP Encryption)

?  命令验证(Command Authentication)

?  可信任连接(Trusted Connection)

这里先来谈谈前3个安全选项。其余两项会在以后的专题中进行讨论。

口令加密、Trail文件加密以及网络传输加密都支持AES-128AES-192AES-256加密算法,口令加密和网络传输加密还支持Blowfish加密算法,Trail文件加密还支持字节替换加密。

口令加密

口令加密指的对数据库账号的口令进行加密,这样数据库账号的口令在配置文件中就不会以明文的方式出现了,从而保证了账号的安全。因为通常分配给GoldenGate使用的账号都具有很大的权限,因而对其进行保护也是很有必要的。在进行口令加密前,需要先生成密钥文件。实际上这一步不是必须的。可以使用GoldenGate默认的的密钥来进行加密,但是使用默认的密钥有很多限制:

1、只能使用Blowfish进行加密。

2、Trail文件加密只能使用字节替换。

3、网络传输加密不能使用

所以通常情况下还是需要自己生成密钥文件。生成密钥文件需要两个步骤:

1、使用keygen工具生成密钥。

2、GoldenGate的安装目录建一个名为ENCKEYS的文件,将上述生成的密钥存储在文件中。

具体操作如下:

# 生成密钥,128表示的是生成的密钥长度为128位,3表示生成3个密钥

[ggate@ogg_s current]$ ./keygen 128 3

0x345CEB2DA213DC2F75B0514484FCAB42

0xD8A1B350AF392A75C52EE540B169B267

0x7CE77B73BD5F783A15AD783DDFD6B80C

# 将密钥存储到文件中,一行一个密钥

[ggate@ogg_s current]$ cat ENCKEYS

## Key-name        Key-value

PASSWDKEY          0x345CEB2DA213DC2F75B0514484FCAB42

TRAILKEY          0xD8A1B350AF392A75C52EE540B169B267

TCPIPKEY          0x7CE77B73BD5F783A15AD783DDFD6B80C

 

配置好密钥文件后,我们就可以对数据库账号的口令进行加密了。

GGSCI (ogg_s) 1> ENCRYPT PASSWORD OGG123 ENCRYPTKEY PASSWDKEY

Encrypted password:  AADAAAAAAAAAAAGASBQGIAYGCFRCWELGFJMHBHHDOHWDWGRBBCKCYFSGGJTEJFFJUBQFKESGNAVBRDTF

Algorithm used:  AES128

 

操作是需要在GGSCI控制台下进行的,PASSWDKEY就是我们刚才配置的密钥名。可以看到这里使用的默认的加密算法是AES-128。如果使用GoldenGate默认的密钥时,加密算法就会是Blowfish

GGSCI (ogg_s) 2> ENCRYPT PASSWORD OGG123 ENCRYPTKEY DEFAULT

Using default key...

Encrypted password:  AACAAAAAAAAAAAGACARARDMENDJHIIFG

Algorithm used:  BLOWFISH

 

我们可以尝试DBLOGIN来验证加过密的口令是否能正常使用:

GGSCI (ogg_s) 3> DBLOGIN USERID OGG, PASSWORD AADAAAAAAAAAAAGASBQGIAYGCFRCWELGFJMHBHHDOHWDWGRBBCKCYFSGGJTEJFFJUBQFKESGNAVBRDTF, ENCRYPTKEY PASSWDKEY

Successfully logged into database.

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bb7c6fd301c2a887fdbff8d28cec7df0.html