<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1、Bios Security



     一定要给Bios设置密码,以防通过在Bios中改变启动顺序,而可以从软盘启动。这样可以阻止别人试图用特殊的启动盘启动你的系统,还可以阻止别人进入Bios改动其中的设置(比如允许通过软盘启动等)



     编辑/boot/grub/grub.comf,加入以下语句,


password 12345


2,删除所有的特殊账户



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



删除用户:

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


3,修改密码长度



在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行



PASS_MIN_LEN 
        
   5
 
  
  改为 
    
 
  
   
   PASS_MIN_LEN 
        
   8



   login.defs 文件是 login 程序的配置文件。



4 、打开密码的shadow支持功能:



   你应该打开密码的shadow功能,来对password加密。使用"/usr/sbin/authconfig"工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用"pwcov,grpconv"命令



5,取消普通用户的控制台访问权限



   你应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。

[root@kapil 
     
   /]# 
     
   rm 
     
   -f 
     
   /etc/security/console.apps/



  是你要注销的程序名



6,取消并卸载所有不用的服务



   取消并卸载所有不用的服务,这样你的担心就会少很多。察看"/etc/inetd.conf"文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个"#")。然后用"sighup"命令升级"inetd.conf"文件。



  第一步:



  更改 "/etc/inetd.conf" 权限为 600 ,只允许 root 来读写该文件。


[Root@kapil 
     
   /]# 
     
   chmod 
     
   600 
     
   /etc/inetd.conf



  第二步:



  确定 "/etc/inetd.conf" 文件所有者为 root 。



  第三步:



  编辑  /etc/inetd.conf 文件 (vi   /etc/inetd.conf) ,取消下列服务 ( 你不需要的 ) : ftp,   telnet,   shell,   login,   exec,   talk,   ntalk,   imap,   pop-2,   pop-3,   finger,   auth 等等。把不需要的服务关闭可以使系统的危险性降低很多。



  第四步:



  给 inetd 进程发送一个 HUP 信号:


[root@kapil 
     
   /]# 
     
   killall 
     
   -HUP 
     
   inetd



  第五步:



  用 chattr 命令把 /ec/inetd.conf 文件设为不可修改,这样就没人可以修改它:

[root@kapil 
     
   /]# 
     
   chattr 
     
   +i 
     
   /etc/inetd.conf



  这样可以防止对 inetd.conf 的任何修改 ( 以外或其他 原因) 。唯一可以取消这个属性的人只有 root 。如果要修改 inetd.conf 文件,首先要是取消不可修改性质:


[root@kapil 
     
   /]# 
     
   chattr 
     
   -i 
     
   /etc/inetd.conf



  别忘了该后再把它的性质改为不可修改的。



禁止系统信息暴露



   当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改"/etc/inetd.conf"文件来达到这个目的。



  把 /etc/inetd.conf 文件下面这行:

telnet 
      
   stream 
      
   tcp 
         
   nowait 
     
   root 
        
   /usr/sbin/tcpd 
      
   in.telnetd
 
  
修改为 
   :
 
  
   
   telnet 
      
   stream 
      
   tcp 
         
   nowait 
      
   root 
        
   /usr/sbin/tcpd 
      
   in.telnetd 
     
   -h



  在最后加 "-h" 可以使当有人登陆时只显示一个 login: 提示,而不显示系统欢迎信息



8, "/etc/services"文件免疫



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


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


9, 不允许从不同的控制台进行root登陆



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



10,禁止通过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 用户。



11, 禁止Control-Alt-Delete 键盘关闭命令



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


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


改为:
 
  
   
   #ca::ctrlaltdel:/sbin/shutdown 
     
   -t3 
     
   -r 
     
   now
 
  
  为了使这项改动起作用,输入下面这个命令:
 
  
   
   [root@kapil 
     
   /]# 
     
   /sbin/init 
     
   q



隐藏系统信息



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



  第一步:



  编辑 "/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 
     
   "$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


根据以上基本设置后,系统管理员会拥有一个相对安全的系统。但管理员必须清楚,安全不是一时的,任何情况下都需要一个持续的过程和不断的改进。