首页 » 应用安全 » 数据库 » Informix » 正文

Informix 安全加固

1,禁用不使用的用户

查询当前用户信息:

SELECT username FROM sysusers;

如果发现用户列表中存在不需要的用户,可以从操作系统中将该用户禁用。

2,用户密码策略设置

Informix使用操作系统用户作为数据库用户来使用,因此用户密码策略请参照所安装操作系统的加固指南进行配置。

3,用户权限分离

Informix数据库的库级权限(usertype)主要包括以下几种:

D -> DBA(数据库管理员),具有数据库全部权限
R -> Resource(资源),除了具有Connect的权限外,还具有创建表和索引的权限
C -> Connect(连接),能执行SELECT、INSERT、UPDATE和DELETE语句,针对数据表执行存储过程,创建数据表的视图,创建临时表 G -> Grant(角色), 由管理员自定义的权限

查询用户权限划分情况:

SELECT username,usertype FROM sysusers;

根据实际情况调整用户的权限:

# 授予用户 user1 DBA 权限
GRANT DBA TO user1;

# 撤销用户 user1 的 DBA 权限 
REVOKE DBA TO user1;

# 表级权限控制
# 撤销所有用户对表 customer 的插入权限 REVOKE INSERT ON customer FROM PUBLIC;
# 授予用户 user1 查询 customer 表的权限
GRANT SELECT ON customer TO user1;

4,未完成连接设置

在需要公开数据库端口的应用场景下,还应对数据库的连接性能相关参数进行调整,以应对可能遭受的拒绝服务攻击。

根据服务器的性能、网络环境情况修改 Informix 安装目录下的 /etc/onconfig 文件中的如下参数的值:

# 未完成连接的超时时间,默认10秒。该参数不适用于 Informix 7.x和9.x
LISTEN_TIMEOUT 10
# 未完成链接的数量限制,默认为1024
MAX_INCOMPLETE_CONNECTIONS 1024 

5,禁止共享内存转储

如果 Informix 数据库因为异常而导致崩溃,会将共享内存转储到磁盘上,但由于共享内存中通常包含一些系统敏感信息,因此,应该禁止转储共享内存。

修改 Informix 安装目录下的 /etc/onconfig 文件中的如下参数的值:

# 关闭共享内存转储
DUMPSHMEM 0

发表评论