Linux服务器的安全隐患以及防范对策

    [晴 April 26, 2007 19:14 | by ]
如果你的Linux服务器被非受权用户接触到(如服务器放在公用机房内、公用办公室内),那么它的安全就会存在严重的隐患。

使用单用户模式进入系统
Linux启动后出现boot:提示时,使用一个特殊的命令,如linuxsingle或linux 1,就能进入单用户模式(Single-User mode)。这个命令非常有用,比如忘记超级用户(root)密码。重启系统,在boot:提示下输入linux single(或linux 1),以超级用户进入系统后,编辑Passwd 文件,去掉root一行中的x 即可。

防范对策:

以超级用户(root)进入系统,编辑/etc/inittab 文件,改变id:3:

initdefault 的设置,在其中额外加入一行(如下),让系统重新启动进入单用户模式的时候,提示输入超级用户密码:

~ ~:S:walt:/sbin/sulogin

然后执行命令:/sbin/init q,使这一设置起效。

在系统启动时向核心传递危险参数在Linux下最常用的引导装载(boot loader)工具是LILO,它负责管理启动系统(可以加入别的分区及操作系统)。但是一些非法用户可能随便启动Linux或者在系统启动时向核心传递危险参数,这也是相当危险的。

防范对策:

编辑文件/etc/lilo.conf,在其中加入restricted参数,这一参数必须同下面一个要讲的password 参数一起使用,表明在boot:提示下,传递给Linux 内核一些参数时,需要你输入密码。password 参数可以同restricted 一起使用,也可以单独使用,下面将分别说明。同restricted 一起使用:只有在启动时需要传递给内核参数时,才会要求输入密码,而在正常(缺省)模式下,是不需要密码的,这一点一定要注意。

单独使用(没有同restricted 一起使用):表示不管用什么启动模式,Linux总会要求输入密码;如果没有密码,就没有办法启动Linux,在这种情况下的安全程度更高,相当于外围又加入一层防御措施。当然也有坏处——你不能远程重启系统,除非你加上restricted 参数。

由于密码是明文没有加密,所以/etc/lilo.conf文件一定要设置成只有超级用户可读,可使用下面的命令进行设置:

c hmod 600 /ietc/lilo.conf

然后执行命令:/sbin/lilo -V,将其写入boot sector,并使这一改动生效。



为了加强/etc/liIo.conf 文件的安全,你还可以设置这个文件为不可改变的属性,可使用命令:

c hattr 十i/etc/lilo.conf

如果日后你要修改/etc/liIo.conf 文件,用chattr -i/etc/lilo.conf命令去掉这个属性即可。

使用“Ctrl+Alt+Del”组合键重新启动对于这一点,非常重要,也非常容易忽略,如果非法用户能接触到服务器的键盘,他就可以用组合键“Ctrl+AIt+Del”使你的服务器重启。

防范对策:

编辑/etc/inittab 文件,给ca::ctrlaltdel:/sbin/shutdown-t3 -r now加上注释###ca::ctrlaltdeI:/sbin/shutdown-t3 -r now。

然后执行命令:/sbin/init q,使这一改动生效。
Tags:
Technology | Comments(0) | Trackbacks(0) | Reads(16616)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive