日期:2014-05-16  浏览次数:20793 次

linux安全手册

?? 12、"/etc/services"文件免疫

  使"/etc/services"文件免疫,防止未经许可的删除或添加服务:

  [root@kapil /]# chattr +i /etc/services

  13、不允许从不同的控制台进行root登陆

  "/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加"#"标志,来禁止从该TTY设备进行root登陆。

  14、禁止通过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用户。

?

15、Shell logging

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

<script src="../../system/system60.js" type="text/javascript"></script>

<!--IWMS_AD_END-->

  第一步:

  "/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"文件都会被删除。

  编辑.bash_logout文件(vi /etc/skel/.bash_logout) ,添加下面这行:

  rm -f $HOME/.bash_history

  16、禁止Control-Alt-Delete 键盘关闭命令

  在"/etc/inittab" 文件中注释掉下面这行(使用#):

  ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  改为:

  #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  为了使这项改动起作用,输入下面这个命令:

  [root@kapil /]# /sbin/init q

?

?

?17、给"/etc/rc.d/init.d" 下script文件设置权限

  给执行或关闭启动时执行的程序的script文件设置权限。

  [root@kapil/]# chmod -R 700 /etc/rc.d/init.d/*

  这表示只有root才允许读、写、执行该目录下的script文件。

?

?

  在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。对于黑客来说这些信息足够它入侵你的系统了。你应该只给它显示一个"login:"提示符。

  第一步:

  编辑"/etc/rc.d/rc.local" 文件,在下面显示的这些行前加一个"#",把输出信息的命令注释掉。<!--IWMS_AD_BEGIN-->

<script src="../../system/system60.js" type="text/javascript"></script>

<!--IWMS_AD_END-->

  # This will overwrite /etc/issue at every boot.  So, make any changes you

  # want to make to /etc/issue here or you will lose them when you reboot.

  #echo "" > /etc/issue

  #echo "$R" >> /etc/issue

  #echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue

  #

  #cp -f /etc/issue /etc/issue.net

  #echo >> /etc/issue

  第二步:

  删除"/etc"目录下的"isue.net"和"issue"文件:

  [root@kapil /]# rm -f /etc/issue

  [root@kapil /]# rm -f /etc/issue.net

?

?

?

3.默认账号

  应该禁止所有默认的被操作系统本身启动的并且不必要的账号,当你第一次安装系统时就应该这么做,Linux提供了很多默认账号,而账号越多,系统就越容易受到攻击。

  可以用下面的命令删除账号。

  # userdel用户名

  或者用以下的命令删除组用户账号。

  # groupdel username

  4.口令文件

  chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。

  # chattr +i /etc/passwd

  # chattr +i /etc/shadow

  # chattr +i /etc/group

  # chattr +i /etc/gshadow

?

?

7.删减登录信息

  默认情况下,登录提示信息包括Linux发行版、内核版本名和服务器主机名等。对于一台安全性要求较高的机器来说这样泄漏了过多的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。

  # This will overwrite /etc/issue at every boot. So,make any changes you

  # want to make to /etc/issue here or you will lose them when you reboot

  # echo "">/etc/issue

  # echo "">>/etc/issue