当前位置: > 安全防御 > 系统安全防御 >

CentOS安全小技巧

时间:2015-01-16 01:22来源:BlankLinux 的BLOG 作者:BlankLinux 的BLOG 举报 点击:
 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
  别忘了该后再把它的性质改为不可修改的。
7,禁止系统信息暴露
   当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改"/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
12,隐藏系统信息
    在缺省情况下,当你登陆到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
根据以上基本设置后,系统管理员会拥有一个相对安全的系统。但管理员必须清楚,安全不是一时的,任何情况下都需要一个持续的过程和不断的改进。
------分隔线----------------------------
发表评论
为了和诣的生活,我关闭了评论页面,请大家到QQ群里交流吧:348944156,也欢迎关注本站微信公众号:centoscn