CentOS安全小技巧

2019-08-23 18:42:20 5629

 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

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


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: