暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
PostgreSQL16安全问题与告警处理方法汇总.pdf
155
24页
3次
2024-10-06
10墨值下载
PostgreSQL16安全问题与告警处理⽅法汇总
PGDSAT是⼀款开源PostgreSQL数据库安全评估⼯具,旨在帮助评估和加强PostgreSQL集群的安全性。能够检查
⼤约80个安全控制点,包括所有来⾃CIS互联⽹安全中⼼PostgreSQL基准建议。使⽤PGDSAT对基于CentOS编译安
装的PostgreSQL16进⾏安全检查,(参考样本:https://www.darold.net/sample_pgdsat/report.html)发现了
多个安全问题和警告,为提⾼PostgreSQL数据库的安全性,建议采取以下解决措施:
需要注意的是,在执⾏任何操作之前,确保已完成数据库完整备份。
1.1.1 安装PostgreSQL软件包
系统在尝试重装或运⾏ PostgreSQL 时⽆法找到所需的软件包,可访问 PostgreSQL 的官⽅⽹站下载⻚⾯,根据操
作系统选择并下载相应的安装包。
!
1.3.2 检查PGDATA中的版本
显示PG_VERSION ⽂件:存储主版本号
显示 PostgreSQL 实例的完整版本号
1616.1有⼩版本名称差异,这并不是⼀个问题,⽽是设计上的区别,可不做处理。
!
1.3.3 开启校验和
要确保PostgreSQL数据集开启checksum,采取以下步骤:
1. 检查当前状态:以下命令来检查集群中校验和的当前状态。
2. 初始化时启⽤校验和initdb命令初始化时添加--data-checksums选项,启⽤数据校验和。
3. 离线启⽤校验和:对已经存在的数据库集群,可以使⽤pg_checksums⼯具来离线启⽤数据校验和。这需要在
关闭数据库服务器的情况下进⾏。使⽤pg_checksums命令的具体步骤如下:
cat /var/postgresql/data/PG_VERSION
16
SELECT version();
PostgreSQL 16.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat
4.8.5
-44), 64-bit
SHOW data_checksums;
initdb -D /var/postgresql/data --data-checksums
停⽌数据库服务。如:pg_ctl stop -D /var/postgresql/data
启⽤校验和。如:pg_checksums -e -D /var/postgresql/data -P
重新启动数据库服务。如:pg_ctl start -D /var/postgresql/data
4. 在线启⽤校验和:从PostgreSQL 12开始,可使⽤pg_checksum在线启⽤校验和。
注意:使⽤流复制的主备集群,在备⽤节点上禁⽤校验和,然后在主节点上启⽤校验和,这样在主节点发⽣故
障时,备⽤节点可以接管⽽不影响服务。
1.3.4 确保WAL和临时⽂件与PGDATA不在同⼀分区上
a.确保WALPGDATA不在同⼀分区上
pg_wal ⼦⽬录没有与 PGDATA ⽬录在不同的分区上。pg_wal ⽬录包含写前⽇志(WAL)⽂件,这些⽂件对数据
恢复和复制⾮常重要。将pg_wal⽬录放在单独的分区上可以提⾼性能,允许写⼊和读取操作并⾏处理⽽不会相互⼲
扰。
参考以下步骤:(注意:需要在关闭数据库服务的情况下进⾏,以避免数据损坏。)
1. 确定当前 pg_wal 的位置 通过查询 data_directory 来确定当前 pg_wal ⽬录的位置。
2. 创建新的分区 在的系统中创建⼀个新的分区,并确保它有⾜够的空间来存储 pg_wal ⽂件。
3. 移动 pg_wal ⽬录 在停⽌ PostgreSQL 服务之后,将 pg_wal ⽬录移动到新的分区上。
4. 创建符号链接 在原来的 PGDATA ⽬录下创建⼀个指向新分区上 pg_wal ⽬录的符号链接。
5. 更新 PostgreSQL 配置:更新postgresql.conf配置⽂件中的 wal_file_base 参数,指向新的 pg_wal ⽬录。
6. 重启 PostgreSQL 服务,以使应⽤⽣效。
7. 验证 确保 PostgreSQL 服务正常启动,并且 WAL ⽂件正常写⼊新的 pg_wal ⽬录。
!
b.确保临时⽂件⽬录不在PGDATA之外的单独分区上
临时⽂件通常存放在 pgsql_tmp ⼦⽬录中,这些⽂件在数据库操作过程中⽤于存储临时数据,如排序和哈希操作的
结果。将临时⽂件放在单独的分区上可以提⾼性能,可以减少磁盘I/O竞争。
步骤如下:
1. 停⽌数据库服务:闭数据库服务,避免数据损坏。
SHOW data_directory;
sudo mv /var/postgresql/data/pg_wal /path/to/new/partition
sudo ln -s /path/to/new/partition /var/postgresql/data/pg_wal
sudo systemctl start postgresql
of 24
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