如何检查Oracle数据库连接加密类型

Sam*_*h T 7 oracle security encryption toad

如何检查 Oracle 数据库连接加密类型?(Oracle 数据库和其他客户端应用程序之间)我如何确保 Oracle 数据库和 Toad 之间的数据库连接是加密的?(我的 Toad 版本是 9.5,Oracle 数据库版本是 11g)

小智 9

不要将 Oracle Advanced Security 与到数据库的加密 SSL 客户端连接混淆。高级安全选项由两个主要功能组成,数据辐射和透明数据加密。TDE 是表内数据的加密,因此如果有人捕获了数据文件,他们将无法读取文件内明文的表数据。

客户端和数据库之间的加密 SSL 连接只是 Oracle Net Services 的一部分,并且包含在每个版本中。Oracle 文档解释了如何进行设置。

要回答您的问题,请运行以下查询:

SELECT sys_context('USERENV', 'NETWORK_PROTOCOL') as network_protocol FROM dual;
Run Code Online (Sandbox Code Playgroud)

如果您通过 SSL 连接,您将收到响应

NETWORK_PROTOCOL
----------------
tcps
Run Code Online (Sandbox Code Playgroud)

如果您收到“tcp”,那么您使用的是非 SSL 连接。

  • SQL*Net 本机加密更新:即使通信本身已加密,上述语句也显示本机加密的“tcp”。 (2认同)

小智 6

除非您已经做了“某事”来加密连接,否则它是明码实实的。

如果您想使用 Oracle 解决方案加密此通信,您必须使用企业版并且您必须购买高级安全插件。

如果您这样做的免费方式,请使用 Stunnel https://www.stunnel.org/index.html

令人惊讶的是,Stunnel 和 Advanced Security 有很多相似之处。我已经安装了两者,并且喜欢 Stunnel。

Stunnel 很棒,尤其是当您想从存储过程进行 https 连接时。Oracle 需要各种各样的麻烦,例如在 Wallet 中安装客户端的证书(我认为现在已经消失了 - 最终 - 但取而代之的是其他一些繁琐的想法。而,Stunnel 只需要在安装文件中添加 3 行代码。

无论如何,除非您需要使用高级安全选项,否则请查看 Stunnel。

要查看您是否正在运行 ASO,请在您的 sqlnet.ora 文件中查找奇怪的条目:

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (MD5) 
SQLNET.ENCRYPTION_TYPES_CLIENT = (RC4_256) 
SQLNET.ENCRYPTION_CLIENT = required 
SQLNET.CRYPTO_CHECKSUM_CLIENT = required 
Run Code Online (Sandbox Code Playgroud)

查看客户端和服务器的 sqlnet.ora 文件。