开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2370人左右 1 + 2 + 3 + 4 +5 + 6 + 7)(1 2 3 4 5 群均已爆满,6群突破300人)
标题挺吓人,的确也是挺吓人的,我已经吃过几次亏了,被领导"询问"我管辖下的PostgreSQL的自建主机怎么就那么的多的安全问题,看图。
工作中我们DBA 组对PostgreSQL自建的主机,管理还是比较严格的,我们做了如下的工作
1 PostgreSQL的数据库用户的名字应该带有前缀,表明用户的使用目的
**2 PostgreSQL的数据库用户的密码必须是8位及以上,且必须是大小写和 **
**3 PostgreSQL的数据库端口号,不能是默认的,这里我们统一数据库端口号 1822 **
**4 PostgreSQL建立后,必须给postgres 取消登录的权限 **
**5 PostgreSQL设置SSL连接方式,对需要使用SSL连接的客户,提供SSL 连接方式 **
6 PostgreSQL pg_hba.conf 中关键的部分进行设置比 TCP/IP 访问的方式必须是md5
但就算是这样我们海狮得到上面图上的结果,未授权访问--PostgreSQL未授权访问高危风险基线的警告。
估计写到这里,一些PostgreSQL的新手,可能对我们上面的一些安全做法也是不熟悉的,这里统一的说说,最后说说我们折在哪里,让阿里云的安全扫描后,给我们这样的结果。
第一点,不用说管理过数据库的都知道该怎么做
第二点也是一样,但这里提醒不要在密码里面出现一些奇怪的字符比如 /?%&-=+`" 这样的字符。
**第三点 **在PostgreSQL数据库编译的时候就可以对端口进行非默认5432的端口的编译,或者在PostgreSQL.conf 配置文件中对port 端口号进行修改。
第四点 在建立有效的superuser后,就可以对postgres账号下手,直接取消他的用户登录权限,让那些试图通过Postgres登录数据库进行试探的程序统统的失效。
**第五点 **稍微有点麻烦大家可以跟着我来进行操作 首先如果没有证书,可以自己生成,但如果是对外的数据库服务器,请根据公司的要求获得互联网可支持的证书。
下图是如何产生证书和KEY
openssl req -new -text -out server.req
openssl rsa -in privkey.pem -out server.key
openssl req -x509 -in server.req -text -key server.key -out server.crt
然后把PostgreSQL的配置文件进行修改,将你的证书和KEY文件写入到对应的配置选项,同时打开SSL选项。
# - SSL -
ssl = on
#ssl_ca_file = ''
ssl_cert_file = 'server.crt'
#ssl_crl_file = ''
#ssl_crl_dir = ''
ssl_key_file = 'server.key'
#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
#ssl_prefer_server_ciphers = on
最后调节 pg_hba.conf 修改
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
hostssl all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
然后就是pg_ctl -D /pgdata/data reload 将配置加载到PostgreSQL中。
postgres@pg16:~$
postgres@pg16:~$ psql -h 192.168.198.120 -p 5432 -U admin sslmode=require
Password for user admin:
psql (16.0)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.
postgres=#
此时我已经做到这个程度,还是得到了阿里云的安全警告,并且是最高级的,我此时已经气疯了,阿里云你有毛病吧!!!!!!!!
不过此时明眼的人,已经发现了我的问题
对
local all all trust
只要把这条也改成****md5 则阿里云的安全扫描就不会在出现严重的数据库安全问题的警告,所以最让我生气的是,这么简单的问题,我忽略了还让阿里的安全扫描发现了问题。
写到这里,相信大家对于PostgreSQL数据库自建的安全方面的一些知识有一些新的认知,同时阿里云的安全扫描还是可以发现问题,不信你自建一个PostgreSQL试试 !!!
置顶文章:
**糟糕!开发问国产数据库选型,怎么回答他们?
**
**OceanBase 学习记录 -- 临时工 开始入门
**
**PostgreSQL 13.0-13.15 功能更新和bug fixed列表
**
**撕逼!PostgreSQL 和 MongoDB 开撕,MySQL却躺枪
**
**PostgreSQL 哪些版本尽量避免使用,版本更新重点明晰(PG12)
**
**PostgreSQL 15 16 小版本更新信息小结 版本更新是不是挤牙膏
**
**PostgreSQL 14 小版本分析,有那个版本不建议使用
**
**Windows 是MySQL和PostgreSQL高性能数据库的坟墓
**
PostgreSQL 具有createdb的用户无法创建数据库的原因(之一)
往期热门文章:
**OceanBase 学习记录 -- 临时工 开始入门
**
**不带你China玩 ! 来自Oracle 9月9日的 CouldWorld 2024 最后一条新闻
**
PostgreSQL 同样的语句 一会快 一会慢到底怎么回事,
MongoDB 系统IOPS 告警系统处于崩溃,优化语句从1秒优化到1毫秒解决问题
**云原生数据库是青出于蓝胜于蓝,还是数据库产品的倒退?
**
**专访唐建法-从MongoDB中国第一人到TapData掌门人的故事
**
MySQL 8.0x 到 9.0均可能崩溃--云厂商开发指责 MYSQL不测试就推新版本?
DISS 阿里云 DAS数据库服务,阿里云数据库服务的毒瘤
*临时工说:DBA 724H 给2万的工作,到底去不去?
**
**PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈
**
**PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
**
**MySQL 让你还用5.7 出事了吧,用着用着5.7崩了
**
临时工访谈:问金融软件开发总监 哪些业务不用传统数据库
PolarDB Serverless POC测试中有没有坑与发现的疑问
临时工访谈:PolarDB Serverless 发现“大”问题了 之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
PolarDB for PostgreSQL 有意思吗?有意思呀
PolarDB Serverless POC测试中有没有坑与发现的疑问
**MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
**
**临时工访谈:从国产数据库 到 普罗大众的产品 !与在美国创业软件公司老板对话
**
**PostgreSQL 如何通过工具来分析PG 内存泄露
**
**MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
**
临时工访谈:我很普通,但我也有生存的权利,大龄程序员 求职贴
临时工说: 快速识别 “海洋贝壳类” 数据库方法速递
临时工说:国产 数据库 销售人员 图鉴
临时工说:DBA 是不是阻碍国产数据库发展的毒瘤 ,是不是?从国产
PostgreSQL 玩PG我们是认真的,vacuum 稳定性平台我们有了
临时工说:裁员裁到 DBA 咋办 临时工教你 套路1 2 3
PolarDB 搞那么多复杂磁盘计费的东西,抽筋了吗?
临时工说:OceanBase 到访,果然数据库的世界很卷,没边
MONGODB ---- Austindatabases 历年文章合集
MYSQL --Austindatabases 历年文章合集
POSTGRESQL --Austindatabaes 历年文章整理
POLARDB -- Ausitndatabases 历年的文章集合
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
SQL SERVER 如何实现UNDO REDO 和PostgreSQL 有近亲关系吗
MongoDB 2023纽约 MongoDB 大会 -- 我们怎么做的新一代引擎 SBE Mongodb 7.0双擎力量(译)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
MongoDB 双机热备那篇文章是 “毒”
MongoDB 会丢数据吗?在次补刀MongoDB 双机热备
临时工说:从人性的角度来分析为什么公司内MySQL 成为少数派,PolarDB 占领高处
POLARDB 到底打倒了谁 PPT 分享 (文字版)
PostgreSQL 字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"
PostgreSQL Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)
Austindatabases 公众号,主要围绕数据库技术(PostgreSQL, MySQL, Mongodb, Redis, SqlServer,PolarDB, Oceanbase 等)和职业发展,国外数据库大会音译,国外大型IT信息类网站文章翻译,等,希望能和您共同发展。
截止今天已经发布 1213 篇文章
版权归原作者 Austindatabases 所有, 如有侵权,请联系我们删除。