网络安全讲座:第四讲 账号安全(4)
发布: 2006-5-23 03:14 | 作者: Allan | 来源: 《深圳赛佛莱特科技有限公司》技术版
举个例子
% chage ?m 2 ?M 30 ?W 5 steven
此命令要求用户steven两天内不能更改密码,并且密码最长的存活期为30天,并在密码过期前5天通知他。
记录不成功的登陆企图
所有的UNIX系统都能够记录非成功的登陆企图。在LINUX中,登陆的失败是由syslog守护进程记录在/var/log/messages文件里。可以用下列命令来查找相关信息
$ grep login /var/log/messages
搜索路径(PATH)的重要性
在UNIX里,常使用的命令用来在不同的环境下查找一组特殊的目录称做PATH。想要运行当前目录包含的命令时是不需要加上一长串路径名的。在UNIX中用户经常使用”.”来表示当前的目录。如果”.”作为shell环境变量的一部分时,一个全局目录下的shell脚本或公用命令就有可能被相同目录下的伪程序所解释,而这个命令可能包含一段代码,一旦被执行后果可能是较严重的,比如是一个木马程序。在Bourne or Korn Shell里搜索路径通常这样来设置:
$ PATH=pathname1:pathname2:pathname3:
$ export PATH
在C或类似的shell里,以下列命令设置:
% set path = (pathname1 pathname2 pathname3)
在UNIX中像这样的路径可以保存在.profile文件里,可以看到像下面的语句
PATH=/bin:/usr/bin:/sbin
HOME
Export PATH
因此,如果你经常参考用户主目录下的某个文件时,就创建一个叫”bin”的并把所以的个人的可执行文件放到里面,并要严格注意它们的安全性。假设”.”路径名存在于用户的shell初始化文件里,并且用户不精通有关安全的知识而且不太注意环境变量中路径,那么可以想像他经常使用到的who命令。假设用户已创建了下面的文件
$ touch /tmp/testfile
然后,编辑下面的程序并保存为who.c文件
# include
main()
{
system (“/usr/bin/who”);
system (“/bin/rm /tmp/testfile 2>/dev/null”);
}
然后对些程序进行编译
$ gcc ?o who who.c
并且此用户可能含有这样的profile:
PATH=.:/bin:/usr/bin:/sbin
HOME
Export PATH
现在,如果户键入
$ who
再去找找你刚刚建立的testfile这个文件,看看发生了什么..
限制root登陆
另一增强root帐号安全的方法是限制其在系统上直接登陆。不同版本的UNIX处理此项任务的方法是不同的。
在SUN的Solaris系统上要修改/etc/default/login文件,你需要加入下面一行
CONSOLE=/dev/console
% chage ?m 2 ?M 30 ?W 5 steven
此命令要求用户steven两天内不能更改密码,并且密码最长的存活期为30天,并在密码过期前5天通知他。
记录不成功的登陆企图
所有的UNIX系统都能够记录非成功的登陆企图。在LINUX中,登陆的失败是由syslog守护进程记录在/var/log/messages文件里。可以用下列命令来查找相关信息
$ grep login /var/log/messages
搜索路径(PATH)的重要性
在UNIX里,常使用的命令用来在不同的环境下查找一组特殊的目录称做PATH。想要运行当前目录包含的命令时是不需要加上一长串路径名的。在UNIX中用户经常使用”.”来表示当前的目录。如果”.”作为shell环境变量的一部分时,一个全局目录下的shell脚本或公用命令就有可能被相同目录下的伪程序所解释,而这个命令可能包含一段代码,一旦被执行后果可能是较严重的,比如是一个木马程序。在Bourne or Korn Shell里搜索路径通常这样来设置:
$ PATH=pathname1:pathname2:pathname3:
$ export PATH
在C或类似的shell里,以下列命令设置:
% set path = (pathname1 pathname2 pathname3)
在UNIX中像这样的路径可以保存在.profile文件里,可以看到像下面的语句
PATH=/bin:/usr/bin:/sbin
HOME Export PATH
因此,如果你经常参考用户主目录下的某个文件时,就创建一个叫”bin”的并把所以的个人的可执行文件放到里面,并要严格注意它们的安全性。假设”.”路径名存在于用户的shell初始化文件里,并且用户不精通有关安全的知识而且不太注意环境变量中路径,那么可以想像他经常使用到的who命令。假设用户已创建了下面的文件
$ touch /tmp/testfile
然后,编辑下面的程序并保存为who.c文件
# include
main()
{
system (“/usr/bin/who”);
system (“/bin/rm /tmp/testfile 2>/dev/null”);
}
然后对些程序进行编译
$ gcc ?o who who.c
并且此用户可能含有这样的profile:
PATH=.:/bin:/usr/bin:/sbin
HOME Export PATH
现在,如果户键入
$ who
再去找找你刚刚建立的testfile这个文件,看看发生了什么..
限制root登陆
另一增强root帐号安全的方法是限制其在系统上直接登陆。不同版本的UNIX处理此项任务的方法是不同的。
在SUN的Solaris系统上要修改/etc/default/login文件,你需要加入下面一行
CONSOLE=/dev/console