WenRou's Blog
centos系统安全方面设置
2013-9-27 温柔哥


前几天VPS曾重装了一次,因为在照着网上的教程进行一些安全方面的设置时,把root的远程登录ssh的权限给关了,没有再建立一个普通用户(教程里没提到这个)就reboot了,之后果断悲剧了,无法远程登陆SSH了。这不,把我吓得不敢再弄了,于是咨询了几位正在用VPS的朋友,最终确定了如下的安全设置方案:



1.修改SSH端口号,这个很有必要,把默认端口号22改成其他的之后,一些专门扫描22端口的黑客软件可以拒之门外了。



操作方法:vi /etc/ssh/sshd_config

找到#port 22

将前面的#去掉,然后修改端口 port 123 (123可以根据个人情况自定义)



2、禁用root登录



注意,采用此方法前必须要先建立好一个普通用户:

操作方法:useradd abc

passwd abc



然后在/etc/ssh/sshd_config这个文件里设置是否禁用root登录,这个看个人需要了,我暂时没弄。



操作方法:找到其中的PermitRootLogin yes 将其修改为 PermitRootLogin no(如果PermitRootLogin前面有#的话也要删除掉)



以后用普通用户登陆后,如果需要root权限就采用  su root 命令即可。



完成以上两步之后重启sshd服务:service sshd restart



3.简单配置一下防火墙规则



1)安装iptables防火墙:yum install iptables



2)清除已有iptables规则



iptables -F

iptables -X

iptables -Z



3)设置防火墙规则



#允许本地回环接口(即运行本机访问本机):iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT



# 允许已建立的或相关连的通行:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



#允许所有本机向外的访问 :iptables -A OUTPUT -j ACCEPT



# 允许访问22端口(ssh远程连接端口,如果已修改为其他端口,此处要注意填写新的端口),80端口(开网页用的),20,21端口(ftp用的)



iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -p tcp --dport 20 -j ACCEPT



#如果需要远程连接数据库,还需要开启3306端口,设置方法同上。



#禁止其他未允许的规则访问



iptables -A INPUT -j REJECT  (注意:如果22端口或者更已经更改的ssh端口未加入允许规则,SSH链接会直接断开。)

iptables -A FORWARD -j REJECT



完成这步之后,发现无法ping了,还需要添加如下命令:



执行:iptables -L -n --line-numbers



将INPUT里面的reject-with icmp-port-unreachable那一条删除

如果要删除的INPUT里面的reject-with icmp-port-unreachable这条规则的序号为8,则执行:iptables -D INPUT 8



4)查看已添加的iptables规则



iptables -L -n



5)iptables的开机启动及规则保存



chkconfig --level 345 iptables on



将其加入开机启动:service iptables save保存规则。



到此,关于VPS安全方面的折腾算是告一段落了。



发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容