PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?

这篇具有很好参考价值的文章主要介绍了PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PostgreSQL  连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?,postgresql,ssl,数据库,网络协议,网络

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(共1680人左右 1 + 2 + 3 + 4) 3群突破 490已关闭自由申请如需加入请提前说明,新人会进4群(200+)准备开5群,另欢迎 OpenGauss GAUSSDB的技术人员加入。

每日感悟

朋友走着走着就散了,可惜吗。谈不上一辈子你如火车,朋友如一段平行的列车,千万不要交汇点,有利益的冲突,那必然是车毁人亡,大部分时间人生的轨道上,只有你自己在上面飞奔,习惯就好。

相信使用数据库的同学,对于SSL这名词并不陌生,但问及SSL的数据库连接的访问的方式是否应该被用在数据库上面,这点可能知道的人就不多了,用了怎么样,不用又会怎么样。咱们的说一说,SSL安全套接字,安全套接字是一种加密的安全协议,1995由netscape发明,确保通信中的信息的隐私性和身份验证性等。SSL 本身在两个通信设备之间启动成为握手验证,确保两个设备确认他们所定义的身份,同时SSL还对数据进行数字签名验证数据是否到达目标接手者之前是否篡改过。

对于数据产品本身经过在这么多年的数据库使用中,并未有通过SSL协议来进行数据访问的使用经验,为什么有如下的一些问题需要进行解决。

1  什么时候应该使用SSL

这是一个好的问题,在多种的专业资料中都提到SSL对于数据库的必要性保证数据和应用端使用数据的信息安全,防止数据被盗取等问题。防止黑客对数据库数据进行访问或截取网络的数据包等问题,导致数据被盗取。但是SSL 协议以及相关的使用者从未说明这些SSL的使用的领域是在数据库被放置在公网的领域里面。

为什么基于SSL协议本身的一些问题,SSL对于数据库的性能损耗一直是一个被数据库工作者关心的问题,这正如你如果要横跨告诉公路,一定不能从告诉公路中横跨,但如果你仅仅是在你家小区横跨以下也要建立一个人行天桥就未免有些不能被理解了。

在一些安全的材料中,也提到SSL 的必要性,但专业的材料中也基本会提到,Unless the database server and the client are communicating over a local network. 这里大致的意思是SSL非常重要,除非你是在本地网络进行数据的访问,也就是你的应用和数据库都在一个网络内,在一个本地区域的网络内,这样就没有必要进行SSL 的使用。

PostgreSQL  连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?,postgresql,ssl,数据库,网络协议,网络

为什么,他们要提及这句话,实际上SSL的使用是有很大的成本的,这里简单的描述SSL 访问的过程,这里 A 与 B 进行访问,则A 和 B 都需要选定加密的算法,通过确认饱含公钥的证书,并且双方 都要进行会话秘钥的产生和确认并且进行握手。简单的总结为5部分

1 client hello

2  server hello

3  certificate server key exchange , server hello done

4  client key exchange ,change cipher spec ,encrypted handshake message

5  change cipher spec, encrypted handshake message

也就是如果你想进行一次客户端和数据库之间的访问,要走5步后才能正常 进行数据的传输。相对于TCP/IP的协议,3步走,还要多两步。

所以我们必然考虑一件事情,在采用SSL 后对于数据库的性能下降我们是否能接受,正好我们最近做了一次PG的数据库在不采用SSL 和采用SSL协议后的数据的使用中的性能变化,我们简单列一个表。

基于下面的表中的测试数据,我们可以看到在相关的测试中,只要通过SSL 访问的方式中对比采用普通方式访问的情况下,必然出现性能的损耗,损耗的差异与表的大小 ,以及并发等都有关。

编号

数据库开启SSL/TPS

数据库关闭SSL/TPS

 性能损耗

客户端模拟数量

应用线程数据量

数据操作方式

表数量

表行数

测试时间

说明

编号

数据库开启SSL/TPS

数据库关闭SSL/TPS

 性能损耗

客户端模拟数量

应用线程数据量

数据操作方式

表数量

表行数

测试时间

说明

1 15201 17861  2660 TPS 100 4 update 100 100万 180S
2 14658 17659 3001 TPS 100 4 update 100 100万 300S
3 14733 17870 3137 TPS 100 4 update 100 1000万 180S
4 14852 18049 3197 TPS 100 4 update 100 1000万 300S
5 12249 14717 2468 TPS 100 4 update + select 100 100万 180S
6 12501 14449 1948 TPS 100 4 update + select 100 100万 300S
7 12628 15440 2812 TPS 100 4 update + select 100 1000万 180S
8 12526 14527 2001 TPS 100 4 update + select 100 1000万 300S

PostgreSQL  连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?,postgresql,ssl,数据库,网络协议,网络

基于相关的测试中的结果,在内网中对于POSTGRESQL 访问建议不启用SSL 的访问方式,而是采用其他的方式来进行核心数据的安全防护。

这里有以下的一些建议

1   在内网访问中,关于核心的表的核心字段进行字段加密,在数据写入到数据列中的数据为已经加密好的数据,读取数据解密也在应用程序中进行,尽量将对数据库产生可能的压力,分解到应用服务器中。

