首页
/ MISP项目在Ubuntu 18.04服务器上的安装指南(含Webmin管理)

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平台的日常维护工作。