Medusa漏洞扫描平台安装部署指南
前言
Medusa是一款功能强大的漏洞扫描平台,本文将从技术角度详细介绍该平台的安装部署流程,包含手动安装和Docker容器化部署两种方式,并针对常见问题提供解决方案。
环境准备
系统要求
- 操作系统:推荐使用Ubuntu 18.04/20.04 LTS
- 硬件配置:最低1核2G内存(Docker部署要求)
- 网络要求:开放25端口(云服务器需特别注意)
域名准备
部署Medusa需要准备以下域名:
- 主站域名(如medusa.example.com)
- DNSLOG域名(如dnslog.example.com)
- 邮件服务器域名(如smtp.example.com)
手动安装步骤
1. 安装必要依赖
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y nodejs npm nginx redis python3 python3-pip \
mingw-w64 golang-go nim wine wine32 libwine
2. 获取项目代码
git clone https://example.com/Ascotbe/Medusa.git
cd Medusa
3. 安装项目依赖
后端依赖
python3 -m pip install --ignore-installed -r Medusa.txt
前端依赖
cd Vue
npm install
export PYTHONIOENCODING=utf-8
4. 邮件服务器配置
安装Sendmail
sudo apt install sendmail -y
sudo sendmailconfig
配置文件修改
编辑/etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl
添加域名
echo "yourdomain.com" >> /etc/mail/local-host-names
重启服务
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sudo systemctl restart sendmail
5. 前后端配置
后端配置
修改/Medusa/config.py中标记为"必须修改"的配置项
前端配置
修改/Medusa/Vue/faceConfig.js中的域名配置
编译前端
npm run build
mv dist/ /var/www/html/
6. Nginx配置
创建/etc/nginx/sites-available/medusa配置文件,内容参考项目文档中的Nginx配置部分,主要包含:
- HTTPS/HTTP服务配置
- 前后端路由转发
- Gzip压缩优化
- 静态资源处理
配置完成后:
sudo ln -s /etc/nginx/sites-available/medusa /etc/nginx/sites-enabled/
sudo systemctl restart nginx
7. 启动服务
创建启动脚本run.sh:
#!/bin/bash
python3 -c 'from Web.CVE.NistMonitoring.NistInitialization import NistInitialization;from Web.ActiveScan import InitializationPlugin;InitializationPlugin.Run();NistInitialization()'
redis-server /etc/redis/redis.conf &
service sendmail start &
python3 DNSServer.py &
python3 HTTPServer.py &
celery -A Web worker -B --loglevel=info --pool=solo &
nginx &
gunicorn Web.wsgi:application --bind 0.0.0.0:9999 --workers 6
赋予执行权限并启动:
sudo chmod +x run.sh
nohup ./run.sh &
Docker安装方式
1. 准备证书文件
将SSL证书文件(ssl.key和ssl.pem)放入项目根目录
2. 执行安装脚本
chmod +x install.sh
./install.sh -u medusa.example.com -d dnslog.example.com -s example.com
参数说明:
-u: Web端域名-d: DNSLOG域名-s: 邮件服务器域名
域名解析配置
DNSLOG域名配置
| 主机记录 | 记录类型 | 记录值 |
|---|---|---|
| ns1 | A | 服务器IP |
| @ | MX | ns1.example.com |
主站域名配置
| 主机记录 | 记录类型 | 记录值 |
|---|---|---|
| @ | A | 服务器IP |
邮件服务器配置
| 主机记录 | 记录类型 | 记录值 | |
|---|---|---|---|
| @ | TXT | v=spf1 ip4:服务器IP -all | |
| @ | MX | mail.example.com | 10 |
| A | 服务器IP |
常见问题处理
容器意外停止
- 查看容器状态:
docker container ls -a
- 重启容器:
docker container start [CONTAINER_ID]
邮件服务问题
- 检查25端口是否开放
- 验证Sendmail服务状态
- 检查域名解析是否正确
性能优化建议
- 根据服务器配置调整Gunicorn worker数量
- 合理配置Celery并发参数
- 使用进程管理工具管理进程
结语
本文详细介绍了Medusa漏洞扫描平台的安装部署流程,涵盖了从环境准备到服务启动的全过程。无论是选择手动安装还是Docker容器化部署,都需要仔细按照步骤操作,特别注意域名解析和SSL证书的配置。遇到问题时,可参考常见问题处理部分进行排查。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



