使用 SSH 蜜罐提升安全性和记录攻击活动

文章目录

  • 使用 SSH 蜜罐提升安全性和记录攻击活动
  • 前言
  • 整体逻辑讲解
  • 安全最佳实践
  • 蜜罐的类型与选择
  • 数据分析与响应
  • 进一步学习资源
  • 修改 SSH 服务端口
  • 部署 FakeSSH
    • FakeSSH 简介
    • 部署步骤
    • 记录攻击
  • 部署 SSHSame
    • SSHSame 简介
    • 部署步骤
    • 观察攻击行为
  • 总结


使用 SSH 蜜罐提升安全性和记录攻击活动

前言

在当今的网络环境中,服务器的安全性越来越受到重视。近期,我在旧服务器上发现 SSL 证书过期的问题,决定采用 SWAG 方案进行部署。但在加固安全时,我意识到 SSH 部分存在疏忽。因此,我决定部署 SSH 蜜罐,不仅增强安全性,还可以记录攻击者的行为,探索网络安全的乐趣。

整体逻辑讲解

在信息安全领域,攻击者通常会利用常见的安全漏洞进行攻击。SSH 服务作为远程访问服务器的主要方式之一,常常成为攻击者的目标。通过部署 SSH 蜜罐,我们可以实现以下几个目标:

  1. 增强安全性:通过修改默认端口和部署蜜罐,可以有效降低被攻击的概率。即使攻击者尝试访问,也只能与蜜罐互动,而不是进入真实的系统。

  2. 记录攻击活动:蜜罐可以记录攻击者的所有尝试,包括用户名、密码和连接行为。这些数据可以帮助我们了解攻击者的策略和工具,从而为后续的安全防护提供依据。

  3. 进行安全研究:通过分析蜜罐记录的数据,我们可以识别常见的攻击模式和手法,为系统的加固和安全策略的制定提供参考。

通过这些步骤,我们不仅能保护我们的服务器,还能通过对攻击活动的观察和分析,提升整体的安全意识。

安全最佳实践

在部署蜜罐的同时,我们还应该遵循一些基础的安全最佳实践,以确保服务器的整体安全性:

  1. 定期更新系统和软件:保持系统和软件的最新状态,及时修复已知的安全漏洞。

  2. 使用强密码和双因素认证:确保所有账户使用强密码,并启用双因素认证,以增加安全性。

  3. 启用防火墙:配置防火墙以限制不必要的端口和服务,仅允许可信的 IP 地址访问 SSH 服务。

  4. 监控和审计:定期监控系统日志,审计用户活动,确保及时发现异常行为。

蜜罐的类型与选择

蜜罐通常分为两种类型:

  1. 低交互蜜罐:这类蜜罐允许攻击者进行一些基本的交互,但不提供完整的系统访问。适合快速收集数据,例如 FakeSSH。

  2. 高交互蜜罐:这类蜜罐提供与真实系统相似的交互体验,可以更深入地研究攻击者的行为,但配置和维护成本较高。

选择合适的蜜罐类型应根据自身需求、可用资源和预期目标来决定。

数据分析与响应

在部署蜜罐后,收集到的攻击数据需要进行分析和响应。以下是一些建议:

  1. 数据分析:定期检查蜜罐日志,识别攻击模式和常用的攻击手法,记录下常见的用户名和密码组合。

  2. 响应措施:当发现可疑活动时,及时采取响应措施,例如阻止攻击者的 IP 地址、加强安全配置,并通知相关人员。

  3. 反馈改进:根据分析结果,优化服务器配置和安全策略,持续提升防护能力。

进一步学习资源

想要深入了解蜜罐和网络安全的相关知识,以下资源可能会对你有帮助:

  • 《The Art of Deception》 by Kevin Mitnick:深入探讨社会工程学和安全策略。
  • OWASP (Open Web Application Security Project):提供大量安全资源和工具,适合开发者和安全研究人员。
  • 网络安全课程:如 Coursera、edX 等平台上提供的网络安全课程,涵盖从基础到高级的各种主题。

修改 SSH 服务端口

首先,默认的 SSH 端口是 22,为了确保安全,我们需要将其修改为其他端口,并将 22 留给蜜罐使用。以下是步骤:

  1. 编辑 SSH 配置文件:

    sudo nano /etc/ssh/sshd_config
    
  2. 找到以下行:

    #Port 22
    

    去掉注释并修改为新的端口号,例如 2222:

    Port 2222
    
  3. 重启 SSH 服务:

    sudo systemctl restart ssh
    

注意:在修改端口之前,请确保你有其他方式连接到服务器,以防新配置出现问题。

