删除所有那些不能在你系统上使用的默认用户和组账户: lp,sync,shutdown,halt, news, uucp, operator, games, gopher

  ROOT自动从shell注销

  编辑你的配置文件”vi /etc/profile”,在某个地方加入如下行,

  “HISTFILESIZE=”

  TMOUT=3600

  我们为变量”TMOUT=”输入的这个值使用秒表示的、代表一个小时(60*60=3600秒)。如果你将此行加入你的“/etc/profile” 文件,那么在一小时的

  非活动状态之后将要系统里的所有用户自动注销。你可以在用户私人的”。bashrc”文件里面

  设置这个变量,可以在一个确定的时间以后自动注销他们。

  禁止并且卸载所有没有用的服务

  你必须禁止别切卸载所有你不用的的服务,那样的话,你就能少担心一些。看看你的”/etc/inetd.conf”文件, 用注释的方法禁用(在一行的开始加个#

  ),然后给inetd进程发送一个SIGHUP命令去更新到当前的”inetd.conf”文件。这样做:

  第一步把”/etc/inetd.conf”更改许可权限成600,那样的话,就只有root可以读和写。

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

  第二步确保”/etc/inetd.conf”的所有者是root。

  第三步编辑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

  第五步设置”/etc/inetd.conf”文件为不可更改,使用 chattr 命令,这样的话,没人能修改那个文件。*简单的设置文件为不可更改,执行如下命令:

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

  这将防止对”inetd.conf”文件的任何更改(意外的更改或者其他更改)。只有超级用户root能设置或者清除这个文件属性。修改inetd.conf *简单的取

  消不可更改的设置,执行如下命令:

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

  免疫”/etc/services”文件

  你必须免疫 “/etc/services” 文件,防止未经授权的删除、增加服务。

  免疫 “/etc/services” 文件,使用命令:

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

  禁止Control-Alt-Deletc键盘关机命令

  在你的”/etc/inittab”文件里面注释掉如下的行(用一个”#”)。

  这样做,编辑inittab文件(vi /etc/inittab),更换:

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

  读入:

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

  现在,按照如下提示输入,让更改生效:

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

  为脚本文件整理”/etc/rc.d/init.d”下的权限

  整理脚本文件的许可权限,可靠的开始和结束所有你需要在引导时运行的常态进程,这样做:

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

  这意味着只有root可以被允许读,写,和执行目录里面的脚本文件。

  隐藏你的系统信息

  默认状态下,当你登录到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/”目录下的”issue.net” 和 “issue”:

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

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

  禁止未用的 SUID/SGID 程序

  一个常规用户如果设置为SUID root,将能够作为root运行程序。一个系统管理员必须最小化使用这些 SUID/GUID程序, 而且禁止那些不需要的程序。

  第1步

  从root拥有的程序里发现所有有`s’ 位的程序,用此命令:

  [root@kapil]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;

  * 在被选中的程序上禁止suid 位,键入如下命令:

  [root@kapil /]# chmod a-s [program]

  关闭ipv6

  vi /etc/modprobe.conf,在文件中添加以下两行

  alias net-pf-10 off

  alias ipv6 off