CentOS7修改SSH默认22端口教程

Linux默认的SSH端口为22端口,如果默认情况下22端口暴露在网络上,每天被扫描的次数,是很多的,虽然不一定100%会被破解,但是安全性很低,因为建议修改默认22端口为别的端口。

ssh

0x00 关于默认22端口

Linux默认情况下22端口为SSH链接端口,因为对于黑客扫描来说,基本都是针对22端口。在CentOS7与之前的发行版修改默认SSH端口有区别,所以在此只针对CentOS7。

至于22端口暴露在网络上,每天被扫描多少次呢?看下日志你就知道了有多恐怖了。

#查看SSH尝试登陆记录

cat /var/log/auth.log

cat-auth-log(点击放大)

读取日志,你会发现,可能一分钟过去了你的日志都还没有被cat完毕。可以看见日志记录中,很多来自不同IP的尝试登陆记录,所以一定要修改默认的22端口为别的端口,从而可以提供安全性。

至于修改22端口呢,为了保险起见,我建议先新增一个SSH端口,在尝试登陆没有问题后,在禁用22端口,从而达到修改22端口的目的。防止操作失误,导致修改后的端口和22端口都无法登陆,而造成尴尬的场景。

0x01 新增sshd监听端口

1.增加一个sshd端口,列入我修改为320号端口。

vim /etc/ssh/sshd_config

2.搜索定位到#port 22位置处。

sshd-config(点击放大)

去了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-start-reload(点击放大)

启动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

netstat-tuplen-22(点击放大)

至此,已经为CentOS7修改了默认的ssh端口了。

发表评论