当前位置: 首页 > backend >正文

蜜罐管理和数据收集服务器:Modern Honey Network (MHN)

一、Modern Honey Network (MHN)介绍

Modern Honey Network (MHN) 是一个集中化的蜜罐管理和数据收集服务器。它旨在简化蜜罐的部署和管理,并提供一个简洁的 Web 界面来查看捕获的数据。

1、主要功能:

  • 集中化管理: 通过一个中心服务器管理多个蜜罐传感器。
  • 快速部署: 提供脚本,可以快速在远程服务器上部署各种蜜罐技术。
  • 多种蜜罐支持: 支持多种常见的蜜罐技术,包括 Snort、Cowrie、Dionaea 和 Glastopf 等。
  • 实时数据查看: 通过 Web 界面实时查看蜜罐捕获的攻击数据。
  • 数据分析: 提供基本的攻击统计和可视化,并能与 Splunk 和 ArcSight 等安全信息和事件管理 (SIEM) 系统集成,进行更深入的分析。
  • 部署脚本下载: 蜜罐可以通过 MHN 服务器下载部署脚本。
  • 连接和注册: 蜜罐可以连接到 MHN 服务器并注册。
  • Snort 规则下载: 支持集中管理和分发 Snort 入侵检测规则。
  • 入侵检测日志发送: 蜜罐可以将入侵检测日志发送到 MHN 服务器进行统一管理。

2、部署 MHN 的步骤通常如下:

  1. 安装 MHN 服务器: 在一台服务器上安装 MHN 软件。MHN 服务器通常运行一个 Flask Web 应用程序。
  2. 部署蜜罐传感器: 通过 MHN Web 界面生成部署脚本,然后在需要部署蜜罐的服务器上运行这些脚本。
  3. 集中监控: 部署成功的蜜罐传感器会自动连接到 MHN 服务器,并在 Web 界面上显示捕获的攻击数据。

3、 代码地址

MHN 的主要信息和代码托管在 GitHub 上:

  • 主代码仓库: https://github.com/pwnlandia/mhn

可以在这个 GitHub 仓库中找到:

  • 源代码: MHN 软件的完整代码。
  • 文档: 关于 MHN 的安装、配置和使用说明(虽然可能需要您仔细阅读 README.md 文件和 Wiki)。
  • 问题跟踪: 用于报告 Bug 和提出功能请求。
  • 社区: 通过 Issues 和 Pull Requests 与开发者和社区成员互动。

4、总结来说,MHN 的主要优势在于:

  • 简化蜜罐部署和管理流程。
  • 提供了一个统一的平台来监控和分析来自不同蜜罐的数据。
  • 降低了构建和维护蜜罐网络的复杂性。

二、 Modern Honey Network (MHN)安装

在中国安装 Modern Honey Network (MHN) 的详细步骤如下。请注意,由于国内网络环境的特殊性,您可能需要采取一些额外的步骤来确保顺利安装和运行。

1、前提条件:

  • 一台运行 Ubuntu Server 16.04 或更高版本的服务器: 推荐使用干净的 Ubuntu Server 系统。
  • sudo 权限的用户: 您需要具有管理员权限才能执行安装命令。
  • 稳定的网络连接: 安装过程中需要下载软件包。
  • Python 2.7: MHN 主要基于 Python 2.7 开发。
  • (可选但强烈推荐) 配置好的 DNS 解析: 确保您的服务器可以正确解析域名。

2、安装步骤:

1. 更新系统软件包:

首先,通过 SSH 连接到您的 Ubuntu 服务器,并更新软件包列表和已安装的软件包:

sudo apt update
sudo apt upgrade -y

2. 安装必要的依赖包:

MHN 依赖一些系统软件包,使用以下命令安装它们:

sudo apt install -y git python-dev libffi-dev libssl-dev python-pip virtualenv

3. 克隆 MHN 代码仓库:

使用 git 命令从 GitHub 克隆 MHN 的代码仓库:

git clone https://github.com/threatstream/mhn.git /opt/mhn
cd /opt/mhn

注意: 如果您在国内访问 GitHub 比较慢,可以考虑使用国内的镜像站点或者配置代理。

4. 创建和激活虚拟环境:

为了隔离 MHN 的依赖包,建议创建一个 Python 虚拟环境:

sudo pip install virtualenv  # 如果尚未安装 virtualenv
virtualenv env
source env/bin/activate

激活虚拟环境后,您的命令提示符应该会以 (env) 开头。

5. 安装 MHN 依赖:

在虚拟环境中,使用 pip 安装 MHN 所需的 Python 包:

pip install -r requirements.txt

注意: 国内网络环境下,pip 下载速度可能会比较慢或出现连接问题。您可以考虑使用国内的 PyPI 镜像源来加速下载。例如,使用阿里云镜像:

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

或者清华大学镜像:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

6. 复制并编辑配置文件:

复制 MHN 的默认配置文件并进行必要的编辑:

cp mhn/mhn.conf.example mhn/mhn.conf
nano mhn/mhn.conf

mhn.conf 文件中,您需要至少配置以下选项:

  • mhn_ip: MHN 服务器的 IP 地址。确保设置为您的服务器的公网 IP 或您希望 MHN 监听的 IP 地址。
  • web_ip: Web 界面的监听 IP 地址,通常设置为 0.0.0.0 允许所有 IP 访问。
  • web_port: Web 界面的监听端口,默认为 80。如果使用 80 端口,请确保没有其他服务占用。
  • amqp_uri: RabbitMQ 的连接 URI。MHN 默认使用本地 RabbitMQ。
  • database_uri: MongoDB 的连接 URI。MHN 默认使用本地 MongoDB。

