Linux-SSH被攻击-解决方案_ssh 被攻击-程序员宅基地

技术标签: fail2ban  k8s进阶  防火墙  从零开始学习Python  linux  ssh  ssh被攻击  

SSH端口暴露在公网上很可能被黑客扫描,并尝试登入系统。这种攻击基本每天都在发生。

  • 首先要检查SSH端口是否被攻击,主要检查检查失败登录。

一、检查攻击来源

btmp文件会记录SSH端口登录失败的信息,包括尝试的用户名、IP地址和时间等信息。

btmp为二进制文件,文件路径为/var/log/btmp。

  1. 查看文件btmp

使用命令lastb可以查看文件btmp的信息,参数-n可以指定显示数量。

lastb -n 10 | tac
  1. 查看攻击者IP及攻击次数
lastb | awk '{ print $3}' | sort | uniq -c | sort -n
  1. 查看攻击者尝试的用户名
lastb | awk '{ print $1}' | sort | uniq -c | sort -n
  1. 分析攻击者

对攻击次数第一的IP进行分析。

# 查看攻击开始时间

lastb | grep 137.184.155.125

# 查看攻击终止时间

lastb | grep 137.184.155.125 | tac

# 查看IP地理位置

curl ipinfo.io/137.184.155.125

二、防范措施

  1. 修改SSH端口

修改SSH端口可以避免广撒网式的端口扫描及后续的攻击。

# 打开文件sshd_config

vim /etc/ssh/sshd_config

# 修改参数Port

# 修改前:

#port 22

# 修改后:

port 8500

# 重启SSH守护程序

systemctl restart sshd
  1. 设置复杂密码

设置密码为字母+数字+符号组合,提升暴力破解难度。

  1. 使用私钥登录
  2. Fail2ban+firewallcmd-ipset
    个人比较推荐第四种方式,这种方式也是成本较低的抵御服务器入侵的方式,针对大量攻击行之有效。

三、Fail2ban+firewallcmd-ipset

Fail2ban是一个用于自动封禁恶意访问者的工具,而firewallcmd-ipset则是与firewalld集成的工具,用于管理IP集合和规则。下面是将Fail2ban与firewallcmd-ipset结合使用的具体步骤:

安装Fail2ban:

首先,确保你的系统中安装了Fail2ban。如果没有安装,你可以使用包管理器进行安装。例如,在基于RPM的系统(如Fedora或CentOS)上,可以使用sudo yum install fail2ban命令进行安装。

安装firewalld:

如果你的系统还没有安装firewalld,你需要先安装它。在基于RPM的系统上,可以使用sudo yum install firewalld命令进行安装。

配置Fail2ban:

Fail2ban的配置文件位于/etc/fail2ban/目录下。你可以复制默认的jail.conf文件并命名为jail.local,以便进行自定义配置。


    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

   # 接下来,编辑jail.local文件,并添加或修改以下参数:

    [DEFAULT]  
    ignoreip = 127.0.0.1/8  
    bantime = 86400  
    findtime = 600  
    maxretry = 5  
    banaction = firewallcmd-ipset  
    action = %(action_mwl)s

其中,ignoreip参数用于指定不受Fail2ban监控的IP地址或地址段。bantime参数定义了IP被禁止的时长,单位是秒。findtime定义了查找失败登录尝试的时间范围。maxretry定义了在此时间范围内允许的失败尝试次数。banaction定义了执行封禁操作的命令,这里使用的是firewallcmd-ipset。

配置firewalld以使用fail2ban:

为了让firewalld能够与Fail2ban协同工作,你需要配置firewalld来加载Fail2ban创建的IP集合。编辑/etc/firewalld/firewalld.conf文件,并添加或修改以下行:

rich_rules_file="/etc/firewalld/rich-rules.conf"

# 这将告诉firewalld加载/etc/firewalld/rich-rules.conf文件中的规则。

# 重启服务:
# 完成上述配置后,重启Fail2ban和firewalld服务,以使更改生效。
sudo systemctl restart fail2ban  
sudo systemctl restart firewalld

测试配置:

最后,你可以尝试触发Fail2ban的封禁机制,以测试配置是否生效。例如,如果你配置Fail2ban监控SSH登录失败尝试,你可以尝试多次使用错误的凭据登录SSH。如果配置正确,你应该会在指定的bantime后被禁止登录。

如果你熟悉1Panel或者宝塔等面板,配置起来会更加快捷,这里提供的解决方案仅供参考,希望对你有用!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31810357/article/details/136138878

智能推荐

Spring Cache_sync=true-程序员宅基地

