Linux用户管理安全宝典:密码防破解与帐号文件保护

发表于:2010-10-09 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李洋    来源:51Testing软件测试网采编

  摘要:Linux用户管理主要分为两方面:密码管理,以及用户与用户组的管理。对系统管理员账户来说,最需要保护的就是密码,如果密码被盗,也就意味着灾难的降临。另一方面,用户帐号文件也是需要管理保护的对象。本文对这两方面分别进行了阐述。

  Linux作为一种多任务、多用户的操作系统,在同一时间段上可能为众多用户使用,且用户的管理直接关系到整个系统的安全,用户需要对其中的密码管理和帐户文件管理进行着重的强调和保护。

  Linux用户管理主要分为两方面:密码管理,以及用户与用户组的管理。下面将对这两方面分别进行阐述。

  1. 密码管理

  密码是用户登录Linux系统的钥匙,如果没有钥匙总是要费一番力气后,才能登录到目标操作系统。无论入侵者采用何种远程攻击,如果无法获得管理员或超级管理员的用户密码,就无法完全控制整个系统。若想访问系统,最简单也是必要的方法就是窃取用户的密码。因此,对系统管理员账户来说,最需要保护的就是密码,如果密码被盗,也就意味着灾难的降临。

  入侵者大多是通过各种系统和设置漏洞,获得管理员密码来获得管理员权限的,然后,再实现对系统的恶意攻击。账号的弱密码设置会使入侵者易于破解而得以访问计算机和网络,而强密码则难以破解,即使是密码破解软件也难以在短时间内办到。密码破解软件一般使用3种方法进行破解:字典猜解、组合猜解和暴力猜解。毫无疑问,破解强密码远比破解弱密码困难得多。因此,系统管理员账户必须使用强密码。

  据统计,大约80%的安全隐患是由于密码设置不当引起的。因此,密码的设置无疑是十分讲究技巧的。在设置密码时,请遵守密码安全设置原则,该原则适用于任何使用密码的场合,既包括Windows操作系统,也包括UNIX/Linux操作系统。

  John the Ripper是一个工具软件,用于在已知密文的情况下尝试破解出明文的破解密码软件。目前的最新版本是JOHN1.7版,主要支持对DES、MD5两种加密方式的密文进行破解工作。它可以工作于多中不同的机型以及多种不同的操作系统之下,目前已经测试过能够正常运行的操作系统有:Linux x86、freeBSD、x86、Solaris、SPARC、OSF/1 Alpha、DOS、WinNT/WinXP系列等。

  John the Ripper 1.7是目前比较好的破解密码工具,在解密过程中会自动定时存盘,用户可以强迫中断解密过程(使用ctrl+c组合键),下次还可以从中断的地方继续进行下去(john-restore命令)。任何时候敲击键盘,用户都可以看到整个解密的进行情况,所有已经被破解的密码会被保存在当前目录下的JOHN.POT文件中,SHADOW中所有密文相同的用户会被归成一类,这样JOHN就不会进行无谓的重复劳动了。在程序的设计中,关键的密码生成的条件被放在JOHN.INI文件中,用户可以自行修改设置,不仅支持单词类型的变化,而且支持自己编写C的小程序限制密码的取值方式。

  在使用该软件前,我们可以从网上下载其最新版本john-1.7.3.4 for Linux版本,它包含DOC、SRC和RUN三个目录,在SRC目录下,在机器上执行如下命令即可:

make
make clean linux-x86-any

  安装好后,可以切换到RUN目录下,进行测试,如下所示:

cd ../run
./john –test

  John the ripper提供了如下多达10余种的命令,供用户选择使用:

  1、pwfile:<file>[,..]:用于指定存放密文所在的文件名,(可以输入多个,文件名一我“,”分隔,也可以使用*或者 这两个通配符引用一批文件)。也可以不使用此参数,将文件名放在命令行的最后即可。

  2、wordfile:<字典文件名>-stdin:指定的用于解密用的字典文件名。也可以使用STDIO来输入,就是在键盘中输入。

  3、rules:在解密过程中使用单词规则变化功能。如将尝试cool单词的其他可能,如COOLER、Cool等,详细规则可以在JOHN.INI文件中的[List.Rules:Wordlist]部分查到。

  4、incremental[:<模式名称>]:使用遍历模式,就是组合密码的所有可能情况,同样可以在JOHN.INI文件中的[Incremental:*****]部分查到。

  5、single:使用单一模式进行解密,主要是根据用户名产生变化来猜测解密,可以消灭比较低级的用户。其组合规则可以在JOHN.INI文件中的[List.Rules:Single]部分查到,我们在下面详细解释。

  6、external:<模式名称>:使用自定义的扩展解密模式,用户可以在john.ini中定义自己需要的密码组合方式。JOHN也在INI文件中给出了几个示例,在INI文件的[List.External:******]中所定义的自订破解功能。

  7、restore[:<文件名>]:继续上次的破解工作,JOHN被中断后,当前的解密进度情况被存放在RESTORE文件中,用户可以拷贝这个文件到一个新的文件中。如果参数后不带文件名,JOHN默认使用RESTORE文件。

  8、makechars:<文件名>:制作一个字符表,用户所指定的文件如果存在,则将会被覆盖。JOHN尝试使用内在规则在相应密钥空间中生成一个最有可能击中的密码组合,它会参考在JOHN.POT文件中已经存在的密钥。

  9、show:显示已经破解出的密码,因为JOHN.POT文件中并不包含用户名,同时用户应该输入相应的包含密码的文件名,JOHN会输出已经被解密的用户连同密码的详细表格。

  10、test:测试当前机器运行JOHN的解密速度,需要1分钟,它会得出在当前的情况下解密的各种可能情况下相应的解密速度,如同时解密100个用户时的平均速度,使用 遍历法解密模式时解密的速度。salts指用户个数,如果给出的对于100个用户解密的平均速度为18000次/秒,那么表明同时对100个用户解密,解 密的速度为每个180次/秒。因为绝大多数的时间被用于密钥比较过程中了。所以应该对用户进行挑选。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号