Linux怎么防止暴力破解SSH_Linux下Fail2ban安装与安全防护【指南】

大芳酱_3404

大芳酱_3404

2025-12-30

967人浏览

原创

应部署Fail2ban监控日志并封禁IP、启用SSH密钥认证禁用密码登录、配置UFW限制访问源、修改SSH端口及隐藏版本信息。

linux怎么防止暴力破解ssh_linux下fail2ban安装与安全防护【指南】

如果您发现Linux服务器的SSH服务频繁遭受密码猜测攻击,则可能是由于缺乏有效的登录失败防护机制。以下是防止暴力破解SSH的具体操作步骤:

一、安装Fail2ban服务

Fail2ban是一款开源入侵防御工具,通过监控系统日志识别异常登录尝试,并自动将可疑IP加入防火墙黑名单。它依赖Python运行环境,需先确认基础依赖已就绪。

1、更新系统软件包索引:sudo apt update(Debian/Ubuntu)或 sudo yum update(CentOS 7)或 sudo dnf update(CentOS 8/RHEL 8+)。

2、安装Fail2ban主程序:sudo apt install fail2ban(Debian/Ubuntu)或 sudo yum install epel-release && sudo yum install fail2ban(CentOS 7)或 sudo dnf install fail2ban(CentOS 8/RHEL 8+)。

3、启用并启动服务:sudo systemctl enable fail2ban && sudo systemctl start fail2ban。

二、配置SSH防护规则

默认配置文件位于/etc/fail2ban/jail.conf,但直接修改该文件易在升级时被覆盖,应使用jail.local进行覆盖式配置。

1、复制默认配置生成本地配置:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local。

2、编辑本地配置文件:sudo nano /etc/fail2ban/jail.local。

3、在[sshd]节中取消注释并设置以下参数:enabled = true、maxretry = 3、bantime = 3600、findtime = 600。

4、保存退出后重启服务:sudo systemctl restart fail2ban。

三、启用SSH密钥认证并禁用密码登录

密钥认证可彻底规避密码暴力破解风险,其安全性远高于口令验证,且无需依赖第三方工具即可生效。

1、在客户端生成RSA密钥对:ssh-keygen -t rsa -b 4096,按提示保存至默认路径。

2、将公钥上传至服务器:ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip。

3、登录服务器后编辑SSH配置:sudo nano /etc/ssh/sshd_config。

4、修改以下两行:PasswordAuthentication no、PubkeyAuthentication yes。

Seasonal Keyword Planner
Seasonal Keyword Planner

将电商关键词映射到12个月需求曲线,生成逐月的listing、广告和内容发布时间表。

下载

5、重载SSH服务:sudo systemctl reload sshd(Ubuntu/Debian)或 sudo systemctl reload sshd(RHEL/CentOS)。

四、配置UFW防火墙限制SSH访问源

通过主机级防火墙限制允许连接SSH的IP范围,可大幅降低暴露面,尤其适用于固定办公网络或运维终端有静态IP的场景。

1、启用UFW防火墙:sudo ufw enable。

2、默认拒绝所有入站连接:sudo ufw default deny incoming。

3、仅放行指定IP段的SSH端口:sudo ufw allow from 192.168.1.0/24 to any port 22(替换为实际管理网段)。

4、若需保留本地回环访问,添加:sudo ufw allow from 127.0.0.1 to any port 22。

5、查看规则状态:sudo ufw status verbose。

五、修改SSH默认端口并隐藏版本信息

更改SSH监听端口可过滤掉大量自动化扫描流量;隐藏SSH服务版本号则减少攻击者对服务漏洞的精准识别能力。

1、编辑SSH主配置文件:sudo nano /etc/ssh/sshd_config。

2、修改端口号(例如改为2222):Port 2222。

3、关闭版本信息泄露:DebianBanner no。

4、保存后检查配置语法:sudo sshd -t。

5、重载SSH服务:sudo systemctl reload sshd。

6、同步更新UFW规则:sudo ufw allow 2222/tcp,并删除旧端口规则:sudo ufw delete allow 22。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

2023.11.13

3331

4

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.29

1005

3

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4370

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3673

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2933

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7250

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6882

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3933

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习