自从人类开始使用电脑以来,主要是靠密码来限制对系统的访问。虽然软硬件的更新换代不断,但依靠密码来保护系统这一原则仍然没有改变。选择密码似乎是很平常的是,但用户的系统安全完全基于密码的强壮性。
一个简单、容易猜出的密码等于敞开了系统的大门-攻击者一旦获取密码就可以长驱直入。一个足够强度的密码需要几年的时间去破解,而一个脆弱的密码在一分钟内就没有任何秘密可言。以下几个问题涉及密码的设置:
● 是否按照公开的标准来设置密码;
● 密码是否加密; ● 密码是否使用shaow;
● 回答上述问题将有助于了解Linux系统密码是否安全。
强制密码设置规范
密码安全的第一步是选择难于猜测的密码。不幸的是,用户倾向于选择容易记忆的密码-但同时也容易被黑客破解。记住密码当然重要,但更重要的是确保密码的安全,因此建议不要选择小孩的名字、宠物名字或是配偶的生日,用户需要设置黑客难于猜测、破解的密码。
采用大小写字符组成密码对提高安全度很有帮助,尽管这并非是唯一提升安全强度的方法,但对付黑客的暴力破解很有效(黑客往往使用字典破解法对密码进行穷举,直到找到匹配密码为止)。作者也见过采用随机生成的密码,但在很多情况下,最好的密码既要有强壮性,又要让用户容易记住。本文提供一种方法建立既强壮又便于记忆的密码。
上面谈到的很多都似乎是常识,但困难在于如何让所有的Linux用户遵循系统管理员规划好的密码设置规范。在Linux系统中,大多数版本的Passwd(系统中进行密码设置的软件)可以配置一定的规范来定义用户的密码,例如要求用户设置的密码不得少于6个字符,其中必须还要包括至少2个数字。笔者推荐Npasswd这个软件可以完全替代Linux系统中的Passwd,该软件可以检查用户所要设置的密码是否足够强壮。建议系统管理员最先从这里入手,为所有的用户规定密码设置规范。
针对目前的密码数据库,系统管理员可以使用多种工具来审核密码安全。类似Crack 和John the Ripper可以让你对系统密码进行测试。越简单的密码,上述工具破解(也就是猜到)的就越快。这种工具尝试破解/ect/passwd/目录下面的密码文件并输出结果。猜出的密码越多说明贵单位的漏洞也就越多。系统管理员可以选择禁止某些不安全帐户,虽然方法简单但并非一直可以这样做。最好的办法是给黑客访问相应目录和文件设置障碍,让黑客无法轻易获取密码数据库文件并进行破解。
密码数据库的保护手段
下一步要确定密码交给不妥当的用户。安全是基于用户级的,密码安全不仅仅是设置安全的密码,还要防止用户把密码记下来并随手乱放。把密码记录在明文文档内或是钱包的纸片中,都不是可取的方式。请尽可能的以加密手段来存储和记录密码。
另有一个可选的方式是给密码做shadow。shadow passwords根据标准的/etc/passwd/目录下的密码文件生成,但它保存在独立的加密文件中(只能被权限最高的Root用户读取)。系统中的程序仍然可以使用/etc/passwd下的密码文件,访问类似用户ID(UID)以及组ID(GID)等信息,但不是加密的密码。这给密码的安全程度又增加了一层保障,这意味着黑客必须获得Root权限后才能访问加密的密码库文件。在Red Hat系统中,pwconv工具能够把非shadow 密码转换成shadow密码格式。请注意,各个版本的Linux系统的类似工具在使用中各有不同,请参照您的文档来完成上述工作。
总结
系统管理员可以采取各种策略来确保密码安全。但首先要让用户们明白密码安全的重要性,同时制定密码策略来强制密码设置规范。这包括确定可接受的密码设置要求、更换密码的时限、密码需要包含多少字符等等。系统管理员还可以运行检测工具来查找密码数据库的安全漏洞。此外别忘了shadow password-它可以立即为您的系统增加安全防护强度。