文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux账号安全

Linux账号安全

时间:2006-02-01  来源:olylinux

超级账户


    在早期的Linux系统中,/etc/passwd文件含有全部系统需要知道的关于每个用户的信息,当然,用户的口令经过一定的数字与逻辑算法后把一个运算结果(可见字符串)放到了passwd文件中,于是,passwd文件也就成了入侵者的众矢之的,后来,为了保护passwd文件中的密码,出现了passwd文件的shadow化,也就是把密码的加密算法后的结果和其他一些辅助信息存到了shadow文件,虽然shadow文件采用了比passwd文件更加安全的保管方式,但是,同样也需要管理员的“加倍关心”,否则,也可能成为入侵者的“猎物”。

     /etc/passwd中包含有用户的登录名,口令经过加密算法得出的结果(或者在/etc/shadow中),用户号(UID),用户组号(GID),用户注释,用户主目录和用户所用的shell程序。其中用户号和用户组号用于linux系统标识用户和同组用户及用户的访问权限。

    用户登录时输入的口令经计算后于/etc/passwd或者/etc/shadow中的结果相比较,符合则允许登录,否则拒绝用户登录。用户可用passwd命令修改自己的口令,不能直接修改/etc/passwd或者/etc/shadow中的口令部份。

    一个强壮的有效的口令应当至少有8个字符长,不要取用个人信息(如生日,名字,用户名,计算机的型号等也尽量不要在密码中连接电话号码和2002、2000、888等数字),普通的英语单词也不好(因为可用字典攻击法),口令中最好有一些非字母(如数字,标点符号,控制字符等),注意尽量不要写在纸上或计算机中的文件中,选择口令的一个好方法是将不相关的字母和数字或控制字符相连,并组成不少于8位的长度。为了强迫用户指定足够强壮的密码,需修改文件/etc/login.defs 中参数PASS_MIN_LEN(口令最小长度)。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS(口令使用时间)。

     如果系统管理员在离开系统之前忘记注销root账户,系统应当在超时后自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。

编辑profile文件(vi /etc/profile)
在"HISTFILESIZE="后面加入下面这行:
TMOUT=3600

    3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的“.bashrc”文件中添加该值(如果你的linux使用bash的话,否则就要修改用户的.profile文件),以便系统对该用户实行特殊的自动注销时间。

    改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。

    不应在不同机器中、不同的应用中使用同一个口令,特别是在不同级别的用户上使用同一口令。用户应定期改变口令,至少3个月要改变一次,系统管理员可以强制用户定期做口令修改。

2) su命令

禁止任何人通过su命令改变为root用户

    su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在"/etc/pam.d/"目录下)的开头添加下面两行:

编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group=wheel

    这表明只有"wheel"组的成员可以使用su命令成为root用户。你可以把用户添加到“wheel”组,以使它可以使用su命令成为root用户。

3) 其他用户和登陆脚本

删除所有的特殊账户

    你可以考虑删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。

删除用户和组的命令:
[root@Linux/]# userdel LP

删除组:
[root@Linux/]# groupdel LP

选择正确的密码

    在选择正确密码之前还应作以下修改:

修改密码长度:设置为不少于8位的。
修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行
PASS_MIN_LEN 5    (默认的情况)
改为
PASS_MIN_LEN 8  (修改后的情况)
login.defs文件是login程序的配置文件。

    打开密码的shadow支持功能:(这个在高版本的linux中都是默认支持的,不需要下面的过程了。虽然在当今的最新版Linux中都自动开启了shadow支持,但是投入运转较早的Linux站点可能尚不流行Shadow技术)
你应该打开密码的shadow功能,来对password加密。使用“/usr/sbin/authconfig”工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用“pwcov,grpconv”命令。

 Shell logging 

    Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样可以使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。

第一步:

    “/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中可以保存的旧命令条数。强烈建议把把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数,比如30。编辑profile文件(vi /etc/profile),把下面这行改为:
HISTFILESIZE=30
HISTSIZE=30
这表示每个用户的“.bash_history”文件只可以保存30条旧命令。

第二步:

    网管还应该在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除。

相关阅读 更多 +
排行榜 更多 +
百炼英雄抽卡技巧指南

百炼英雄抽卡技巧指南

休闲益智 下载
英雄没有闪滚雷旋风技能如何搭配

英雄没有闪滚雷旋风技能如何搭配

休闲益智 下载
英雄没有闪雷旋风BD构筑推荐

英雄没有闪雷旋风BD构筑推荐

休闲益智 下载