aix密码设置策略.docx
《aix密码设置策略.docx》由会员分享,可在线阅读,更多相关《aix密码设置策略.docx(9页珍藏版)》请在冰豆网上搜索。
![aix密码设置策略.docx](https://file1.bdocx.com/fileroot1/2023-2/11/b1cf5a90-6d29-46c7-8560-8b24d0043615/b1cf5a90-6d29-46c7-8560-8b24d00436151.gif)
aix密码设置策略
密码
猜测密码是系统最常遇到的攻击方法之一。
因此,控制和监视您的密码限制策略是不可缺少的。
AIX提供机制以帮助您实施更强的密码策略,例如为以下的条目建立值:
•密码可被更改之前和之后可经过的最小和最大星期数
•密码的最小长度
•选择密码时,最小可使用的字母字符个数
1.设定良好的密码
良好的密码是抵御未授权进入系统的第一道有效防线。
2.使用/etc/passwd文件
传统上,/etc/passwd文件是用来记录每个拥有系统访问权的注册用户。
3.使用/etc/passwd文件和网络环境
在传统的网络环境中,用户必须在每个系统中有一个帐户才能获得对该系统的访问权。
4.隐藏用户名和密码
为了达到更高级别的安全性,请确保用户标识和密码在系统内是不可见的。
5.设置建议的密码选项
恰当的密码管理只有通过用户教育来实现。
为提供某些额外的安全性,操作系统提供了可配置的密码限制。
它们允许管理员限制用户选择的密码,并强制定期更改密码。
6.扩展密码限制
密码程序接受或拒绝密码所使用的规则(密码构成限制)可由系统管理员进行扩展,以提供特定于站点的限制。
设定良好的密码
良好的密码是抵御未授权进入系统的第一道有效防线。
符合以下条件的密码有效:
•大小写字母的混合
•字母、数字或标点符号的组合。
此外,它们可以包含特殊字符,如~!
@#$%^&*()-_=+[]{}|\;:
'",.<>?
/
•未写在任何地方
•如果使用/etc/security/passwd文件,那么长度最少为7个字符最大8个字符(像LDAP那样使用注册表实施的认证,可以使用超出此最大长度的密码)。
•不是在字典中可查到的真实单词
•不是键盘上字母的排列模式,例如qwerty
•不是真实单词或已知排列模式的反向拼写
•不包含任何与您自己、家庭或朋友有关的个人信息
•不与从前一个密码的模式相同
•可以较快输入,这样边上的人就不能确定您的密码
除了这些机制外,您还可以通过限定密码不可以包含可能猜测到的标准UNIX单词,从而进一步实施更严格的规则。
该功能使用dictionlist,它要求您首先安装bos.data和bos.txt文件集。
要实现前面定义的dictionlist,请编辑/etc/security/users文件中的以下行:
dictionlist=/usr/share/dict/words
/usr/share/dict/words文件使用dictionlist来防止使用标准的UNIX单词作为密码。
使用/etc/passwd文件
传统上,/etc/passwd文件是用来记录每个拥有系统访问权的注册用户。
/etc/passwd文件以冒号分隔,它包含以下信息:
•用户名
•已加密密码
•用户标识号(UID)
•用户的组标识号(GID)
•用户全名(GECOS)
•用户主目录
•登录shell
以下是一个/etc/passwd文件的示例:
root:
!
:
0:
0:
:
/:
/usr/bin/ksh
daemon:
!
:
1:
1:
:
/etc:
bin:
!
:
2:
2:
:
/bin:
sys:
!
:
3:
3:
:
/usr/sys:
adm:
!
:
4:
4:
:
/var/adm:
uucp:
!
:
5:
5:
:
/usr/lib/uucp:
guest:
!
:
100:
100:
:
/home/guest:
nobody:
!
:
4294967294:
4294967294:
:
/:
lpd:
!
:
9:
4294967294:
:
/:
lp:
*:
11:
11:
:
/var/spool/lp:
/bin/false
invscout:
*:
200:
1:
:
/var/adm/invscout:
/usr/bin/ksh
nuucp:
*:
6:
5:
uucploginuser:
/var/spool/uucppublic:
/usr/sbin/uucp/uucico
paul:
!
:
201:
1:
:
/home/paul:
/usr/bin/ksh
jdoe:
*:
202:
1:
JohnDoe:
/home/jdoe:
/usr/bin/ksh
缺省情况下,AIX®没有像UNIX®系统那样将加密密码存储在/etc/password文件中,而是存储在仅root用户可读的1文件中。
AIX使用/etc/passwd中归档的密码来表示密码是否存在或帐户是否被阻塞。
/etc/passwd文件由root用户拥有,且必须对所有用户都是可读的,但只有root用户有写许可权,显示为-rw-r--r--。
如果用户标识具有密码,则该密码字段中会有一个!
(感叹号)。
如果用户标识没有密码,则该密码字段中有一个*(星号)。
加密的密码存储在/etc/security/passwd文件中。
以下示例包含/etc/security/passwd文件(基于以上所示的/etc/passwd文件的条目)中的最后四个条目。
guest:
password=*
nobody:
password=*
lpd:
password=*
paul:
password=eacVScDKri4s6
lastupdate=1026394230
flags=ADMCHG
用户标识jdoe在/etc/security/passwd文件中没有条目,因为它在/etc/passwd文件中没有设置密码。
可使用pwdck命令来检查/etc/passwd文件的一致性。
pwdck命令通过检查全部用户或指定用户的定义来验证用户数据库文件中密码信息的正确性。
使用/etc/passwd文件和网络环境
在传统的网络环境中,用户必须在每个系统中有一个帐户才能获得对该系统的访问权。
这通常意味着用户要在每个系统上的每个/etc/passwd文件中有一个条目。
然而,在分布式环境中,要确保每个系统都有相同的/etc/passwd文件不是件容易的事情。
要解决这个问题,有若干种方法(包括网络信息系统(NIS)和NIS+)可以使/etc/passwd文件中的信息在整个网络中可用。
隐藏用户名和密码
为了达到更高级别的安全性,请确保用户标识和密码在系统内是不可见的。
.netrc文件包含用户标识和密码。
该文件未进行加密或编码保护,这样它的内容像纯文本一样清楚显示。
要查找这些文件,运行以下命令:
#find`awk-F:
'{print$6}'/etc/passwd`-name.netrc-ls
找到这些文件后,请删除它们。
保存密码的一个更有效的方法是设置Kerberos。
设置建议的密码选项
恰当的密码管理只有通过用户教育来实现。
为提供某些额外的安全性,操作系统提供了可配置的密码限制。
它们允许管理员限制用户选择的密码,并强制定期更改密码。
密码选项和扩展用户属性位于/etc/security/user文件中,此文件是包含用户属性节的ASCII文件。
每当为用户定义新密码时,这些限制就会执行。
所有密码限制都是按照用户来定义的。
通过在/etc/security/user文件的缺省节中保存限制,对所有用户执行相同限制。
为了维持密码安全性,所有密码必须受到相似的保护。
管理员还可以扩展密码限制。
通过使用/etc/security/user文件的pwdchecks属性,管理员可以将新的子例程(称为方法)添加到密码限制代码中。
这样,本地站点策略可添加到操作系统,并由操作系统执行该策略。
有关更多信息,请参阅扩展密码限制。
应用密码限制要切合实际。
过于限制的尝试,例如限制密码空间(这将使猜测密码更容易),或强制用户选择难以记忆的密码(用户可能选择会写下密码),都会危及密码安全性。
密码安全性最终要依靠用户。
简单的密码限制与明智的指南和偶尔的审计(以验证当前密码是否唯一)相结合,将是最好的策略。
下表列出与/etc/security/user文件中用户密码相关的一些安全属性的推荐值。
---见附图
*最多保留50个密码。
对于受控访问保护概要文件和评定保证级别4+(CAPP/EAL4+)系统,请使用用户和端口配置中推荐的值。
如果在系统上安装了文本处理程序,管理员可以使用/usr/share/dict/words文件作为dictionlist字典文件。
在这种情况下,管理员可以设置minother属性为0。
这是因为字典文件中的大多数单词不包含属于minother属性类别中的字符,把minother属性设置为1或更大将消除对这个字典文件中绝大多数单词的需要。
系统中密码的最小长度由minlen属性的值或minalpha属性的值中的较大者加上minother属性来设置。
密码的最大长度是八个字符。
minalpha属性的值加上minother属性的值决不能大于8。
如果minalpha的值加上minother属性的值大于8,则minother属性的值会减少为8减去minalpha属性的值。
如果histexpire属性的值和histsize属性的值都设置了,则系统保留适用于两种情况所需的密码个数,最多达系统所限制的每个用户50个密码。
不保留空密码。
您可以编辑/etc/security/user文件,使之包含您要用来管理用户密码的任何缺省值。
或者,您也可以通过使用chuser命令更改属性值。
其他可以与该文件一起使用的命令有mkuser、lsuser和rmuser命令。
mkuser命令在/etc/security/user文件中为每个新用户创建一个条目,并用/usr/lib/security/mkuser.default文件中定义的属性初始化其属性。
要显示属性和它们的值,请使用lsuser命令。
要除去一个用户,请使用rmuser命令。
扩展密码限制
密码程序接受或拒绝密码所使用的规则(密码构成限制)可由系统管理员进行扩展,以提供特定于站点的限制。
通过添加方法(在更改密码过程中调用)来扩展限制。
/etc/security/user文件中的pwdchecks属性指定调用的方法。
AIX5L™Version5.3TechnicalReference包含对pwdrestrict_method的描述,它是指定的密码限制方法必须符合的子例程接口。
要正确扩展密码构成限制,则系统管理员必须在编写密码限制方法时对该接口编程。
请谨慎对待扩展密码设置限制。
这些扩展将直接影响login命令、passwd命令、su命令以及其他程序。
系统安全性可能被恶意的或有缺陷的代码轻易破坏。
用户和端口配置
用户和端口的AIX®配置选项必须设置为满足评估的需求。
实际的需要是正确猜测到密码的概率应该至少为一百万分之一,并且在一分钟内通过反复尝试而正确猜测到密码的概率应该至少为十万分之一。
以下示例中所显示的/etc/security/user文件使用/usr/share/dict/words字典列表。
/usr/share/dict/words文件包含在bos.data文件集中。
在配置/etc/security/user文件之前,您必须安装bos.data文件集。
/etc/security/user文件的推荐值如下:
default:
admin=false
login=true
su=true
daemon=true
rlogin=true
sugroups=ALL
ttys=ALL
auth1=SYSTEM
auth2=NONE
tpath=nosak
umask=077
expires=0
SYSTEM="compat"
logintimes=
logintimes=
pwdwarntime=5
account_locked=false
loginretries=3
histexpire=52
histsize=20
minage=0
maxage=8
maxexpired=1
minalpha=2
minother=2
minlen=8
mindiff=4
maxrepeats=2
dictionlist=/usr/share/dict/words
pwdchecks=
dce_export=false
root:
rlogin=false
login=false
不应该用单个用户的特定设置覆盖/etc/security/user文件中的缺省设置。
注:
在root节设置login=false阻止直接的root用户登录。
只有对于该root帐户有su特权的用户帐户才能以root帐户登录。
如果启动“拒绝服务”攻击对发送错误密码给用户帐户的系统发动攻击,它能锁定所有的用户帐户。
此攻击可能阻止任何用户(包括管理用户)登录到该系统。
一旦锁定某用户的帐户,该用户将不能登录,直到系统管理员在/etc/security/lastlog文件中重新设置该用户的unsuccessful_login_count属性小于loginretries用户属性的值。
如果锁定了所有的管理帐户,可能需要重新启动系统到维护方式并运行chsec命令。
/etc/security/login.cfg文件的建议值如下所示:
default:
sak_enabled=false
logintimes=
logindisable=4
logininterval=60
loginreenable=30
logindelay=5