首页
/ SECMON项目部署与使用完全指南

SECMON项目部署与使用完全指南

2025-07-06 22:38:21作者:姚月梅Lane

项目概述

SECMON是一款开源的监控与管理系统,能够自动跟踪CVE数据库,监控用户指定产品的安全情况,并通过邮件或Web界面及时通知管理员。该系统支持通过关键词和CPE(通用平台枚举)两种方式识别产品,并整合了Exploit-DB和GitHub的相关信息。

安装部署

准备工作

在安装前需要准备以下信息:

  1. 基础设施中使用的产品名称列表(如:Apache;Microsoft Windows;CentOS)
  2. 基础设施中产品的CPE标识符列表

注意:产品名称不宜过于简略(建议使用"Microsoft Office"而非"Office"),以减少误报。

Docker部署(推荐)

Docker部署方式自动化程度高,适合生产环境使用。部署步骤如下:

  1. 构建Docker镜像并创建网络:
sudo git clone https://github.com/Guezone/SECMON && cd SECMON && mkdir certs && PWD=$(pwd)
sudo docker build . -t secmon:latest
sudo docker network create --driver=bridge --subnet=10.10.10.0/24 --gateway=10.10.10.254 SECMON_NET
  1. 运行容器并执行安装脚本:
sudo docker run -i -t --hostname secmonsrv --ip 10.10.10.100 --name secmon-srv -v $PWD/:/var/www/secmon -v $PWD/certs:/etc/ssl/secmon --network SECMON_NET --expose 80 --expose 443 -d secmon:latest
sudo docker exec -it secmon-srv python3 /var/www/secmon/docker/install.py

安装过程中需要配置:

  • 自签名证书信息(可后续替换为CA证书)
  • 邮件发送配置(SMTP服务器、端口、TLS等)
  • Web界面登录凭证
  • GitHub API凭证(用于获取相关信息)
  1. 配置自动化任务: 编辑主机crontab,添加以下任务:
0 * * * * root docker exec secmon-srv python3 /var/www/secmon/secmon.py >> /var/log/secmon 2>&1
0 6 * * * root docker exec secmon-srv python3 /var/www/secmon/cve_updater.py >> /var/log/secmon-updates 2>&1
@reboot root docker start secmon-srv
@reboot root docker exec secmon-srv service apache2 start
@reboot root docker exec secmon-srv service ssh start

非Docker部署

  1. 安装依赖:
sudo apt update
sudo apt install -y python3 python3-pip apache2 libapache2-mod-wsgi-py3 git
  1. 克隆仓库并安装:
sudo git clone https://github.com/Guezone/SECMON
cd SECMON
sudo pip3 install -r requirements.txt
sudo mkdir /var/www/secmon && sudo cp -r * /var/www/secmon/ && cd /var/www/secmon/
sudo python3 setup.py -sender sender@mail.com -p '密码' -login SMTP登录名 -server SMTP服务器 -port 端口 -tls yes -lang 语言 -r '接收邮箱'
  1. 配置自动化任务:
0 * * * * root python3 /var/www/secmon/secmon.py >> /var/log/secmon 2>&1
0 6 * * * root python3 /var/www/secmon/cve_updater.py >> /var/log/secmon-updates 2>&1
  1. 配置Apache Web服务: 创建/etc/apache2/sites-available/secmon.conf配置文件,参考Docker部署部分的配置示例。

系统配置

产品管理

SECMON支持通过两种方式监控产品:

  1. 关键词匹配:适用于CVE记录中没有CPE信息的情况
  2. CPE标识符:提供更精确的版本级监控

在Web界面的"设置->产品管理"中可以:

  • 搜索产品的CPE标识符
  • 添加/删除监控的产品
  • 通过CSV批量导入产品列表

最佳实践:同时添加关键词和CPE标识符,确保覆盖全面。

安全管理

SECMON提供以下核心功能:

  1. 信息搜索:查询特定CVE的详细信息
  2. 状态管理:标记问题的处理状态
  3. 高风险产品展示:列出存在相关问题的产品
  4. 相关信息:整合Exploit-DB和GitHub的代码
  5. CVE更新跟踪:监控CVSS评分和受影响产品的变更

系统使用

登录Web界面

使用安装时设置的用户名密码登录Web界面,首页仪表盘展示:

  • 高风险产品列表
  • 问题处理状态统计
  • 未读/已读信息比例

问题处理流程

  1. 收到警报邮件
  2. 在Web界面验证是否确实影响当前产品版本
  3. 标记状态(已确认/已处理/误报)
  4. 对于高风险情况,查看相关信息
  5. 制定处理计划并跟踪进度

系统维护

日常维护

  1. 定期检查/var/log/secmon/var/log/secmon-updates日志
  2. 监控高风险产品列表
  3. 及时更新产品CPE列表

升级更新

对于Docker部署:

  1. 进入SECMON克隆目录
  2. 执行git pull获取最新代码
  3. 变更将自动反映在容器中

故障排查

常见问题及解决方法:

  1. 邮件发送失败:检查SMTP配置和网络连接
  2. CVE更新延迟:检查cve_updater.py任务是否正常执行
  3. Web界面无法访问:检查Apache日志和SSL证书配置

SECMON作为一款专业的监控工具,能够有效帮助团队及时发现和应对安全威胁。通过合理配置和定期维护,可以大幅提升企业防护能力。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
866
513
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
261
302
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
598
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K