Informix安全配置参考

0x01 账号口令

1 用户账号

应按照用户分配账号。避免不同用户间共享账号。避免用户账号和设备间通信使用的账号共享。

操作:
为用户创建账号:
#useradd username #创建账号
#passwd username #设置密码
修改权限:
#chmod 750 directory #其中 755 为设置的权限,可根据实际情况设置相应的
权限,directory 是要更改权限的目录)
使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等。
补充说明:
username 为账号名称,可根据不同用户,取不同的名称;
判定:不同用户具有不同的账号,且与其他用户、设备没有账号共享情况。
检测:通过 root 账号登录系统后查看/etc/passwd、/etc/group 文件并询问管理员,确认是否按照用户分配账号;验证分配的用户是否正常使用,使用分配账号登录,验证是否能成功登录和正常操作。

2  锁定/删除无关账号

应删除与数据库运行、维护等工作无关的账号,删除过期账号。

配置:
Informix 数据库用户为操作系统账号,因此删除或锁定与数据库运行、维护工作无关账号的过程也就是删除或锁定系统用户的过程,以下以 AIX 和SOLARIS 为例子说明:
AIX:
查看/etc/passwd、/etc/group 中 informix 组账号和成员账号
以 root 权限执行下面的命令;
删除用户:#rmuser username;
禁用账号:
chuser account_locked=true user1 锁定 user1 用户
SOLARIS:
删除用户:#userdel username;

锁定用户:
1)修改/etc/shadow 文件,用户名后加*LK*
2)将/etc/passwd 文件中的 shell 域设置成/bin/false
3)#passwd -l username
只有具备超级用户权限的使用者方可使用,#passwd -l username 锁定用户,用#passwd –d username 解锁后原有密码失效,登录需输入新密码,修改/etc/shadow 能保留原有密码
2 、补充 说明
AIX 需要锁定的用户:
deamon,bin,sys,adm,uucp,nuucp,printq,guest,nobody,lpd,sshd
SOLARIS 需要锁定的用户:
listen、gdm、webservd、nobody、nobody4、noaccess

判定:无关账号被锁定,或不存在。
检测:登录操作系统,查看 passwd 等账号口令文件。
补充说明:首先锁定不需要的用户,在经过一段时间后,确认该用户对业务确无影响的情况下,可以删除

3  口令复杂度

对于采用静态口令进行认证的数据库,口令长度至少 8 位,并包括数字、小写字母、大写字母和特殊符号 4 类中至少 3 类。

配置:Informix 数据库用户为操作系统账号,因此对于 Informix 数据库用户静态口令采用的强度要求也就是对操作系统账号静态口令强度要求,以下以 AIX 和SOLARIS 为例子说明:
AIX:
编辑/etc/security/user,设置如下:
minlen=8 口令最短为 8 个字符
minalpha=3 口令中最少包含 3 个字母字符
minother=1 口令中最少包含一个非字母数字字符
SOLARIS:
vi /etc/default/passwd ,修改设置如下
PASSLENGTH = 6 #设定最小用户密码长度为 6 位
MINALPHA=2;MINNONALPHA=1 #表示至少包括两个字母和一个非字母;
具体设置可以参看补充说明。
当用 root 帐户给用户设定口令的时候不受任何限制,只要不超长。
Solaris10 默认如下各行都被注释掉,并且数值设置和解释如下:
MINDIFF=3 # Minimum differences required between an old and a new
password.
MINALPHA=2 # Minimum number of alpha character required.
MINNONALPHA=1 # Minimum number of non-alpha (including
numeric and special) required.
MINUPPER=0 # Minimum number of upper case letters required.
MINLOWER=0 # Minimum number of lower case letters required.
MAXREPEATS=0 # Maximum number of allowable consecutive
repeating characters.
MINSPECIAL=0 # Minimum number of special (non-alpha and
non-digit) characters required.
MINDIGIT=0 # Minimum number of digits required.
WHITESPACE=YES
Solaris8 默认没有这部分的数值设置需要手工添加;NIS 系统无法生效,非 NIS 系统或 NIS+系统能够生效。

