一、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 的步骤通常如下:
- 安装 MHN 服务器: 在一台服务器上安装 MHN 软件。MHN 服务器通常运行一个 Flask Web 应用程序。
- 部署蜜罐传感器: 通过 MHN Web 界面生成部署脚本,然后在需要部署蜜罐的服务器上运行这些脚本。
- 集中监控: 部署成功的蜜罐传感器会自动连接到 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 服务: 确保
honssh
和run.py
进程稳定运行。您可以使用nohup
或screen
等工具来管理后台进程,或者配置 systemd 服务。
希望这些详细步骤能够帮助您成功安装 MHN。