Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3521898
  • 博文数量: 534
  • 博客积分: 11595
  • 博客等级: 上将
  • 技术积分: 5785
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 17:00
文章分类

全部博文(534)

文章存档

2015年(4)

2014年(27)

2013年(15)

2012年(38)

2011年(36)

2010年(85)

2009年(63)

2008年(142)

2007年(124)

分类: 系统运维

2012-02-10 10:22:01

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 文件中定义的某个节的名称。
 
转自:
阅读(6726) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~