判定:修改密码为不符合要求的密码,将失败
检测:查看系统配置文件,进行检查。
AIX:
检查/etc/security/user 是否设置如下参数
minlen=8 口令最短为 8 个字符
minalpha=3 口令中最少包含 3 个字母字符
minother=1 口令中最少包含一个非字母数字字符
SOLARIS:
检查/etc/default/passwd 是否设置如下参数:
PASSLENGTH = 8 #设定最小用户密码长度为 8 位
MINALPHA=2;MINNONALPHA=1 #表示至少包括两个字母和一个非字母;
具体设置可以参看补充说明。

4  口令生存期

对于采用静态口令认证技术的数据库,账户口令的生存期不长于 90 天。
配置:Informix 数据库用户为操作系统账号,因此对于 Informix 数据库用户口令生存期要求也就是对操作系统账号口令生存期要求,以下以 AIX 和 SOLARIS 为例子说明:
AIX:

对于 AIX 系统,编辑/etc/security/user,设置如下:
maxage=12 口令最长有效期为 12 周
SOLARIS:
vi /etc/default/passwd 文件:
MAXWEEKS=13 密码的最大生存周期为 13 周;(Solaris 8&10)
PWMAX= 90 #密码的最大生存周期;(Solaris 其它版本)
2 、补充说明
对于 Solaris 8 以前的版本,PWMIN 对应 MINWEEKS,PWMAX 对应MAXWEEKS 等,需根据/etc/default/passwd 文件说明确定。NIS 系统无法生效,非 NIS 系统或 NIS+系统能够生效。

判定:到期不修改密码,密码将会失效。连接数据库将不会成功
检测:使用超过 90 天的帐户口令登录;

5  口令历史

对于采用静态口令认证技术的数据库,应配置数据库,使用户不能重复使用最近 5 次(含 5 次)内已使用的口令。

配置:Informix 数据库用户为操作系统账号,因此对于 Informix 数据库用户口令设置要求也就是对操作系统账号口令设置要求,以下以 AIX 和 SOLARIS 为例子说明:
AIX:
编辑/etc/security/user,设置如下:
histsize=5 同一口令与前 5 个口令不能重复
SOLARIS:
vi /etc/default/passwd ,修改设置如下
HISTORY=5 同一口令与前 5 个口令不能重复
2 2 、 补充说明
当前使用的密码,必需在密码修改5次后才能再次被使用
判定:重用修改5次内的密码,将不能成功
检测:如果在5次修改密码能被使用,该操作将不能成功

0x02 认证授权

1  配置账户最小授权

