前几天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安全方面的折腾算是告一段落了。
---
转载请注明本文标题和链接:《centos系统安全方面设置》
发表评论