Linux默认的SSH端口为22端口,如果默认情况下22端口暴露在网络上,每天被扫描的次数,是很多的,虽然不一定100%会被破解,但是安全性很低,因为建议修改默认22端口为别的端口。
0x00 关于默认22端口
Linux默认情况下22端口为SSH链接端口,因为对于黑客扫描来说,基本都是针对22端口。在CentOS7与之前的发行版修改默认SSH端口有区别,所以在此只针对CentOS7。
至于22端口暴露在网络上,每天被扫描多少次呢?看下日志你就知道了有多恐怖了。
#查看SSH尝试登陆记录
cat /var/log/auth.log
读取日志,你会发现,可能一分钟过去了你的日志都还没有被cat完毕。可以看见日志记录中,很多来自不同IP的尝试登陆记录,所以一定要修改默认的22端口为别的端口,从而可以提供安全性。
至于修改22端口呢,为了保险起见,我建议先新增一个SSH端口,在尝试登陆没有问题后,在禁用22端口,从而达到修改22端口的目的。防止操作失误,导致修改后的端口和22端口都无法登陆,而造成尴尬的场景。
0x01 新增sshd监听端口
1.增加一个sshd端口,列入我修改为320号端口。
vim /etc/ssh/sshd_config
2.搜索定位到#port 22位置处。
去了Port 22的注释符号#,并且在下一行添加要监听的端口,如图。保存退出!!!
3.重启ssdh,让新增监听端口生效。
systemctl restart sshd
4.查看VPS的监听端口,是否有增加的320端口。
netstat -tuplen
0x02 新增防火墙服务器定义
从CentOS6到CentOS7,系统默认的防火墙服务从原有的iptables变为了firewalld。
1.首先启动firewalld服务。
systemctl enable firewalld
2.新增自定义firewalld服务。创建ssh-alt.xml。
vim /etc/firewalld/services/ssh-alt.xml
在创建的文件中添加以下内容:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH ALT</short>
<description>SSH new PORT</description>
<port protocol="tcp" port="320"/>
</service>
记得把端口号,修改为的目标端口号。
3.加载自定义的firewalld服务。
firewall-cmd –permanent –add-service=ssh-alt
firewall-cmd –reload
若在执行加载自定义服务时候,提示FirewallD is not running,请启用firewalld服务。
#启动firewalld服务
systemctl start firewalld
#检查firewalld服务状态
systemctl status firewalld
启动firewalld服务后,重新执行自定义的规则。
0x02 测试新端口是否生效
为了防止禁用22端口后,新端口没有生效,而导致我们无法登陆系统的情况,所以先测试一下,新建的监听端口是否生效。
可以使用putty等客户端进行连接测试,也可以使用Linux系统ssh连接。
ssh -p 320 root@xxx.xxx.xxx.xxx
在确认可以通过新建监听端口登陆系统后,可以准备禁用默认的22端口了。
0x03 禁用22端口
1.回到第一步中的文件,给22端口添加注释,禁用22端口。
vim /etc/ssh/sshd_config
即#Port 22
2.重启sshd服务。
systemctl restart sshd
3.去除firewalld中默认22端口的一些设置。
firewall-cmd –permanent –remove-service=ssh
firewall-cmd –reload
firewall-cmd –list-all
4.最后在检查下22端口是否被启用了呢!
netstat -tuplen
至此,已经为CentOS7修改了默认的ssh端口了。