LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

PostgreSQL被黑客攻击了!换个姿势全方位保障安全

admin
2024年10月12日 8:18 本文热度 207

部署在云服务器的PostgreSQL,竟然被黑客攻击了!

瞬间人麻了,敲响了一个警钟,数据库安全管理不是等开发好项目上线后才考虑,而是在项目落地的那一刻起就要重视起来,打战粮草先行,开发安全先做,话不多说,接下来给大家分享一下PG数据库安全管理。

当前数据库数据面临的威胁模型如下:

1.客户端接入认证

数据库用户接入安全(客户端接入认证),是确保只有通过授权的客户端才可访问数据库系统的关键安全措施之一。

可用SSL进行安全的TCP/IP连接。SSL协议是安全性更高的协议标准,它加入了数字签名和数字证书来实现客户端和服务器的双向身份验证,保证了通信双方更加安全的数据传输。

SSL证书需要提前从CA认证中心申请正式的服务器证书、客户端证书和密钥。

单向SSL认证连接配置方式:
1)安装openssl
yum -y install openssl openssl-devel
2)编译安装时指定开启ssl
./configure --prefix=/pgccc/pgsql-16.4 --with-openssl 
验证和证实你编译的系统是否带openssl
pg_config --configure | grep openssl
3)创建自签名证书
先要为服务器创建一个有效期为365天的简单自签名证书:
openssl req -new -x509 -days 365 -nodes -text -out server.crt \
  -keyout server.key -subj "/CN=pgccc.centos"
修改权限:
chmod og-rwx server.key 或者 chmod 0600 server.key

4)修改postgreql.conf配置文件
vi $PGDATA/postgresql.conf
ssl=on
ssl_cert_file='/home/postgres/server.crt'
ssl_key_file='/home/postgres/server.key'
5)验证连接
postgres=# select pg_reload_conf();

psql "host=192.168.3.8 user=postgres dbname=postgres sslmode=require"
psql postgresql://postgres:123456@192.168.3.8:5432/postgres?sslmode=require 

2.三权分立

在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立。将系统管理员的部分权限分立给安全管理员和审计管理员,形成系统管理员、安全管理员和审计管理员三权分立

3.行级访问

行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。 不同用户执行相同的SQL查询操作,读取到的结果是不同的。 用户可以在数据表创建行访问控制(Row Level Security)策略

--创建表test,包含不同用户数据信息
postgres=# CREATE TABLE test
(id int, role varchar(100), data varchar(100));
--打开行访问控制策略开关
postgres=# ALTER TABLE test ENABLE ROW LEVEL;
--创建行访问控制策略,当前用户只能查看用户自身的数据
postgres=# CREATE ROW LEVEL SECURITY POLICY test_rls 
ON test USING(role = CURRENT_USER);

4.数据库审计

PostgreSQL数据库提供安全审计功能,对数据库自身和用户的行为进行监控与审计。因审计会降低数据库性能,所以要限制审计的范围,尽量减少审计的事件的数目。

制定审计策略时,请参考如下建议:
1、明确审计目的;
2、审计的命令、对象、用户尽可能少;
3、先泛后精;
4、保护审计踪迹。

5.密态等值查询

PostgreSQL数据库中的密态等值查询是一种安全计算技术,允许在加密的数据上执行查询操作而无需解密数据。这意味着数据库可以在保持数据加密状态的同时,执行一些查询操作,如等值查询,而不会泄漏明文数据。

6.透明数据加密

透明数据加密(Transparent Data Encryption),是数据库在将数据写入存储介质时对数据进行加密,从存储介质中读取数据时自动解密,防止攻击者绕过数据库认证机制直接读取数据文件中的数据,以解决静态数据泄露问题。该功能对于应用层几乎透明无感知,用户可根据需要决定是否启用透明数据加密功能。

Cybertec为PG提供了一个透明数据加密(TDE)的补丁。是目前唯一支持透明加密数据(集群)级的实现,独立于操作系统或文件系统加密。

7.账本数据库

账本数据库(Ledger Database)是一种特殊类型的数据库,它专门用于记录和管理事务、交易或数据的历史变更,以支持可追溯性、不可篡改性和安全性的需求。这种数据库通常与区块链技术、分布式账本技术以及与金融、供应链、物联网等领域相关的应用程序密切相关。

账本数据库融合了区块链思想,将用户操作记录至两种历史表中, 即:用户历史表和全局区块表。

总结

如何保护数据,防止数据泄漏、盗窃或篡改,学习完本篇将有助于确保组织的数据完整性和保密性,还希望前辈们留言区多多提出宝贵的意见!


来源:https://mp.weixin.qq.com/s/19Qidp22WnC8EHbSP6bHpw


该文章在 2024/10/12 9:16:34 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved