使用 SSH 蜜罐提升安全性和记录攻击活动
文章目录
- 使用 SSH 蜜罐提升安全性和记录攻击活动
- 前言
- 整体逻辑讲解
- 安全最佳实践
- 蜜罐的类型与选择
- 数据分析与响应
- 进一步学习资源
- 修改 SSH 服务端口
- 部署 FakeSSH
- FakeSSH 简介
- 部署步骤
- 记录攻击
- 部署 SSHSame
- SSHSame 简介
- 部署步骤
- 观察攻击行为
- 总结
使用 SSH 蜜罐提升安全性和记录攻击活动
前言
在当今的网络环境中,服务器的安全性越来越受到重视。近期,我在旧服务器上发现 SSL 证书过期的问题,决定采用 SWAG 方案进行部署。但在加固安全时,我意识到 SSH 部分存在疏忽。因此,我决定部署 SSH 蜜罐,不仅增强安全性,还可以记录攻击者的行为,探索网络安全的乐趣。
整体逻辑讲解
在信息安全领域,攻击者通常会利用常见的安全漏洞进行攻击。SSH 服务作为远程访问服务器的主要方式之一,常常成为攻击者的目标。通过部署 SSH 蜜罐,我们可以实现以下几个目标:
-
增强安全性:通过修改默认端口和部署蜜罐,可以有效降低被攻击的概率。即使攻击者尝试访问,也只能与蜜罐互动,而不是进入真实的系统。
-
记录攻击活动:蜜罐可以记录攻击者的所有尝试,包括用户名、密码和连接行为。这些数据可以帮助我们了解攻击者的策略和工具,从而为后续的安全防护提供依据。
-
进行安全研究:通过分析蜜罐记录的数据,我们可以识别常见的攻击模式和手法,为系统的加固和安全策略的制定提供参考。
通过这些步骤,我们不仅能保护我们的服务器,还能通过对攻击活动的观察和分析,提升整体的安全意识。
安全最佳实践
在部署蜜罐的同时,我们还应该遵循一些基础的安全最佳实践,以确保服务器的整体安全性:
-
定期更新系统和软件:保持系统和软件的最新状态,及时修复已知的安全漏洞。
-
使用强密码和双因素认证:确保所有账户使用强密码,并启用双因素认证,以增加安全性。
-
启用防火墙:配置防火墙以限制不必要的端口和服务,仅允许可信的 IP 地址访问 SSH 服务。
-
监控和审计:定期监控系统日志,审计用户活动,确保及时发现异常行为。
蜜罐的类型与选择
蜜罐通常分为两种类型:
-
低交互蜜罐:这类蜜罐允许攻击者进行一些基本的交互,但不提供完整的系统访问。适合快速收集数据,例如 FakeSSH。
-
高交互蜜罐:这类蜜罐提供与真实系统相似的交互体验,可以更深入地研究攻击者的行为,但配置和维护成本较高。
选择合适的蜜罐类型应根据自身需求、可用资源和预期目标来决定。
数据分析与响应
在部署蜜罐后,收集到的攻击数据需要进行分析和响应。以下是一些建议:
-
数据分析:定期检查蜜罐日志,识别攻击模式和常用的攻击手法,记录下常见的用户名和密码组合。
-
响应措施:当发现可疑活动时,及时采取响应措施,例如阻止攻击者的 IP 地址、加强安全配置,并通知相关人员。
-
反馈改进:根据分析结果,优化服务器配置和安全策略,持续提升防护能力。
进一步学习资源
想要深入了解蜜罐和网络安全的相关知识,以下资源可能会对你有帮助:
- 《The Art of Deception》 by Kevin Mitnick:深入探讨社会工程学和安全策略。
- OWASP (Open Web Application Security Project):提供大量安全资源和工具,适合开发者和安全研究人员。
- 网络安全课程:如 Coursera、edX 等平台上提供的网络安全课程,涵盖从基础到高级的各种主题。
修改 SSH 服务端口
首先,默认的 SSH 端口是 22,为了确保安全,我们需要将其修改为其他端口,并将 22 留给蜜罐使用。以下是步骤:
-
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config -
找到以下行:
#Port 22去掉注释并修改为新的端口号,例如 2222:
Port 2222 -
重启 SSH 服务:
sudo systemctl restart ssh
注意:在修改端口之前,请确保你有其他方式连接到服务器,以防新配置出现问题。
部署 FakeSSH
FakeSSH 简介
FakeSSH 是一个基于 Docker 的 SSH 蜜罐,使用 Go 语言编写。它的主要功能是记录登录尝试,所有密码认证都会失败,确保不会给攻击者提供终端访问权限。通过收集的密码字典,可以进一步分析攻击者的行为。
部署步骤
-
创建 Docker Compose 文件
docker-compose.yml:version: '3' services:fakessh:container_name: fakesshimage: fffaraz/fakesshrestart: alwaysports:- 22:22command: /logvolumes:- ./volumes/fakessh:/log -
启动服务:
docker-compose up -d
记录攻击
部署后,如果有人尝试暴力破解,所有的尝试都会被记录,生成的日志将为后续的安全分析提供数据支持。
部署 SSHSame
SSHSame 简介
SSHSame 是一个简单易用的 SSH 蜜罐,允许任何人连接,同时记录他们的活动。该蜜罐不执行任何操作,确保系统的安全。通过记录连接和活动,SSHSame 为安全研究人员提供了很好的工具,帮助他们理解 SSH 攻击的行为。
部署步骤
-
创建 Docker Compose 文件
docker-compose.yml:version: '3' services:sshesame:image: ghcr.io/jaksi/sshesamerestart: alwaysports:- "2022:2022"volumes:- ./sshesame-data:/data -
启动服务:
docker-compose up -d
观察攻击行为
使用 SSHSame 后,你可以尝试任意用户名和密码进行登录,但系统不会执行任何命令,所有操作都会记录在日志中。这些记录可以帮助你了解攻击者的常用策略,从而优化安全措施。
总结
部署 SSH 蜜罐是提升服务器安全性的一种有效方法,不仅能防止攻击,还能帮助我们更深入地了解攻击者的行为。通过 FakeSSH 和 SSHSame 的结合使用,我们可以收集大量有价值的数据,为未来的安全防护提供参考。整体上,通过监控和记录攻击活动,我们不仅在保护自己,也为整个安全生态系统贡献了一份力量。
相关文章:
使用 SSH 蜜罐提升安全性和记录攻击活动
文章目录 使用 SSH 蜜罐提升安全性和记录攻击活动前言整体逻辑讲解安全最佳实践蜜罐的类型与选择数据分析与响应进一步学习资源修改 SSH 服务端口部署 FakeSSHFakeSSH 简介部署步骤记录攻击 部署 SSHSameSSHSame 简介部署步骤观察攻击行为 总结 使用 SSH 蜜罐提升安全性和记录攻…...
无人机拦截捕获/直接摧毁算法详解!
一、无人机拦截捕获算法 网捕技术 原理:抛撒特殊设计的网具,捕获并固定无人机。 特点: 适用于小型无人机。 对无人机的损害较小,基本不影响其后续使用。 捕获成功率较高,且成本相对较低。 应用实例:…...
后端eclipse——文字样式:UEditor富文本编辑器引入
目录 1.富文本编辑器的优点 2.文件的准备 3.文件的导入 导入到项目: 导入到html文件: 编辑 4.富文本编辑器的使用 1.富文本编辑器的优点 我们从前端写入数据库时,文字的样式具有局限性,不能存在换行,更改字体…...
thinkphp6 redis 哈希存储方式以及操作函数(笔记)
逻辑:如果redis里没有指定表数据就进行存储再输出,如果有就直接输出,代码优化后几万条数据从数据库入redis也是三四秒的时间,数据以json方式存储:key用于数据ID 跟数据库数据ID同步,value用于存储整个字段包…...
「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
本篇将带你实现一个滑动选择器应用,用户可以通过滑动条选择不同的数值,并实时查看选定的值和提示。这是一个学习如何使用 Slider 组件、状态管理和动态文本更新的良好实践。 关键词 UI互动应用Slider 组件状态管理动态数值更新用户交互 一、功能说明 在…...
【嵌入式】STM32中的SPI通信
SPI是由摩托罗拉公司开发的一种通用数据总线,其中由四根通信线,支持总线挂载多设备(一主多从),是一种同步全双工的协议。主要是实现主控芯片和外挂芯片之间的交流。这样可以使得STM32可以访问并控制各种外部芯片。本文…...
后端:Spring、Spring Boot-配置、定义bean
文章目录 1. 什么是Bean,如何配置2. 如何配置bean2.1 使用注解Bean2.2 使用注解Import 1. 什么是Bean,如何配置 被spring容器所管理的对象被称为bean,管理方式可以有纯xml文件方式、注解方式进行管理(比如注解Component)。 在Spring Boot中&…...
【Git】Git 远程仓库命令详解
目录 引言1. Git Fetch、Git Pull 和 Git Push 简介1.1 概念总结1.2 图示概念 2. 分支的概念2.1 分支定义2.2 分支的特点2.3 分支示例2.4 基本操作命令2.5 分支的使用场景 3. Git Fetch 用法3.1 基本命令3.2 获取特定分支3.3 查看更新内容3.4 使用示例3.5 适用场景 4. Git Pull…...
html简易流程图
效果图 使用htmlcssjs,无图片,没用Canvas demo: <!DOCTYPE html> <html> <head><link href"draw.css" rel"stylesheet" /><script src"draw.js" type"text/javascript"></…...
Java 入门
目录 Java简介 Java JDK开发环境配置 第一个Java程序 Java标识符与关键字 Java注释 Java常量 Java变量的定义和使用 Java简介 Java简介: Java是由Sun Microsystems公司于1995年推出的一门面向对象的高级程序设计语言,可以运行于多个平台,其…...
JVM基本结构和垃圾回收机制
一、JVM基本结构 Java虚拟机(JVM, Java Virtual Machine)是Java程序执行的环境,其基本结构可以分为以下几个主要部分: 类加载器子系统(Class Loader Subsystem): 负责加载Java类文件到内存中。…...
CentOS 7 安装 ntp,自动校准系统时间
1、安装 ntp yum install ntp 安装好后,ntp 会自动注册成为服务,服务名称为 ntpd 2、查看当前 ntpd 服务的状态 systemctl status ntpd 3、启动 ntpd 服务、查看 ntpd 服务的状态 systemctl start ntpdsystemctl status ntpd 4、设置 ntpd 服务开机启…...
Spring Boot 配置文件启动加载顺序
前言 Spring Boot的启动加载顺序是一个涉及多个步骤和组件的过程。Spring Boot通过一系列默认设置简化了应用程序的配置,使得开发者能够快速地搭建和部署应用。为了实现这一目标,Spring Boot采用了一种分层和优先级机制来加载配置文件。 一、Spring Bo…...
webrtc agc2实现原理
WebRTC的AGC2(自适应增益控制器)是一种用于音频处理的算法,可以根据输入信号的强度自动调整增益,使输出信号的音量保持稳定。其详细原理如下: 噪声估计 首先,AGC2需要对输入信号中的噪声进行估计ÿ…...
2024.11.03 周报
一 实时超分音频同步问题: 处理方向: 按照胡学长的办法尝试: 前面处理视频, 将视频中音频提取出来, 将音频每隔 1-2 秒保存为一段 (这样将音频缓存在内存中) , 然后依次播放, 但是音频是44.1KHz采样率,每秒44100次的频率. 每次间隔中程序处理的极短时间…...
Oceanbase学习之一迁移mysql数据到oceanbase
一、数据库环境 #mysql环境 root192.168.150.162 20:28: [(none)]> select version(); ---------- | version() | ---------- | 8.0.26 | ---------- 1 row in set (0.00 sec) root192.168.150.162 20:28: [(none)]> show variables like ‘%char%’; ---…...
Milvus - GPU 索引类型及其应用场景
1. 背景概述 Milvus 是一款高效的矢量数据库管理系统,支持在高并发和高调用场景下加速相似度搜索。Milvus 的 GPU 支持由 NvidiaRAPIDS 团队提供,可以借助各种 GPU 索引类型来优化性能。本篇将重点解析 Milvus 支持的 GPU 索引类型、适用场景及各自的性…...
Webserver(2.8)守护进程
目录 守护进程案例 守护进程案例 每隔2s获取系统时间,将这个时间写入到磁盘文件中 #include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<unistd.h> #include<fcntl.h> #include<sys/time.h> #include<…...
HarmonyOS :
HarmonyOS 移动应用开发 什么是HarmonyOS?: 官方解释:HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。 鸿蒙操作系统在传统的单设备系统能力的基础上,提出了基于同一套系统能力、适配多种终端形态的分布式理念&#…...
C# EF 使用
WPF EF MySQL - - -版本.NET Framework4.7.2EntityFramework6.5.1MySql.Data.EntityFramework9.1.0 创建数据库 ccApp.config <connectionStrings><add name"MyDbContext" providerName"MySql.Data.MySqlClient" connectionString"server…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
