MISP项目在Ubuntu 18.04服务器上的安装指南(含Webmin管理)
2025-07-08 00:33:31作者:农烁颖Land
前言
MISP(Malware Information Sharing Platform)是一个开源的威胁情报平台,用于收集、存储、分发和共享网络安全事件指标。本文将详细介绍如何在Ubuntu 18.04服务器上安装MISP,并使用Webmin进行系统管理。
系统要求
- Ubuntu 18.04-server最小化安装
- 至少4GB内存(推荐8GB)
- 50GB可用磁盘空间
- 具有sudo权限的用户账户
- 已配置SSL证书的子域名(如misp.yourdomain.tld)
安装准备
1. 系统基础配置
首先确保系统是最新的:
sudo apt-get update
sudo apt-get upgrade
2. 安装Webmin/Virtualmin
Webmin是一个基于Web的系统管理工具,Virtualmin是其虚拟主机管理模块:
wget -O /tmp/install.sh http://software.virtualmin.com/gpl/scripts/install.sh
chmod +x /tmp/install.sh
sudo /tmp/install.sh
安装完成后,通过浏览器访问https://your-server-ip:10000完成Webmin的初始配置。
数据库配置
1. 安装MariaDB
MISP推荐使用MariaDB作为数据库后端:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt-get install mariadb-client mariadb-server -y
2. 安全配置MariaDB
运行安全安装脚本:
sudo mysql_secure_installation
按照提示设置root密码并移除不安全配置。
MISP核心安装
1. 安装依赖包
sudo apt-get install curl gcc git gnupg-agent make python openssl redis-server sudo vim zip virtualenv -y
sudo apt-get install libapache2-mod-php php php-cli php-gnupg php-dev php-json php-mysql php-opcache php-readline php-redis php-xml php-mbstring php-gd php-zip -y
2. 获取MISP源代码
sudo su - ${VIRT_USER}
git clone https://github.com/MISP/MISP.git ${PATH_TO_MISP}
cd ${PATH_TO_MISP}
git checkout tags/$(git describe --tags `git rev-list --tags --max-count=1`)
git submodule update --init --recursive
git submodule foreach --recursive git config core.filemode false
3. 创建Python虚拟环境
virtualenv -p python3 ${PATH_TO_MISP}/venv
配置MISP
1. 数据库设置
创建MISP数据库和用户:
CREATE DATABASE misp;
GRANT ALL PRIVILEGES ON misp.* TO 'misp'@'localhost' IDENTIFIED BY 'YourSecurePassword';
FLUSH PRIVILEGES;
导入初始数据库结构:
sudo -u ${VIRT_USER} cat ${PATH_TO_MISP}/INSTALL/MYSQL.sql | mysql -u misp -pYourSecurePassword misp
2. 配置文件设置
复制并编辑配置文件:
cp -a ${PATH_TO_MISP}/app/Config/bootstrap.default.php ${PATH_TO_MISP}/app/Config/bootstrap.php
cp -a ${PATH_TO_MISP}/app/Config/database.default.php ${PATH_TO_MISP}/app/Config/database.php
cp -a ${PATH_TO_MISP}/app/Config/core.default.php ${PATH_TO_MISP}/app/Config/core.php
cp -a ${PATH_TO_MISP}/app/Config/config.default.php ${PATH_TO_MISP}/app/Config/config.php
编辑database.php配置数据库连接信息,config.php中设置salt密钥和baseurl。
3. 生成GPG密钥
mkdir ${PATH_TO_MISP}/.gnupg
chmod 700 ${PATH_TO_MISP}/.gnupg
gpg --homedir ${PATH_TO_MISP}/.gnupg --gen-key
gpg --homedir ${PATH_TO_MISP}/.gnupg --export --armor your@email.com > ${PATH_TO_MISP}/app/webroot/gpg.asc
Web服务器配置
1. Apache配置
确保VirtualHost配置中包含以下内容:
DocumentRoot /home/misp/public_html/MISP/app/webroot
<Directory /home/misp/public_html/MISP/app/webroot>
Options -Indexes
AllowOverride all
Order allow,deny
allow from all
</Directory>
重启Apache服务:
sudo service apache2 restart
后台任务配置
1. 设置工作进程
chmod +x ${PATH_TO_MISP}/app/Console/worker/start.sh
2. 配置开机启动
创建systemd服务:
sudo vi /etc/systemd/system/rc-local.service
添加以下内容:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
编辑/etc/rc.local文件:
#!/bin/bash
sudo -u ${VIRT_USER} bash ${PATH_TO_MISP}/app/Console/worker/start.sh
exit 0
设置权限并启用服务:
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local
sudo systemctl start rc-local.service
可选功能
1. ZeroMQ集成
sudo pip3 install pyzmq redis
2. Kafka支持
sudo apt-get install librdkafka-dev php-dev
sudo pecl install rdkafka
echo "extension=rdkafka.so" | sudo tee /etc/php/7.2/mods-available/rdkafka.ini
sudo phpenmod rdkafka
sudo service apache2 restart
3. ssdeep模糊哈希
wget http://downloads.sourceforge.net/project/ssdeep/ssdeep-2.13/ssdeep-2.13.tar.gz
tar zxvf ssdeep-2.13.tar.gz
cd ssdeep-2.13
./configure
make
sudo make install
sudo pecl install ssdeep
echo "extension=ssdeep.so" | sudo tee /etc/php/7.2/mods-available/ssdeep.ini
sudo phpenmod ssdeep
sudo service apache2 restart
完成安装
访问https://misp.yourdomain.tld完成MISP的最终配置。首次登录使用默认凭证:
- 用户名:admin@admin.test
- 密码:admin
登录后立即更改密码和salt密钥以确保系统安全。
故障排除
如果遇到问题,可以检查以下日志文件:
- ${PATH_TO_MISP}/app/tmp/logs/error.log
- ${PATH_TO_MISP}/app/tmp/logs/resque-worker-error.log
- ${PATH_TO_MISP}/app/tmp/logs/resque-scheduler-error.log
- Apache错误日志:/var/log/apache2/error.log
通过Webmin可以方便地监控系统状态、管理服务和查看日志,大大简化了MISP平台的日常维护工作。