3.1 帐号
3.1.1 SEC-SUSE-ACCT-01-设置专用维护帐号
安全要求:
应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和设备间通信使用的账号共享。 通用策略:
需要按维护人员角色新增维护帐号,利用工号等唯一标志做识别,需询问客户意见。通常华为业务系统上需新增两个华为方维护帐号: maintain和 admin_hw。 风险说明: 无
操作方法:步骤 1创建帐号
# useradd [-d homedir] [-G group,...] [-g gid] [-m] [-p password] [-u uid] [-s shell] account
参数说明: d表示帐号主目录 G表示帐号所属组的列表 g表示帐号主所属组 ID m表示帐号组目录不存在时是否创建 p表示密码 u表示帐号 ID s表示 Shell类型 步骤 2设置密码: # passwd account 修改权限:
# chmod 755 homedir
其中 755为设置的权限,可根据实际情况设置相应的权限, homedir是要更改权限的目录 步骤 3修改帐号
# usermod [-d homedir] [-G group,...] [-g gid] [-m] [-p password] [-u uid] [-s shell] [-L] [-U] account 参数说明: d表示帐号主目录 G表示帐号所属组的列表 g表示帐号主所属组 ID m表示帐号组目录改变时是否移动原目录中文件 p表示密码 u表示帐号 ID s表示 Shell类型 L表示锁定帐号 U表示解除锁定帐号 步骤 4删除帐号
# userdel [-r[-f]] account
参数说明: r表示是否删除帐号主目录 f表示当帐号主目录存在其他帐号所有文件时是否强制删除 操作验证:
1. 验证方法: # more /etc/passwd
2. 预期结果:不同用户使用各自不同帐号。
3.1.2 SEC-SUSE-ACCT-02-锁定/删除无用帐号
安全要求:
锁定/删除与设备运行、维护等工作无关的账号。被锁定的账号无法使用交互式登陆。
通用策略:
根据业务加固策略确定系统账号、业务账号的锁定/删除操作,根据客户意见确定维护账号的锁定/删除操作。 建议锁定的系统账号:bin daemon ftp nobody nobody4 lp games named at irc mysql ldap postfix postgres wwwrun mail pop snort squid mail man news uucp
在实际加固过程中,对于系统帐号,建议只锁定,不删除。 风险说明:
1 可能有第三方系统使用了被锁定的帐号,造成第三方系统不可用,请在实施方案制定时,收集第三方系统对账号加固的要求。
2 锁定的用户不能直接登录系统,需经管理员帐号解锁后方可登录。
操作方法:步骤 1锁定用户:
# passwd -l username步骤 2更改帐号默认登陆 SHELL: #usermod –s /bin/false username 步骤 3删除用户: # userdel [-r[-f]] account
参数说明: r表示是否删除帐号主目录 f表示当帐号主目录存在其他帐号所有文件时是否强制删除
步骤 4解除对帐号的锁定: # passwd -u username
操作验证:
1. 验证方法:使用已经锁定的帐号尝试登陆
2. 预期结果:已经锁定的帐号无法登陆,系统提示:
Login incorrect
3.1.3 SEC-SUSE-ACCT-03-用户帐号分组
要求内容:
根据系统要求及用户的业务需求,建立多帐户组,将用户账号分配到相应的帐户组。 通用策略:
1 主要区分数据库用户组、业务维护帐号组、业务运行帐号和业务维护帐号。 2 实施时根据业务加固策略判断是否需要创建用户组,并且帐号修改为对应组。
风险说明:
1 尽量避免一个帐号属于多个组,避免额外授权造成安全隐患。 2 更改业务安装运行帐号组可能造成业务不可用。请参考产品加固策略制定实施方案,确定哪些帐号需要进行例外设置。
操作方法:步骤 1创建帐户组:
#groupadd –g GID groupname #创建一个组,并为其设置 GID号,若不设 GID,系统会自动为该组分配一个 GID号; #usermod –g groupname username #改变用户的组 id为 groupname #groupmod –A username groupname #将用户 username分配到 groupname
组中。查询被分配到的组的 GID:#id username可以根据实际需求使用如上命令进行设置。
步骤 2可以使用 -g 选项设定新组的 GID。0 到 499 之间的值留给 root、bin、 mail 这样的系统账号,因此昀好指定该值大于 499。如果新组名或者 GID 已经存在,则返回错误信息。
当用户希望以其他用户组成员身份出现时,需要使用 newgrp命令进行更改,如#newgrp sys 即把当前用户以 sys组身份运行; 操作验证:
1 验证方法:查看组文件:#cat /etc/group 2 预期结果:
可以查看到用户账号分配到相应的帐户组中;或都通过命令检查账号是否属于应有的组: #id username
3.2 口令
3.2.1 SEC-SUSE-PWD-01-配置用户口令复杂度
安全要求:
对于采用静态口令认证技术的设备,口令长度至少 6位,并包括数字、小写字母、大写字母和特殊符号 4类中至少 2类。 通用策略:
该操作立即生效,对所有修改密码的命令有效。可根据现场需求设置密码复杂度,一般设置为昀短长度 6个字符,至少包含两个字母,一个特殊字符。 风险说明:
对于存在密码关联的用户,修改密码时须注意同步修改业务相关配置文件,否则会造成业务不可用。 操作方法:
设置密码规则:至少各有一个字符来自这些字符集 a-z、A-Z、标点符号、 0-9步骤 1 修改 /etc/security/pam_pwcheck.conf 文件: #vi /etc/security/pam_pwcheck.conf
确保下面行未被注释,如没有,请添加:
password: nullok use_cracklib步骤 2 修改 /etc/pam.d/passwd文件: #vi /etc/pam.d/passwd
确保下面行未被注释,如没有,请添加:
操作验证: 1. 验证方法: 创建一个普通账号,为用户配置与用户名相同的口令、只包含字符或数字的简单口令以及长度短于 6位的口令,查看系统是否对口令强度要求进行提示;输入带有特殊符号的复杂口令、普通复杂口令,查看系统是否可以成功设置。
root使用 passwd命令修改其它用户的密码时不受密码复杂度的限制。 2. 预期结果:
不符合密码强度的时候,系统对口令强度要求进行提示; 符合密码强度的时候,可以成功设置
3.2.2 SEC-SUSE-PWD-02-配置用户口令期限
安全要求:
对于采用静态口令认证技术的设备,帐户口令的生存期不长于 90天。 通用策略:
一般对维护帐号和系统帐号启用口令过期策略,实施时根据业务加固策略决定业务帐号和数据库帐号是否能够配置口令期限。 风险说明:
1 如果口令在过期前不及时修改,密码会失效锁定,帐号不能使用,可能造成业务中断。请参考产品加固策略制定实施方案,确定哪些帐号需要进行例外设置。 2 如果存在关联密码的情况,在修改密码时没同步修改业务相关配置文件,会导致业务不可用。
3 openssh版本不能正确提示密码即将到期,可能错过更改密码的时机,导致用户被锁定。 4 设置密码昀大有效期限为 90天
操作方法:
修改/etc/login.defs,添加或修改如下内容: #vi /etc/login.defs PASS_MAX_DAYS 90
对系统已经存在帐号进行设置: # passwd –x 90 account
2.设置在密码过期之前 7天内发出报警信息。修改/etc/login.defs,添加或修改如下内容: #vi /etc/login.defs PASS_WARN_AGE 7
对系统已经存在帐号进行设置: # passwd –w 7 account
3.设置密码过期 7天未修改则锁定帐号:编辑文件/etc/default/useradd #vi /etc/default/useradd 添加或修改行: INACTIVE=7
对系统已经存在帐号进行设置: # passwd –i 7 account
4.查看帐号密码策略: #passwd -aS 操作验证: 1. 验证方法:使用密码过期的帐户尝试登录系统;使用密码即将到期的账号尝试登陆系统;使用密码过期 7天以上的账号尝试登陆系统。
2. 预期结果:登录不成功;系统提示修改密码;系统不再提示修改密码,直接拒绝登陆。
3.2.3 SEC-SUSE-PWD-03-配置用户口令重复使用次数
安全要求:
对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用昀近 5次(含 5次)内已使用的口令。 通用策略:
实施时根据业务加固策略决定是否允许设置此项。 风险说明: 无
操作方法:
禁止使用昀近 5次使用的密码修改/etc/pam.d/passwd,添加如下内容 #vi /etc/pam.d/passwd password required pam_unix.so remember=5 use_authtok md5 shadow 操作验证:
1. 验证方法:使用用户帐号修改自己的密码,设置新密码与昀近几次的旧密码相同; 2. 预期结果:如果设置的新密码与昀近 5次的旧密码相同,系统不接受该新密码。
root使用 passwd命令修改其它用户的密码时不受密码复杂度的限制。
3.2.4 SEC-SUSE-PWD-04-配置用户认证失败锁定策略
安全要求:
对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过 6次(不含 6次),锁定该用户使用的账号。 通用策略:
实施时根据现场需求决定业务帐号和数据库帐号是否不允许设置认证失败次数。
Pam模块根据系统版本不同,可能配置的方法也不一样,需要参考实际情况来进行配置,以下两种配置方法可以解决绝大多数系统的配置问题。需要注意的是:某些 SUSE 9系统中,使用 telnet错误登录一次,FAILLOG里计数器会计两次数,设置次数时需要根据实际情况进行设置。 风险说明:
1 如果业务帐号被锁定,帐号不能使用,可能造成业务中断。请参考产品加固策略制定实施方案,确定哪些帐号需要进行例外设置。
2 帐号可能被恶意重试导致被锁定。需要询问客户决定是否实施。
操作方法: 1. 终端登录:
步骤 1设置登录时连续认证失败 6次后断开会话:修改/etc/login.defs文件,进行如下设置: #vi /etc/login.defs LOGIN_RETRIES 6
步骤 2设置连续登陆 6次后帐号锁定: SUSE 9:修改/etc/pam.d/login文件,添加如下两行: #vi /etc/pam.d/login