在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
配置:以 DBA 用户运行 dbaccess 命令,查询 syscolauth、 systabauth 、sysusers 表,检查用户是否只配置了业务所需的最小权限。建议使用数据库角色进行数据库权限限制:
A 创建角色
Create Role role_name1 其中 role_name1 表示角色名。
B  划分用户角色
将相关用户加入到角色中使之成为角色的成员。
Grant role_name1 to { User-List Role_List }
其中 Role_List 表示角色列表,因为一个角色可以是另外一个或一组角色的成员。
C 授权角色权限
同授权用户权限的方法相同,但只能对表级和字段级权限有效,不能授予数据库级权限给一个角色。
D 激活角色
执行以下语句,使以上定义的角色成为可用状态:
Set Role role_name1
2 、补充 说明
查看数据库特权命令:Select * from sysusers;
查看表级别特权命令:
select systables.tabname, systabauth.*from systables, systabauth
where systables.tabid = systabauth.tabid and systables.tabid > 99
order by tabname;  ;
systabauth 表包含四列:
– grantor-授予这个特权的用户
– grantee-获得这个特权的用户
– tabid-这个表在系统表中的编号
– tabauth -特权列
sysuser 表内容说明:
– username,连接数据库的用户的登录名
– usertype,指用户的数据库权限类型
– priority ,指定级别
syscolauth 内容说明表:
– grantor-授予这个特权的用户
– grantee-获得这个特权的用户
– tabid-这个表在系统表中的编号
– colno-列编号
– column-列描述
– colauth-列授权
授予和撤消表特权的语法如下:
grant [ all | [ select | insert | update | delete | index | alter | reference ]
on [ TABLE | VIEW | SYNONYM ] to [USERS ]
[ with grant option ][ as GRANTOR ];
revoke [ all | [ select | insert | update | delete | index | alter| reference ]
on [ TABLE | VIEW | SYNONYM ] from [USERS ];
Informix 数据库级别权限:DBA、Resource 和 Connect。Connect 特权允许用户访问数据库以及添加、修改和删除数据。Resource 特权授予用户所有Connect 特权,还授予创建新的表、索引和过程的特权。DBA 特权包括Connect 和 Resource 特权,还授予用户把 Resource、Connect 或 DBA 特权授予其他用户的权力。

    具有 DBA 特权的用户还可以删除数据库中的所有对象或完全删除数据库。 普通用户授权 Connect 权限即可,对于要创建新对象的程序员或开发人员可能需要Resource 特权。例子:
Revoke all from username; 收回用户的所有权限
grant select to username; 给用户赋查询的权限
revoke select from username; 收回用户查询的权限
判定:查看 syscolauth、 systabauth 、sysusers 表中权限设置是否仅授予用户必要的最小权限
检测:查看 syscolauth、 systabauth 、sysusers 表中权限设置

2  账户锁定策略

对于采用静态口令认证技术的数据库,应配置当用户连续认证失败次数超过6 次(不含 6 次),锁定该用户使用的账号。
配置:informix 数据库用户为操作系统账号,因此对于 Informix 数据库用户口令设置要求也就是对操作系统账号口令设置要求,以下以 AIX 和 SOLARIS 为例子说明:
AIX:
编辑/etc/security/user,设置如下:
loginretries=6 连续 6 次登录失败后锁定用户
SOLARIS:
vi /etc/user_attr
vi /etc/security/policy.conf
设置 LOCK_AFTER_RETRIES=YES
设置重试的次数:
vi /etc/default/login
在文件中将 RETRIES 行前的#去掉,并将其值修改为 RETRIES=7。
保存文件退出。
2 、补充说明
如果连续6次连接该用户不成功,用户将被锁定;
SOLARIS:默认值为:
LOCK_AFTER_RETRIES=NO
lock_after-retries=no
RETRIES= 5,即等于或大于 5 次时被锁定。
root 账号也在锁定的限制范围内,一旦 root 被锁定,就需要光盘引导,因此该配置要慎用。
NIS 系统无法生效,非 NIS 系统或 NIS+系统能够生效。
判定:连续6次用错误的密码连接用户,第7次时用户将被锁定
检测:连续6次登录系统失败,用户被锁定

0x03 日志审计

1  配置日志功能

数据库应配置日志功能,记录与数据库相关的安全事件。
配置:
1. 编辑$INFORMIXDIR/aaodir/adtcfg 文件,设置审计参数 ADTMODE 启用审计,建议设为 ADTMODE 7
其中 ADTMODE 类型如下:
ADTMODE=1 写到informix审计记录中。不自动审计DBSSO和DBSA活动。
ADTMODE=2 写到操作系统的审计记录中。这个选项只在操作系统支持审
计的时候才会生效。不自动审计 DBSSO 和 DBSA 的活动。
ADTMODE=3 写到 INFORMIX 审计记录中。自动审计所有的 DBSSO 活动。
ADTMODE=4 写到操作系统审计记录中。自动审计所有的 DBSSO 活动。
ADTMODE=5 写到 INFORMIX 审计记录中。自动审计 DBSA 活动。
ADTMODE=6 写到操作系统审计记录中。自动审计 DBSA 活动。
ADTMODE=7 写到 INFORMIX 审计记录中。自动审计所有 DBSSO 和 DBSA活动
2.配置审计策略
    管理员首先创建 audit masks(审计掩码),检查用户的活动是否应该被审计。审计掩码的种类如下:单独的审计掩码(indiviual masks)。单独审计掩码是为每一个用户创建的掩码,其作用是对每一个用户的活动进行审计的。

    默认的用户掩码(_default masks)。默认的用户掩码会被用在任何没有单独设置掩码的用户上。

   必须的用户掩码(_require masks)。必须的用户掩码会忽略单独用户掩码和默认用户掩码中的内容。任何在_require 用户掩码中设置的事件都会被审计,而不管用户的单独掩码中是否设置了这些事件。

     排它用户掩码(_exclusive masks)。排它用户掩码同样会覆盖单独的用户掩码和默认用户掩码。其中包含的事件不会被审计,即使这些事件存在于单独的用户掩码和默认用户掩码中。这些事件不会覆盖_require 掩码中的事件。
创建 user 掩码:
onaudit -a -u username -e +CRDB,DRDB #审计特定用户创建和删除数据库事件
创建_require 掩码:
onaudit -a -u _require –e +OPDB,GRDB………………… #强制审计
     打开数据库、授权数据库等操作,建议 inofrmix 配置必要的审计掩码支持记录用户对设备的操作,包括但不限于以下内容:账号创建、删除和权限修改,口令修改,读取和修改设备配置,读取和修改业务用户的话费数据、身份数据、涉及通信隐私数据等。
2 、补充说明
AUDIT 会有相应资源开消,请检查系统资源是否充足。特别是 RAC 环境,资源消耗较大。
判定:对审计的对象进行一次数据库操作,相应的操作应被记录。
检测:
1. 检查$INFORMIXDIR/aaodir/adtcfg 文件中的参数设置。
2. 检查日志文件内容
3. 使用 onaudit 工具检查审计 umask 掩码设置

2  日志文件安全

设备应配置权限,控制对日志文件读取、修改和删除等操作。
配置:
1. 编辑$INFORMIXDIR/aaodir/adtcfg 文件,检查审计参数 ADTPATH 设置,例如:
ADTPATH = /opt/informix/aaodir
2. 检查日志文件权限是否为 660(日志文件名的形式通常是主机名.数字)
ls –al /opt/informix/aaodir/*.*
判定:日志文件权限设置应为 660。
检测:
1. 检查$INFORMIXDIR/aaodir/adtcfg 文件中的日志参数设置。
2. 检查日志文件权限

0x04 其他

1  限制拒绝服务攻击

配置:要降低受到恶意的 DOS 连续攻击的风险,可以定制以下配置参数:LISTEN_TIMEOUT。设置未完成连接的超时周期。缺省的未完成连接超时周期为 10 秒。
注:informix 的 的 9.x 和 和 7.x  不支持 LISTEN_TIMEOUT  参数。
MAX_INCOMPLETE_CONNECTIONS。限制未完成的连接请求的数目。缺省的未完成连接的最大数目为 1024,可根据机器运行线程的能力(按数目计算),将 MAX_INCOMPLETE_CONNECTIONS 适当调整。可以编辑$INFORMIXDIR/etc/onconfig 文件,根据系统和应用情况,调整LISTEN_TIMEOUT 和连接数参数值
2 、 补充操作说明
更改通讯协议加密后需要重新启动 SQL Server 数据库
判定:检 查 $INFORMIXDIR/etc/onconfig 文 件 中 LISTEN_TIMEOUT 和MAX_INCOMPLETE_CONNECTIONS 参数值设置是否为默认值。
检测:检 查 $INFORMIXDIR/etc/onconfig 文 件 中 LISTEN_TIMEOUT 和MAX_INCOMPLETE_CONNECTIONS 参数值设置。

2  禁止共享内存转储

配置:Informix 服务器崩溃时将共享内存段转储到磁盘,因为转储文件中包含系统敏感信息,应禁止 Informix 转储共享内存
可以编辑$INFORMIXDIR/etc/onconfig 文件,设置:
DUMPSHMEM 0、
判定:$INFORMIXDIR/etc/onconfig 文件中 DUMPSHMEM 应设为 0。
检测:检查$INFORMIXDIR/etc/onconfig 文件。


欢迎大家分享更好的思路,热切期待^^_^^ !

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值