oracle - Oracle 加密和 SSL 有什么区别
问题描述
Oracle Encryption 是否足以加密网络流量?
还是我应该使用 SSL 选项?
更新: - 网络 = LAN - 使用 Oracle 网络管理器,您可以启用加密(例如 AES256)或者您可以设置 SSL。
加密够了吗?当使用 Wireshark 进行嗅探时,数据确实是加密的,但协议仍然是 TNS。使用 SSL,您将获得 TLSv1.2。
我也在寻找租赁性能下降的选项。
解决方案
根据 TLS/SSL 的一般配置设置,您必须获得为数据库颁发的证书。获得证书后,您需要将其放入钱包中,然后配置您的侦听器以使用该钱包。此外,对于所有想要连接到数据库的客户端,您必须为他们提供受信任的证书,并且客户端设置必须配置为使用证书进行验证。
对于本地网络加密,您需要在 sqlnet.ora 中使用一个标志来指示您是否require/accept/reject
加密了连接。对于服务器 sqlnet.ora,标志为SQLNET.ENCRYPTION_SERVER
,对于客户端,标志为SQLNET.ENCRYPTION_CLIENT
. 该标志的默认值为accepted
. 这意味着您无需将所有客户端配置为对连接使用加密即可摆脱困境。您只需将服务器配置为使用网络加密。
本机网络加密优于 TLS/SSL 的优点是您几乎不需要在客户端上进行任何配置。然而,这种方法的缺点是您将不知道您是否连接到预期的数据库(服务器)。在一定程度上,使用本地网络加密可以进行中间人攻击。如果攻击者可以进入网络并重定向客户端以使用恶意数据库,客户端将不会知道这一点,尽管所有通信都将被加密。但是,如果攻击者在客户端完成与真实数据库的连接后加入网络,他就无法造成任何破坏。
所以,这一切都归结为你想要妥协的地方。如果您认为有人在您的网络中冒充数据库的风险很低,您应该继续使用本地网络加密。但是,如果您想要最大程度的安全性,请使用 TLS/SSL。TLS/SSL 的缺点是更难设置和维护。您必须重新配置所有连接到数据库的客户端,并且每次服务器证书更改时,您都必须再次转到客户端进行重新配置。
这是一个很好的视频来解释这两者,答案大多是从这个复制而来的。 Oracle 安全产品的产品管理总监 Russ Lowenthal 解释了数据库安全。
关于两种方法之间的性能比较,我目前没有任何可用的东西。一旦我找到东西,我会更新这个答案。您可以查看此内容以比较未加密数据库与本机网络加密数据库的性能。
希望这会在某种程度上有所帮助。谢谢
推荐阅读
- javascript - 来自 jQuery $.ajax 调用的响应变量上的 javascript querySelector
- c++ - std::bind() 参数列表中仿函数的执行顺序(可能与函数参数的评估顺序无关)
- python - python中的多个shell命令(Windows)
- amazon-web-services - 用于传送 fluentd 日志的 aws kubernetes 集群间通信
- scala - 使用 OptionT 将 Future[Option[_]] 与普通 Future[_] 组合时语法更好
- asp.net-core - 使用 AbpMvcAuthorize 自定义身份验证方案
- php - openssl_public_encrypt 在大输入上返回空输出
- ios - 在 ARKit 水平面上绘制填充多边形
- python - 使用 paramiko,重命名文件和更改目录失败。为什么?
- linux - 在单个别名命令中链接 xwininfo 和 imagemagick?