2   如果必须在数据库中进行加密则使用POSTGRESQL 扩展pgcrypto 来进行相关的工作。

但如果数据库是放到外网中,则需要更多的手段来进行安全防护,这里就不过多的进行叙述了。

PostgreSQL  连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?,postgresql,ssl,数据库,网络协议,网络

PostgreSQL  连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?,postgresql,ssl,数据库,网络协议,网络文章来源地址https://www.toymoban.com/news/detail-742738.html

到了这里,关于PostgreSQL 连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么客户端和服务器不支持SSL协议

    为什么客户端和服务器不支持SSL协议?这是使用 SSL证书 的用户经常会遇到了一个问题,客户端和服务器不支持SSL协议可能有以下几个原因,大家可以作个参考。 版本不匹配:SSL协议有多个版本,包括过时的SSL 2.0、SSL 3.0和较新的TLS(Transport Layer Security)版本(如TLS 1.0、TLS

    2024年04月25日
    浏览(49)
  • SSL/TLS协议详解 - https为什么比http更安全

    SSL/TLS是世界上应用最广泛的密码通信方法。比如,在网上商城输入信用卡卡号时,Web浏览器就会使用SSL/TLS进行密码通信。使用SSL/TLS可以对通信对象进行认证,还可以确保通信内容的机密性。TLS相当于SSL的后续版本。 SSL (Secure Sockets Layer)安全套接层协议 :由Netscape公司开发

    2024年02月05日
    浏览(49)
  • 为什么深度优先搜索可以判定简单图中是否有环,而宽度优先搜索不行?

    1,首先可以肯定的是,对于无向图而言,宽搜和深搜都能判断是否有环。 简要说明一下,假如一个无向图有环,那么在宽搜的过程中,能搜到已经访问过的结点。如果一个无向图没有环(参考无向树),那么它的宽度优先搜索过程中,是不会访问到已访问过的结点的。 对于

    2024年02月14日
    浏览(78)
  • WebSocket 是什么原理?为什么可以实现持久连接?

    WebSocket 是一种用于实现持久连接的通信协议,它的原理和工作方式相对复杂,但我们可以尝试以尽可能简单和清晰的方式来解释它。 WebSocket 的原理 在理解 WebSocket 的工作原理之前,我们首先要了解 HTTP 协议的短连接性质。在传统的 HTTP 通信中,客户端发送一个请求到服务器

    2024年02月05日
    浏览(70)
  • 为什么kafka 需要 subscribe 的 group.id?我们是否需要使用 commitSync 手动提交偏移量?

    消费概念: Kafka 使用消费者组的概念来实现主题的并行消费 - 每条消息都将在每个消费者组中传递一次,无论该组中实际有多少个消费者。所以 group 参数是强制性的,如果没有组,Kafka 将不知道如何对待订阅同一主题的其他消费者。 偏移量 : 每当我们启动一个消费者时,

    2024年02月12日
    浏览(56)
  • 什么是 Java 中的数据库连接池?为什么使用连接池来管理数据库连接?

    数据库连接池(database connection pool)是在 Java 中用于管理数据库连接的一种技术。它的主要目的是提高数据库连接的重用性和性能。在传统的数据库连接方式中,每次与数据库建立连接时都需要进行一系列的网络通信和身份验证操作,这样的开销较大并且会影响应用程序的性

    2024年02月06日
    浏览(62)
  • 为什么USB最多只能连接127个设备?

    ** 为什么USB最多只能连接127个设备?** 一台USB主机可以同时支持多达128个地址。 作为默认地址,地址0仅在设备枚举期间临时 使用,不能分配给任何设备。因此,一个 USB主机可以同时支持多达127个地址。如果 一个设备只占用一个地址,那么它最多可以 支持127个USB设备。 在实

    2024年02月09日
    浏览(166)
  • 为什么网络连接断开几十秒又连上了

    为什么网络连接断开几十秒又连上了!这种情况也是我们常碰到的!我们来看一下造成这种现象的原因是什么? 1.系统有病毒或者恶意软件或者插件! 处理方法:对电脑进行杀毒和清除恶意插件或者是软件! 2.如何你使用ADSL上网出现了这种情况: 之前小编也有发布过很多类

    2024年02月05日
    浏览(48)
  • 为什么我的小程序审核不通过?常见原因及解决方法

    作为程序员、小程序的开发者,工作中比开发小程序还要让人头疼的事,也就只有就是让小程序通过审核了!每隔三五天,总会看到有同行在社区吐槽“吐槽下微信小程序审核机制”、“微信小程序审核不通过 放弃了,细数坑坑”。。。 认证费问题 在讲小程序审核问题之前

    2024年02月10日
    浏览(55)
  • 幻兽帕鲁服务器为什么网络连接失败?

    幻兽帕鲁服务器网络连接失败可能有几个原因,例如防火墙没有配置,幻兽帕鲁专用端口8211未放通。如果是阿里云一键部署的幻兽帕鲁,可以打开安全组设置。如果是腾讯云一键部署的幻兽帕鲁,可以打开防火墙配置。   点击【添加规则】 协议选择【UDP】,端口输入【821

    2024年02月20日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包