MHN部署踩坑集锦

安装步骤

在Ubuntu16.04上安装MHN步骤如下(都需在root下进行):

cd /opt
git clone https://github.com/threatstream/mhn.git
cd mhn/
sudo ./install.sh 或者 ./install.sh

安装的过程是相当漫长的,而且需要一个稳定快速的网络,一旦出错就得重来,建议如下:
1.打开install.sh脚本,一小段一小段安装;
2.学会使用supervisor指令;
3.到交互界面及时拍摄快照,后面的安装会下载go包(完全凭运气,而且下载的版本较低,后面还需要重新下载,比较坑)
4.交互时,email和密码都是自己设的,主要是为了登录mhn的界面,base url这里虽然是自动生成的,但是你需要后面将其改成一个能连上的url(通过vim /opt/mhn/server/config.py修改),此处附上一张别人交互的图:
在这里插入图片描述
到这里,安装过程就结束了,启动服务:

supervisorctl  start all

查看进程状态

supervisorctl  status

排错

如果你发现一个进程的状态为ERROR或者FATAL,就需在 /etc/supervisor/conf.d/找到对应进程的配置文件,查看日志进行分析,在
https://github.com/threatstream/mhn/wiki/MHN-Troubleshooting-Guide 里寻求帮助,接下来介绍我的坑。
一、.mhn-celery-worker解决fatal的办法:

  chmod 777 -R /var/log/mhn/mhn.log(一般都是权限问题)
  supervisorctl restart all

二、honeymap的fatal问题:“honeymap FATAL can’t find command ‘/opt/honeymap/server/server’”
解决:删除旧的go包,重新下载安装
1、删除:

  cd /usr/local
  sudo rm -rf /usr/bin/go
  sudo apt-get remove golang-go
  sudo apt-get remove --auto-remove golang-go 

2、下载及解压:

  • 手动下载:go包需要在http://golang.org官网下载,而用命令行连接下载经常会连不上网站(被墙了),所以可以采用翻墙在官网下载好再解压安装到/usr/local路径下;
  • 自动下载:看运气,连接十次可能有两三次能连接成功,如果apt-get install golang安装,后面会因为golang版本低而报错,所以直接下载编译后的包
  wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz
  sudo tar -xzf go1.9.linux-amd64.tar.gz -C /usr//local/  //注意包名要改和自己一样的

3、修改环境变量:(如果有什么问题十有八九是环境变量不对)

     vim /etc/profile
     export GOROOT=/usr/local/go
     export GOARCH=amd64
     export GOOS=linux
     export GOBIN=$GOROOT/bin/
     export GOTOOLS=$GOROOT/pkg/tool/
     export PATH=$GOBIN:$GOTOOLS:$PATH
     source /etc/profile

4、执行go version,如果显示版本号,则Go环境安装成功
在这里插入图片描述
5、安装依赖插件net并重新启动所有蜜罐系统组件,如果出现连接问题且你的环境变量正确,那建议试试连接国外vpn

   cd /opt/honeymap/server 
   export GOPATH=/opt/honeymap/server 
   go get github.com/golang/net 
   mkdir -p golang.org/x 
   cp -rf src/github.com/golang/net/ ./golang.org/x/ 
   cp -rf golang.org/ /usr/local/go/src/ 
   go build 
   sudo supervisorctl restart all

设置web

因为我是将base url改成127.0.0.1,所以没有开代理直接将蜜罐部署在本地上,如果要部署在其他地方,需用代理:

  • vim /etc/environment:
    ALL_PROXY=http://admin:123@127.0.0.1:8080 HTTP_PROXY=http://admin:123@127.0.0.1:8080 HTTPS_PROXY=http://admin:123@127.0.0.1:8080 http_proxy=http://admin:123@127.0.0.1:8080 https_proxy=http://admin:123@127.0.0.1:8080

  • vim /etc/apt/apt.conf.d/95proxies
    Acquire::http::proxy "http://admin:123@127.0.0.1:8080"; Acquire::https::proxy "http://admin:123@127.0.0.1:8080"; Acquire::ftp::proxy "http://admin:123@127.0.0.1:8080";

  • 设置gitconfig:

git config --global --add http.proxy "http://admin:123@127.0.0.1:8080"

如若要查看本地网络的代理,可用export | grep -i proxy
关闭代理,可用unset 代理名

部署

访问127.0.0.1,进入蜜罐的登录首页,输入配置过程中输入的账号和密码即可登入系统,首先会看到一个总页面,展示攻击概况。

  • 界面元素
    Map:查看攻击者的IP在全球的分布,攻击来源全球的分布图,运行在3000端口,是不需要验证就能直接访问到的,可以做ACL开控制访问。
    Deploy:添加,编辑和使用蜜罐的部署脚本
    Attacks:所有攻击者的列表
    Payloads:所有攻击的payload,其实只有三种蜜罐可以收集payload(snort,dionaea.glastofp)
    Rules:所有的snort和suricata规则
    Seneors:有安装蜜罐节点操作的相关记录
    Settings:MHN服务的设置
  • 部署
    1、进入deploy页面,选择一个蜜罐,如下所示
    deploy页面展示2、复制粘贴Deploy Command里的命令到终端里以root身份执行安装
    3、一个一个集成各工具即可

配置修改

vim /opt/mhn/server/config.py
SUPERUSER_EMAIL = ‘admin@qq.com’ #用于登录MHN管理界面的用户名 SUPERUSER_PASSWORD = ‘this_is_test’ #用于登录MHN管理界面的密码 SERVER_BASE_URL = ‘http://www.example.com’ #部署MHN服务器的地址 HONEYMAP_URL = ‘http://www.example.com:3000’ #攻击地图地址,默认3000端口
DEPLOY_KEY = ‘QCIxjGiq’ #随机生成
LOG_FILE_PATH = ‘/var/log/mhn/mhn.log’ #log位置
修改完毕需重启uwsgi服务 superbisorctl restart mhn-uwsgi

参考链接:
【1】: https://www.jianshu.com/p/d4cef7990572
【2】: https://studygolang.com/articles/13957?fr=sidebar
【3】 https://github.com/threatstream/mhn/wiki/MHN-Troubleshooting-Guide
【4】:http://www.pianshen.com/article/8958124790/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值