首页 > Linux > CentOS7安装firewalld并替换SSH默认的22端口
2019
07-30

CentOS7安装firewalld并替换SSH默认的22端口

SSH登录验证成功后,您将看到以下消息:

Last login: Mon Jul 29 23:08:52 2019 from xxx.xxx.xxx.xxx.
Last failed login: Sun Jul 21 22:02:31 2019 from xxx.xxx.xxx.xxx on ssh:notty 
There were 15922 failed login attempts since the last successful login.

服务器的默认SSH端口是22,有许多人会尝试暴力破解我们的SSH密码,所以我们有必要更改默认的SSH端口。

一、添加SSH端口(以2019端口为例)

1.修改etc/ssh/sshd_config文件1.修改etc/ssh/sshd_config文件

vim /etc/ssh/sshd_config

在Port 22后增加一行

Port 2019

若Port 22 前有#号,则删去该#号以防止悲剧发生(翻车)。敲esc后输入:wq敲回车保存退出。

2.安装semanage

在上面的文件中,我们可以看到这样的注释:

# If you want to change the port on a SELinux system, system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

所以我们需要告诉SELinux对端口进行的修改

yum provides semanage
yum install policycoreutils-python

添加2019端口

semanage port -a -t ssh_port_t -p tcp 2019

检查是否添加成功

semanage port -l | grep ssh

返回值包含2019说明添加成功

3.配置FirewallD火墙

检查firewalld状态

firewall-cmd --state

已启用返回值为running,若未安装该命令则输入以下命令安装

yum install firewalld

启动服务

systemctl start firewalld.service

添加开机自动启动

systemctl enable firewalld.service

4.查看防火墙默认活动区域

firewall-cmd --get-default-zone

返回值应包含public

5. 永久开放2019端口

firewall-cmd --permanent --zone=public --add-port=2019/tcp

防止翻车,22端口一同开放

firewall-cmd --permanent --zone=public --add-port=22/tcp

防火墙重载

firewall-cmd --reload

查看已暴露端口

firewall-cmd --permanent --list-port
firewall-cmd --zone=public --list-all

返回值均应包含2019和22端口

6.重启SSH

systemctl restart sshd.service

然后使用SSH工具用2019端口连接,查看2019端口是否可以连接成功

二、关闭22端口

1.删除SSH运行端口

vim /etc/ssh/sshd_config

在Port 22前加一个#号后保存退出

2.在防火墙中将22端口移除

firewall-cmd --permanent --zone=public --remove-port=22/tcp

重载防火墙查看是否移除

firewall-cmd --reload
firewall-cmd --permanent --list-port

返回值没有22,则说明删除成功

三、重启服务器

reboot

尝试使用22端口登录,已无法连接则大功告成!

参考内容:
Centos7.X下修改SSH默认22端口
CentOS 7 中firewall-cmd命令
最后编辑:
作者:lwg0452
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。