部署 FakeSSH

FakeSSH 简介

FakeSSH 是一个基于 Docker 的 SSH 蜜罐,使用 Go 语言编写。它的主要功能是记录登录尝试,所有密码认证都会失败,确保不会给攻击者提供终端访问权限。通过收集的密码字典,可以进一步分析攻击者的行为。

部署步骤

  1. 创建 Docker Compose 文件 docker-compose.yml

    version: '3'
    services:fakessh:container_name: fakesshimage: fffaraz/fakesshrestart: alwaysports:- 22:22command: /logvolumes:- ./volumes/fakessh:/log
    
  2. 启动服务:

    docker-compose up -d
    

记录攻击

部署后,如果有人尝试暴力破解,所有的尝试都会被记录,生成的日志将为后续的安全分析提供数据支持。

部署 SSHSame

SSHSame 简介

SSHSame 是一个简单易用的 SSH 蜜罐,允许任何人连接,同时记录他们的活动。该蜜罐不执行任何操作,确保系统的安全。通过记录连接和活动,SSHSame 为安全研究人员提供了很好的工具,帮助他们理解 SSH 攻击的行为。

部署步骤

  1. 创建 Docker Compose 文件 docker-compose.yml

    version: '3'
    services:sshesame:image: ghcr.io/jaksi/sshesamerestart: alwaysports:- "2022:2022"volumes:- ./sshesame-data:/data
    
  2. 启动服务:

    docker-compose up -d
    

观察攻击行为

使用 SSHSame 后,你可以尝试任意用户名和密码进行登录,但系统不会执行任何命令,所有操作都会记录在日志中。这些记录可以帮助你了解攻击者的常用策略,从而优化安全措施。

总结

部署 SSH 蜜罐是提升服务器安全性的一种有效方法,不仅能防止攻击,还能帮助我们更深入地了解攻击者的行为。通过 FakeSSH 和 SSHSame 的结合使用,我们可以收集大量有价值的数据,为未来的安全防护提供参考。整体上,通过监控和记录攻击活动,我们不仅在保护自己,也为整个安全生态系统贡献了一份力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464475.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HTML】——VSCode 基本使用入门和常见操作

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 零:HTML开发工具VSCode的使用 1:创建项目 2:创建格式模板&#x…

【C/C++】【三种方法】模拟实现strlen

学习目标: 使用代码模拟实现strlen。 逻辑: strlen 需要输入一个字符串数组类型的变量,并且返回一个整型类型的数据。strlen 需要计算字符串数组有多少个元素。 代码1:使用计数器 #define _CRT_SECURE_NO_WARNINGS 1 #include&…

【双指针】【数之和】 LeetCode 633.平方数之和

算法思想&#xff1a; 双指针枚举i,j&#xff1b;类似三数之和 class Solution { public:bool judgeSquareSum(int c) {long long sum0;vector<int> dp;dp.push_back(0);long long start1;while(sum < c){sum start *start;if(sum>c) break;else dp.push_back(…

HarmonyOS Next星河版笔记--界面开发(3)

属性 1.1.设计资源-svg图标 需求&#xff1a;界面中展示图标→可以使用的svg图标(任意放大缩小不失真、可以改变颜色) 使用方式&#xff1a; ①设计师提供&#xff1a;基于项目的图标&#xff0c;拷贝到项目目录使用 Image($r(app.media.ic_dianpu)) .width(40) fillColor…

解决方案 | 部署更快,自动化程度高!TOSUN同星线控底盘解决方案

Tosun——线控底盘解决方案 在汽车智能化和电动化进程中&#xff0c;智能线控底盘相关的核心技术和产品成为了新能源汽车及智能驾驶产业的重点发展方向。同星智能作为行业先行者&#xff0c;精研汽车电子行业整体解决方案&#xff0c;提供基于TSMaster的底盘HIL仿真测试解决方…

分布式光伏管理办法

随着分布式光伏项目的不断增加&#xff0c;传统的管理方式已经难以满足高效、精准的管理需求。光伏业务管理系统作为一种集信息化、智能化于一体的管理工具&#xff0c;正在逐步成为分布式光伏项目管理的重要支撑。 光伏业务管理系统通过数字化手段实现对光伏业务全流程的精细化…

细腻的链接:C++ list 之美的解读

细腻的链接&#xff1a;C list 之美的解读 前言&#xff1a; 小编在前几日刚写过关于vector容器的内容&#xff0c;现在小编list容器也学了一大部分了&#xff0c;小编先提前说一下学这部分的感悟&#xff0c;这个部分是我学C以来第一次感到有难度的地方&#xff0c;特别是在…

