在
AIX6.1和AIX 5.3 TL07以上版本的AIX
操作系统针对密码安全性有了一定的改进和补充,其中比较重要的有以下两点:
1. 除了保留crypt密码加密方式之外,提供了MD5,SHA-1,SHA256等多种加密算法。
2. 支持了长达256位的密码
一
系统密码算法
在AIX5307之前,AIX一直使用名为 crypt 的单向散列函数来
认证用户。crypt 函数是一个修改过的 DES算法。它使用提供的密码和 Salt 来执行固定数据数组的单向加密。它仅使用密码字符串的前 8 个字符(这也使得用户的密码将截断为 8 个字符)。
从AIX53 TL07之后,AIX引入了散列算法(例如 MD5),它比 crypt 函数更难破解。 此算法针对强力密码猜测攻击提供了健壮的应对机制。 因为整个密码用于生成散列,所有在密码散列算法用于对密码进行加密时没有密码长度限制。
当前系统具体使用哪中系统密码算法取决于/etc/security/login.cfg 文件中 pwd_algorithm 属性。默认将crypt用作缺省值。至于pwd_algorithm的所有备选值都必须在/etc/security/pwdalg.cfg文件中定义。
/etc/security/login.cfg 文件的以下示例将 ssha256 LPA 用作系统范围的密码加密算法。
... ...
usw:
shells = /bin/sh,/bin/bsh,/bin/csh,/bin/ksh,/bin/tsh,/bin/ksh93
maxlogins = 32767
logintimeout = 60
maxroles = 8
auth_type = STD_AUTH
pwd_algorithm = ssha256
... ...
Note:系统密码算法仅对新创建的密码和被更改的密码有效。在
迁移之后,所有后续新密码或密码更改都将使用系统密码算法。选择系统密码算法之前就存在的密码(由标准 crypt 函数或其他受支持的 LPA 模块生成)仍将在系统上工作。因此,不同密码算法生成的混合密码可在系统上共存。
二 256位的密码长度
在AIX 5.3 TL07之前的版本中,用户密码默认最多只支持8位的。这可以通过/etc/security/user来看到:
# more /etc/security/user
….
minlen Defines the minimum length of a password. The default is 0. Range: 0 to 8.
…..
计算机越来越快的运算速度使得8位密码的暴力攻击成为了可能。正是在这样的情况下,AIX 5.3 TL07的版本引入了长密码的支持:
# more /etc/security/user
….
minlen Defines the minimum length of a password. The default is 0. Range: 0 to PW_PASSLEN.
这中间的PW_PASSLEN是在userpw.h中定义的,但具体取值则是由/etc/security/login.cfg文件中设定好的系统级密码算法决定的。
# more /usr/include/userpw.h
…
#define MAXIMPL_PW_PASSLEN 256
#define PW_PASSLEN ((__extension_status & _EXTENSION_C2)? \
max_pw_passlen():__get_pwd_len_max())
# more /etc/security/pwdalg.cfg
…
* /usr/lib/security/smd5 is a password hashing load module using
* the MD5 algorithm. It supports password length up to 255 characters.
* /usr/lib/security/ssha is a password hashing load module using SHA and
* SHA2 algorithms. It supports password length up to 255 characters.
由此可以看到,无论是MD5还是SHA算法都支持最多255位密码,这样在增强加密算法的同时从密码长度的角度也增大了破解难度。
系统管理员可使用 chsec 命令来设置系统密码算法,或使用编辑器(例如 vi)来手动修改 /etc/security/login.cfg 文件中的 pwd_algorithm 属性。
(1)使用 chsec 命令:运行以下命令可将 smd5 LPA 设置为系统范围的密码加密模块:
chsec -f /etc/security/login.cfg -s usw -a pwd_algorithm=smd5
(2)使用编辑器:如果使用编辑器来手动更改 /etc/security/login.cfg 文件中的 pwd_algorithm 属性值,请确保指定值是在 /etc/security/pwdalg.cfg 文件中定义的某个节的名称。
转自:
阅读(6633) | 评论(0) | 转发(0) |