在Linux系统中,22端口是默认的SSH服务端口。SSH服务允许远程用户安全地登录到服务器进行管理。然而,如果不小心或配置不当,可能会造成不必要的SSH连接,这不仅浪费资源,还可能带来安全隐患。本文将详细讲解如何在CentOS系统上终止不必要的SSH连接。
1. 使用
iptables
或
firewalld
阻止SSH连接
1.1 使用
iptables
iptables
是Linux系统中的一个强大工具,用于配置防火墙规则。以下命令将阻止所有进入22端口的SSH连接:
iptables -A INPUT -p tcp –dport 22 -j DROP
这条规则表示阻止所有进入22端口的TCP连接。
1.2 使用
firewalld
firewalld
是CentOS 7及以后版本推荐的防火墙管理工具。以下命令将阻止所有进入22端口的SSH连接:
firewall-cmd –zone=public –add-port=22/tcp –permanent –reject
这条命令会永久添加一个规则,拒绝所有进入22端口的SSH连接。
2. 修改SSH配置
修改SSH配置可以减少不必要的SSH连接。以下是一些常用的SSH配置选项:
2.1 修改
/etc/ssh/sshd_config
文件
限制登录用户
:在
sshd_config
文件中,找到
PermitRootLogin
选项,将其值改为
no
,这样就可以阻止root用户登录,降低安全风险。
PermitRootLogin no
限制登录IP地址
:在
sshd_config
文件中,找到
AllowUsers
或
DenyUsers
选项,根据需要添加或修改用户名单。
AllowUsers user1 user2
禁止密码登录
:在
sshd_config
文件中,找到
PasswordAuthentication
选项,将其值改为
no
。
PasswordAuthentication no
使用公钥登录
:在
sshd_config
文件中,找到
UsePAM
选项,将其值改为
yes
。
UsePAM yes
限制登录尝试次数
:在
/etc/pam.d/sshd
文件中,找到
account
模块,添加以下行:
account required pam_fail2ban.so
2.2 重启SSH服务
修改完SSH配置后,需要重启SSH服务以应用更改:
systemctl restart sshd
3. 使用
fail2ban
防止暴力破解
fail2ban
是一个开源工具,可以监控SSH登录尝试次数,并在发现异常时自动采取措施。以下是如何在CentOS上安装和配置
fail2ban
:
3.1 安装
fail2ban
sudo yum install fail2ban
3.2 创建SSH日志文件监控
编辑
/etc/fail2ban/jail.local
文件,添加以下行:
enabled = true
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
这些配置表示监控SSH登录尝试次数,当失败次数达到5次时,将封禁1小时。
3.3 启动
fail2ban
systemctl start fail2ban
systemctl enable fail2ban
总结
通过以上方法,您可以有效地终止不必要的SSH连接,提高CentOS系统的安全性。请注意,修改SSH配置时,需要谨慎操作,确保不会影响正常的使用。