基于CentOS系 统的VPS安全设置与优化

黑桃K平台 http://www.cnmpsolar 评论

本文所有代码基于CentOS 6.4操作系统为例进行说明,于6.x版本应该都是适用的,其他版本的话主要是命令的路径不同,思路是一致的。本文也可以称为:CentOS操作系统全设置与优化。安装好CentOS系统后,建议不要急着去做这些安装设置和优化,因为过早操作,会

本文所有代码基于CentOS 6.4操作系统为例进行说明,于6.x版本应该都是适用的,其他版本的话主要是命令的路径不同,思路是一致的。本文也可以称为:CentOS操作系统全设置与优化。安装好CentOS系统后,建议不要急着去做这些安装设置和优化,因为过早操作,会在Web环境搭建(特别是用主机控制面板的)过程当中因为早过禁止某些权限和程序而造成问题。所以这些安全设置和优化,建议最后才来操作。

Server

第一步、账户安全管理

1. 修改密码长度

[root@localhost /]# vi /etc/login.defs PASS_MIN_LEN 18

2. 创建一个普通用户账号并设置密码,这样所有的操作都使用该普通账号进行,后面还要禁止Root帐号的操作。

[root@localhost /]# useradd ru [root@localhost /]# passwd ru

上面的ru用你想创建的用户名替代

3. 禁用不必要的帐号

Linux默认提供了很多账号,账号越多,系统就越容易受到攻击,所以应该禁止所有默认的被操作系统本身启动的并且不必要的账号。 可以使用 vi /etc/passwd 查看系统账号,使用 vi /etc/group 查看系统的用户组。

[root@localhost /]# userdel adm [root@localhost /]# userdel lp [root@localhost /]# userdel sync [root@localhost /]# userdel shutdown [root@localhost /]# userdel halt [root@localhost /]# userdel news [root@localhost /]# userdel uucp [root@localhost /]# userdel operator [root@localhost /]# userdel games [root@localhost /]# userdel gopher [root@localhost /]# userdel ftp [root@localhost /]# groupdel adm [root@localhost /]# groupdel lp [root@localhost /]# groupdel news [root@localhost /]# groupdel uucp [root@localhost /]# groupdel games [root@localhost /]# groupdel dip [root@localhost /]# groupdel pppusers

以上代码一条一条输入运行既可。

5. 禁止非授权用户获得权限

[root@localhost /]# chattr +i /etc/passwd [root@localhost /]# chattr +i /etc/shadow [root@localhost /]# chattr +i /etc/group [root@localhost /]# chattr +i /etc/gshadow

这样操作之后也无法创建账号和修改密码,后面可以使用chattr -i命令恢复之后再进行操作。这也是为什么本人文章开始时建议大家搭建VPS时最后做这些优化了。

6. 禁止Ctrl+Alt+Delete重启命令

修改 /etc/inittab 文件,将下面一行注释掉

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

或者

[root@localhost ~]# vi /etc/init/control-alt-delete.conf #exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #注释掉

7. 设置/etc/profile

# 设置自动退出终端,防止非法关闭ssh客户端造成登录进程过多,可以设置大一些,单位为秒 [root@localhost /]# echo "TMOUT=3600" >>/etc/profile # 历史命令记录数量设置为10条 [root@localhost /]# sed -i "s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile [root@localhost /]# source /etc/profile

8. 重新设置 /etc/rc.d/init.d/ 目录下所有文件的许可权限

/etc/rc.d/init.d/ 目录下所有文件仅root账号可以读、写和执行其中的所有脚本文件:

[root@localhost /]# chmod -R 700 /etc/rc.d/init.d/* 第二步、SSH安全配置

SSH作为系统登录的入口,其安全性的重要性不言而喻。一般系统都会默认安装了SSH。如果没有安装SSH,使用yum install ssh命令进行安装。

接下来先备份原来的配置文件

[root@localhost /]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

然后修改 Vi /etc/ssh/sshd_config 文件:

#SSH的端口,默认为22,比喻改为5028端口 Port 5028 # 将#protocol 2,1改为 protocol 2 # 不允许root用户直接登录 PermitRootLogin no # 不允许空密码登录 PermitEmptyPasswords no # 不允许使用网址登录 UseDns no

然后使用 service sshd restart 重启SSH服务。

第三步、关闭系统中不需要的服务,删除不必要的软件包

1. 删除不必要的软件包

yum remove Deployment_Guide-en-US finger cups-libs cups ypbind yum remove bluez-libs desktop-file-utils ppp rp-pppoe wireless-tools irda-utils yum remove sendmail* samba* talk-server finger-server bind* xinetd yum remove nfs-utils nfs-utils-lib rdate fetchmail eject ksh mkbootdisk mtools yum remove syslinux tcsh startup-notification talk apmd rmt dump setserial portmap yp-tools yum groupremove "Mail Server" "Games and Entertainment" "X Window System" "X Software Development" yum groupremove "Development Libraries" "Dialup Networking Support" yum groupremove "Games and Entertainment" "Sound and Video" "Graphics" "Editors" yum groupremove "Text-based Internet" "GNOME Desktop Environment" "GNOME Software Development"

2. 关闭不必要的服务

命令:chkconfig 服务内容 off

输入以下命令,禁止相应服务:

#linux新型电源管理标准,建议笔记本使用 chkconfig acpid off #和 cron 相似的任务调度器,只不过它并不要求系统持续运行 chkconfig anacron off #运行用户用at命令调度的任务,需要用到at的得留着 chkconfig atd off #蓝牙的,没有就关了 chkconfig bluetooth off #不做打印服务器的就关了吧 chkconfig cups off #系统安装后第一次启动的配置工具 chkconfig firstboot off #蓝牙的输入支持 chkconfig hidd off #ipv6防火墙 chkconfig ip6tables off #内网的话就懒得配置防火墙了 chkconfig iptables off #新增硬件检测 chkconfig kudzu off #主要用于SELinux,不开SELinux的话就关了 chkconfig mcstrans off #IA32微码驱动程序 chkconfig microcode_ctl off #SELinux用于监控文件 chkconfig restorecond off #邮件程序,如果不是邮件服务器就关了 chkconfig sendmail off SELinux Troubleshooting chkconfig setroubleshoot off #禁止系统自动更新 chkconfig yum-updatesd off

然后重启服务器 reboot 开机就不会启动这些服务了

第四步、防止攻击

1. 阻止ping

将 /proc/sys/net/ipv4/icmp_echo_ignore_all 文件的内容修改为1,不过这样的话如果服务器重启之后就会恢复为0了。

可以将下面的内容加入到 /etc/rc.d/rc.local 文件中:

echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all

2. 防止IP欺骗攻击

编辑 /etc/host.conf 文件,在下面增加如下几行:

[root@localhost /]# vi /etc/host.conf order bind,hosts multi off nospoof on

3. 防止DoS攻击

基于CentOS系 统的VPS安全设置与优化

大发捕鱼_黑桃K平台:基于CentOS系 统的VPS安全设置与优化

喜欢 (0) or 分享 (0)
发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论