文章浏览阅读1.8w次,点赞30次,收藏69次。为什么使用缓存前几天我在文章《我是如何把一个15分钟的程序优化到了10秒的》中,提到了一些在代码层面优化性能的方法。其中第一个就是使用缓存。使用缓存是一个很“高性价比”的性能优化方式,尤其是对于有大量重复查询的程序来说。通常来说,在WEB后端应用程序来说,耗时比较大的往往有两个地方:一个是查数据库,一个是调用其它服务的API(因为其它服务最终也要去做查数据库等耗时操作)。重复查询也有两种。一种是我们在应用程序中代码写得不好,写的for循环,可能每次循环都用重复的参数去查询了。这种情况,比较聪明一_sync=true

一看就会的nestjs解决跨域-程序员宅基地

文章浏览阅读2.9k次,点赞7次,收藏10次。nestjs解决跨域

数据中台:建立在数据网络效应之上的赛道_横向竞争-程序员宅基地

文章浏览阅读357次。好文8145字 约15分钟阅读过去两年,数据中台的概念在中国遍地开花,这个源自于阿里巴巴数据实践的名词,借助数字化转型的东风迅速成为了企业CTO谈论的中心,迅速发展成为一个至少千亿级别的赛道。2019年,也被称为数据中台元年。为什么阿里巴巴能成为现在普遍认同的技术领先公司,持续推进数据的大规模运用是其中最重要的因素之一,这套数据方法论最终沉淀下来成为了今天我们所认知的数据中台。数据中台之所以区别于此前的大数据平台和数据湖,来源于其融合了两大属性:技术属性和业务属性。如果说过去所有的I..._横向竞争

自动化测试集成交付中用了哪些Jenkins插件?-程序员宅基地

文章浏览阅读119次。今年因工作因素,需要重构整体的自动化测试持续集成交付方案,针对缺乏专门的测试开发人员以及自动化测试人员,在技术选型上采用了业界著名的开源工具。今天主要分享下jenkins相关的自动化测试集..._接口自动化和ui自动化都要下什么jenkins插件

C++转MATLAB实现(可用OpenCV库)_c语言做的系统迁移到matlap-程序员宅基地

文章浏览阅读7.9k次,点赞12次,收藏50次。Matlab与C++混合编程(依赖OpenCV)[email protected]://blog.csdn.net/zouxy09 之前在运行别人论文的代码的时候,经常有遇到Matlab与C++混合编程的影子。实际上就是通过Matlab的Mex工具将C++的代码编译成Matlab支持调用的可执行文件和函数接口。这样一方面可以在Matlab中利用已经编写好的函数,尽管..._c语言做的系统迁移到matlap

随便推点

表单标签<input>的介绍_input标签-程序员宅基地

文章浏览阅读3.1w次,点赞56次,收藏398次。表单标签的介绍_input标签

解决Cannot load php7apache2_4.dll into server导致无法启动Apache-程序员宅基地

文章浏览阅读8.2k次,点赞6次,收藏9次。萌新在面对服务端开发使用PHP搭配Apache时会遇见Cannot load php7apache2_4.dll into server 例如01 最最最主要的问题Apache与PHP版本不一致cd 进入Apache的bin目录使用命令httpd -version来查看Apache的版本, 例如我的版本显示的是Win32 此时就要去PHP官网下载对应的32位版..._cannot load php7apache2_4

大数据各岗位薪资多少?一张图告诉你答案_云计算工资水平折现图-程序员宅基地

文章浏览阅读2.5k次。目前,借由大数据时代的高速发展,它的岗位需求开始迅速扩张,从而给想从事大数据行业的人带来了大量的发展机会,同时也为大家提供了大量的职业发展通道。那么,在这个高速运转的时代,面对如此众多的大数据就业岗位的时候,我们应该去选择什么样的职业发展方向并努力的去学习相应技能从而达到企业要求呢?根据我们行业内各大权威的机构预测,在2020年期间,大数据行业在大数据相关岗位需求中不断激增,这其中Java大数据工程师的缺口大约会在14万到19万人之间,对于懂得如何利用大数据做决策的分析师和经理的岗位缺口则将达到150万_云计算工资水平折现图

大数据法律监督模型优势特色及应用场景_大数据监管算法模型-程序员宅基地

文章浏览阅读1.4k次。大数据法律监督平台是基于监督数据整合管理平台、监督模型构建平台、内置模型库以及法律监督线索管理平台打造的一套服务于检察机关法律监督工作的专业化系统。_大数据监管算法模型

29-Nor Flash电路设计-程序员宅基地

文章浏览阅读1.2k次,点赞11次,收藏32次。nor flash硬件电路设计_nor flash电路设计

基于Springboot高校校园教室预约系统设计与实现_大学校园教室预约系统-程序员宅基地

文章浏览阅读1.9k次,点赞6次,收藏2次。《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,程序员宅基地专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,免费项目配有对应开发文档、开题报告、任务书、PPT、论文模版等项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行!!!_大学校园教室预约系统

推荐文章

热门文章

相关标签