文件操作案例

文件操作&#xff08;帮助小学生控诉妈妈&#xff09;:###无任何不良指导###

基于 RNN 的语言模型

基于 RNN 的语言模型 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一类网络连接中包含环路的 神经网络的总称。 给定一个序列&#xff0c;RNN 的环路用于将历史状态叠加到当前状态上。沿着时间维度&#xff0c;历史状态被循环累积&#xff0c;并作为…

嵌入式硬件工程师的职业发展规划

嵌入式硬件工程师可以按照以下阶段进行职业发展规划&#xff1a; 1. **初级阶段&#xff08;1-3 年&#xff09; ** - **技术学习与积累**&#xff1a; **电路基础强化**&#xff1a; 深入学习模拟电路和数字电路知识&#xff0c;能够熟练分析和设计基本的电路&#xff0c;…

C#:强大而优雅的编程语言

在当今的软件开发领域&#xff0c;C#作为一种广泛应用的编程语言&#xff0c;以其强大的功能、优雅的语法和丰富的生态系统&#xff0c;受到了众多开发者的喜爱。本文将深入探讨 C#的各个方面&#xff0c;展示它的魅力和优势。 一、C#的历史与发展 C#是由微软公司开发的一种面…

时间序列预测(十八)——实现配置管理和扩展命令行参数解析器

如图&#xff0c;这是一个main,py文件&#xff0c;在此代码中&#xff0c;最开始定义了许多模型参数&#xff0c;为了使项目更加灵活和可扩展&#xff0c;便于根据不同的需求调整参数和配置&#xff0c;可以根据实际需要扩展参数和配置项。 下面是如何实现配置管理和扩展命令行…

影刀RPA实战:嵌入python,如虎添翼

1. 影刀RPA与Python的关系 影刀RPA与Python的关系可以从以下几个方面来理解&#xff1a; 技术互补&#xff1a;影刀RPA是一种自动化工具&#xff0c;它允许用户通过图形化界面创建自动化流程&#xff0c;而Python是一种编程语言&#xff0c;常用于编写自动化脚本。影刀RPA可以…

GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)

前言 上个月的24年10.9日&#xff0c;我在朋友圈看到字节发了个机器人大模型GR2&#xff0c;立马去看了下其论文(当然了&#xff0c;本质是个技术报告) 那天之后&#xff0c;我就一直想解读这个GR2来着 然&#xff0c;意外来了&#xff0c;如此文《OmniH2O——通用灵巧且可全…

Hive自定义函数—剔除周日周六(小时级别)

&#x1f431;背景&#x1f34e; Hello&#xff0c;小伙伴们&#xff0c;许久不见&#xff0c;最近遇到一个需求场景&#xff0c;关于物流时差的计算&#xff0c;要求算出差值是小时&#xff0c;且要剔除周日周六&#xff0c;网上很多文章&#xff0c;最好的也就是按照天剔除周…

C++中的继承——第二篇

一、继承与友元 友元关系不能够继承&#xff08;就像父亲的朋友不一定是自己的朋友&#xff09; 具体实现起来就是父类的友元可以访问父类的成员&#xff0c;但是不可以访问子类的成员 二、继承与静态成员 子类的静态成员变量本质上与父类的是同一份&#xff0c;存储在静态…

02多线程基础知识

目录 1. 线程与进程 进程&#xff08;Process&#xff09; 线程&#xff08;Thread&#xff09; 2. 并发和并行 并发&#xff08;Concurrency&#xff09; 并行&#xff08;Parallelism&#xff09; 3. CPU 调度 定义 类型 调度算法 上下文切换 4.线程间的状态流转…

基于SpringBoot+Gpt个人健康管家管理系统【提供源码+答辩PPT+参考文档+项目部署】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

Kotlin by lazy和lateinit的使用及区别

在 Kotlin 中&#xff0c;lateinit 和 by lazy 都可以用来延迟初始化变量&#xff0c;但它们有不同的适用场景和使用方式。下面详细介绍它们的用法和区别。 1.lateinit lateinit 关键字用于延迟初始化 可变属性 (var)&#xff0c;主要用于那些在声明时不能立即初始化&#xf…

提高文本处理效率:精通awk命令中的$NF

在AWK编程语言中&#xff0c;$NF是一个特定的变量&#xff0c;用于引用当前处理记录中的最后一个字段值。这里的NF是AWK的一个内置变量&#xff0c;表示当前记录所含字段的数量。通过使用$NF&#xff0c;可以直接获取到与NF数值相对应的那个字段的具体内容。 示例使用 以下文件…