freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

PostgreSQL(ArteryBase3.6.2)数据库等级保护测评指南
暴躁青青虫 2024-05-31 11:26:06 208947

0x01 前言

近期同事去现场测评,遇到了一个arterybase的数据库,不知道怎么开展数据库安全计算环境的等保测评工作,因此找了一个arterybase的安装包进行安装研究,并开发出测评指南,有错误的地方还望指出。

获取到安装包后,使用arterybase-install进行一键式安装,安装完成后会在桌面生成三个快捷方式,分别是“startup_abase.bat”、“stop_abase.bat”启动、停止数据库以及“abase-login-local.bat”登录到当前数据库。

1714976404_6638769427b260723d033.jpg!small?1714976405074

0x02 arterybase之安全计算环境

身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;

查询版本:

SELECT version();

1714976412_6638769c64aab181fd633.jpg!small?1714976412266

得知信息应该和PostgreSQL数据库有点关系,因为没有在网上查到arterybase的操作手册之类的信息,直接使用PostgreSQL的查询命令来尝试。

1)应核查用户在登录时是否采用了身份鉴别措施;

PostgreSQL的身份验证规则分别有5种,

密码认证(MD5):对于所有数据库、所有用户,来自任意地址的连接都需要提供密码进行认证。

证书认证(cert):配置要求所有用户在 SSL 连接上提供有效的证书进行认证。

Kerberos认证(gss):配置要求所有用户通过 Kerberos 进行认证。

Trust认证:配置信任所有用户,不需要提供密码或其他凭据进行认证。

LDAP认证:配置要求所有用户通过 LDAP 进行认证。

配置/核查示例:修改pg_hba.conf文件,参数位于METHOD字段。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host   all             all             0.0.0.0/0               md5

2)应核查用户列表确认用户身份标识是否具有唯一性;

默认符合,一般都具有身份标识唯一性

1714976420_663876a4e48d36cea28c0.jpg!small?1714976420766

3)应核查用户配置信息或测试验证是否不存在空口令用户;

使用命令查询passwd字段是否存在hash值:

select usename,passwd from pg_shadow;

1714976428_663876ac7f62baf0bcd94.jpg!small?1714976428344

或者使用:

SELECT usename, passwd IS NULL AS is_password_set FROM pg_shadow WHERE usename = 'sa';

如果is_password_set返回true,那么密码字段为空。

4)应核查用户鉴别信息是否具有复杂度要求并定期更换。

PostgreSQL默认没有自带的密码复杂度检测功能,需要安装扩展来满足需求,使用命令查看所安装的扩展:

SELECT * FROM pg_extension;

1714976440_663876b8720bcef90a25c.jpg!small?1714976440250

一般密码复杂度要求的模块使用passwordcheck.so,如果没有安装则访谈是否采用其他方式来做限制。

b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连 接超时自动退出等相关措施。

1)应核查是否配晋并启用了登录失败处理功能;

登录失败处理功能需要额外扩展来满足要求。

SELECT * FROM pg_extension;    #查询已安装的扩展

一般使用session_exec扩展。

2)应核查是否配悝并启用了限制非法登录功能,非法登录达到一定次数后采取特定动作,如账户锁定等;

同上第一小点

3)应核查是否配置并启用了登录连接超时及自动退出功能

核查postgresql.conf配置文件是否有tcp_keepalives_idle = 600参数,或访谈用户是否采用其他方法。

设置tcp_keepalives_idle参数来指定连接空闲的超时时间,以秒为单位。当连接空闲超过指定的时间后,服务器会自动断开连接。

c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

核查是否开启远程管理,postgresql.conf配置文件,是否启用监听:

listen_addresses = '*'    #监听地址

同时核查postgresql.conf中ssl是否开启,如图:

1717123842_66593b02f237ae11e0452.jpg!small?1717123843047

pg_hba.conf配置文件,是否添加允许外部连接的规则:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host   all             all             0.0.0.0/0               md5

通过命令行检查客户端连接是否使用了 SSL:

SELECT ssl, version FROM pg_stat_ssl WHERE pid = pg_backend_pid();

1717123934_66593b5e0f1f7a64e316f.jpg!small?1717123935633

如果结果中的ssl列为t,则表示当前连接使用了 SSL。

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。

通过访谈以及验证,确认是否采用了其他的身份鉴别技术。

访问控制

a)应对登录的用户分配账户和权限;

1)应核查是否为分配了账户和权限及相关设置情况

使用以下命令查询账户以及所分配的权限

\du

1714976448_663876c0e2eec19335d60.jpg!small?1714976448748

2)应核查是否已禁用或限制匿名、默认账户的访问权限。

安装后默认账户为sa,仅有sa用户账户,无其他匿名账户。

1714976454_663876c6e479ab7e8fbbd.jpg!small?1714976454736

b)应重命名或删除默认账户,修改默认账户的默认口令;

1)应核查是否已经重命名默认账户或默认账户已被删除;

2)应核查是否已修改默认账户的默认口令。

默认口令位于安装包中的arterybase-install文件。

1714976460_663876cc86923a7245241.jpg!small?1714976460335

c)应及时删除或停用多余的、过期的账户,避免共享账户的存在;

1)应核查是否不存在多余或过期账户,管理员用户与账户之间是否一一对应;

使用命令查询所有的用户账户;

SELECT * FROM pg_user; 

可试读前40%内容
¥ 9.9 全文查看
# 网络安全 # 数据泄露 # 系统安全 # 数据安全 # 企业安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 暴躁青青虫 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
暴躁青青虫 LV.3
这家伙太懒了,还未填写个人描述!
  • 7 文章数
  • 28 关注者
从 0 到 1:Linux 服务器应急排查实战指南
2025-02-10
达梦(DM)数据库网络安全等级测评指南
2024-07-15
记一次exe客户端反编译
2023-06-27
文章目录