您可以根据您的实际环境修改其他配置选项。保存并关闭文件。

7. 安装和配置 MongoDB:

MHN 使用 MongoDB 存储捕获的数据。如果您的服务器上尚未安装 MongoDB,请进行安装:

sudo apt install -y mongodb
sudo systemctl enable mongodb
sudo systemctl start mongodb

您可能需要根据您的 MongoDB 配置进行一些调整,例如设置用户认证。

8. 安装和配置 RabbitMQ:

MHN 使用 RabbitMQ 作为消息队列。如果您的服务器上尚未安装 RabbitMQ,请进行安装:

sudo apt install -y rabbitmq-server
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server

9. 初始化 MHN 数据库:

运行 MHN 的管理脚本来初始化数据库:

python mhn/manage.py db upgrade

10. 创建管理员用户:

使用管理脚本创建一个 MHN Web 界面的管理员用户:

python mhn/manage.py createsuperuser

按照提示输入用户名、电子邮件地址和密码。

11. 运行 MHN 服务:

使用 honssh 命令启动 MHN 的核心服务:

honssh &

这将使 MHN 在后台运行。您可以使用 jobs 命令查看后台运行的进程。

12. 运行 MHN Web 界面:

使用 python mhn/run.py 命令启动 Web 界面:

python mhn/run.py &

同样,这将在后台运行 Web 界面。

13. 访问 MHN Web 界面:

在 Web 浏览器中,访问 http://<您的服务器IP地址>:<您在 mhn.conf 中配置的 web_port>。例如,如果您的服务器 IP 是 192.168.1.100 并且您使用默认的 80 端口,则访问 http://192.168.1.100/

使用您在步骤 10 中创建的管理员用户名和密码登录。

14. 配置蜜罐:

登录 Web 界面后,您可以开始配置和部署各种蜜罐传感器。在 "Deploy" 选项卡中,您可以选择要部署的蜜罐类型,并获取部署脚本。

15. 部署蜜罐传感器:

将生成的部署脚本复制到您要部署蜜罐的远程服务器上,并运行该脚本。蜜罐传感器将自动连接到您的 MHN 服务器并开始发送数据。

16.国内环境可能遇到的问题和解决方案:

  • GitHub 克隆慢或失败: 尝试使用国内镜像站点或配置 VPN/代理。
  • pip 下载慢或连接问题: 使用国内 PyPI 镜像源(如阿里云、清华大学等)。
  • 网络防火墙阻止连接: 确保您的服务器防火墙允许 MHN 使用的端口(默认为 80 和其他蜜罐所需的端口)的入站连接。
  • 某些蜜罐在国内可能无法正常工作: 由于网络限制或服务可用性问题,某些蜜罐技术可能无法在中国大陆地区正常工作。

17.后续步骤:

  • 探索 MHN Web 界面: 熟悉 Web 界面的各个功能,例如查看事件、管理蜜罐、配置规则等。
  • 部署更多蜜罐: 根据您的需求部署不同类型的蜜罐传感器。
  • 集成 SIEM 系统 (可选): 配置 MHN 与 Splunk、ArcSight 等 SIEM 系统集成,进行更高级的分析和告警。
  • 监控 MHN 服务: 确保 honsshrun.py 进程稳定运行。您可以使用 nohupscreen 等工具来管理后台进程,或者配置 systemd 服务。

希望这些详细步骤能够帮助您成功安装 MHN。

http://www.xdnf.cn/news/1986.html

相关文章:

  • 成熟的前端vue vite websocket,Django后端实现方案包含主动断开websocket连接的实现
  • 企业部署Power BI 报表服务器,在第三方系统嵌套该报表服务器,并实现单点登录
  • 【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?
  • 基于Java,SpringBoot,Vue,HTML宠物相亲配对婚恋系统设计
  • 【Python数据库与后端开发】从ORM到RESTful API
  • Dubbo(76)Dubbo的服务注册与发现机制是怎样的?
  • c#接口_抽象类_多态学习
  • RabbitMQ 复习总结
  • 【MFC】 VS2022打开低版本的MFC,双击.rc文件,DIalog加载失败,页面弹窗fatal error RC***:cannot open*****
  • Matplotlib高阶技术全景解析(续):动态交互、三维可视化与性能优化
  • 大模型助力嘉兴妇幼:数据分类分级的智能化飞跃
  • 7.11 Python CLI开发实战:API集成与异步处理核心技术解析
  • flume整合kafka
  • electron-builder 打包安装与启动手动安装,最终解决方案,之前的文章与其他的人都不用看了。
  • 驱动开发硬核特训 · Day 20:深入理解电源管理机制与实战演练
  • ValidatorUtils工具
  • uni-app云开发总结
  • SQL进阶知识:九、高级数据类型
  • Dify依赖管理poetry切换为uv
  • Kafka和Spark-Streaming
  • 解释两个 Django 命令 makemigrations和migrate
  • 【器件专题1——IGBT第2讲】IGBT 基本工作原理:从结构到特性,一文解析 “电力电子心脏” 的核心机制
  • 5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架
  • Pycharm(十六)面向对象进阶
  • 深度解析 Java 泛型通配符 `<? super T>` 和 `<? extends T>`
  • 使用功能包组织C++节点的具体教程
  • 天能资管(SkyAi):精准投资匹配,定制资产配置新体验
  • 202531读书笔记|《天上大风:良宽俳句·短歌·汉诗400》——我别无他物款待君,除了山中冬日寂寥,陶然共一醉,不知是与非,一饱百情足,一酣万事休
  • AI重塑职场:人机协同时代的组织变革与管理创新
  • AWS Glue ETL设计与调度最佳实践