Sirius 是一款开源的综合漏洞扫描器,利用社区驱动的安全智能和自动渗透测试能力。引入了全面的系统监控和可观测性功能。几分钟内开始使用我们基于Docker的设置。
🚀 快速入门指南
前提条件
- Docker Engine 20.10.0+ 搭配 Docker Compose V2
- 系统需求:最低4GB RAM,10GB可用磁盘空间
- 网络访问:通过互联网连接获取漏洞数据库更新
- 支持平台:Linux、macOS、Windows(支持WSL2)
⚡ 一命令设置
# Clone and start Sirius (uses prebuilt images from GitHub Container Registry)
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d
# Access the web interface
open http://localhost:3000
注意 :Sirius 默认使用来自 GitHub 容器注册表的预构建容器镜像,用于快速部署(5-8分钟)。本地开发时需更改源代码,请使用 。docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d
登录凭证:
- 用户名:
admin - 密码:
password
⚠️安全通知:在生产环境中立即更改这些默认凭据。
🆕 v0.4.0 新增内容
系统监控与可观测性
- 实时健康监测:所有组件的实时服务健康检查
- 集中式日志:统一日志收集和管理系统
- 性能指标:容器资源利用跟踪
- 系统仪表盘 :全面的监控界面
/system-monitor
提升可靠性
- 改进的容器构建:生产环境就绪的 Docker 配置
- 更优的错误处理:全面的错误管理与恢复
- SSH 故障排查:增强部署调试能力
- 自动化测试:稳健的容器测试与验证
🔧 安装选项
选项1:标准配置(大多数用户推荐)
默认配置提供完整的扫描环境:
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d
选项二:以用户为中心的设置(简化版)
为了在不依赖开发工具的情况下获得最简洁的体验:
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.user.yaml up -d
选项3:生产部署
对于性能优化的生产环境:
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.production.yaml up -d
✅ 验证安装
# Check all services are running
docker ps
# Expected services:
# - sirius-ui (port 3000)
# - sirius-api (port 9001)
# - sirius-engine (ports 5174, 50051)
# - sirius-postgres (port 5432)
# - sirius-rabbitmq (ports 5672, 15672)
# - sirius-valkey (port 6379)
# Access web interface
curl http://localhost:3000
# Check API health
curl http://localhost:9001/health
🎯 小天狼星能做什么?
核心能力
- 🔍 网络发现:自动化主机发现与服务枚举
- 🛡️ 漏洞评估:基于CVE的漏洞检测,并基于CVSS评分
- 📊 风险管理:全面的风险评分与修复指导
- 🎪 可视化扫描工作流程:拖拽扫描配置
- 🔄 自动扫描:定期和持续的安全评估
- 📡 远程代理支持:跨多环境的分布式扫描
- 💻 交互终端:基于PowerShell的高级作命令接口
- 📈 实时仪表盘:实时扫描进度与漏洞指标
支持的扫描类型
- 网络扫描:基于Nmap的端口和服务发现
- 漏洞扫描:基于 NSE 脚本的漏洞检测
- 中小企业/Windows评估:专门的Windows安全测试
- 自定义工作流程:用户自定义扫描配置
- 基于代理的扫描:远程端点评估
🏗️ 系统架构
Sirius 采用包含以下组件的微服务架构:
| 服役经历 | 描述 | 科技 | 移植版本 | 目的 |
|---|---|---|---|---|
| 天狼星-乌伊 | 网页前端 | Next.js 14,React,TailwindCSS | 3000 | 用户界面与可视化 |
| Sirius-API | REST API 后端 | 加油,琴酒框架 | 9001 | API 端点与业务逻辑 |
| 天狼星引擎 | 多服务容器 | 开始,空中活弹 | 5174, 50051 | 扫描仪、终端和代理服务 |
| Sirius-postgres | 主要数据库 | PostgreSQL 15 | 5432 | 漏洞与扫描数据存储 |
| 天狼星兔子 | 消息队列 | 兔子MQ | 5672, 15672 | 军种间通信 |
| 小天狼星-瓦尔基 | 缓存层 | 再不兼容 | 6379 | 会话和临时数据 |
📡 服务通信流程
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>User Interface (sirius-ui)
↓ HTTP/WebSocket
REST API (sirius-api)
↓ AMQP Messages
Message Queue (sirius-rabbitmq)
↓ Queue Processing
Scanning Engine (sirius-engine)
↓ SQL Queries
Database (sirius-postgres)
</code></span></span></span></span>
🗄️ 数据存储
- PostgreSQL:漏洞数据、扫描结果、主机信息
- SQLite:用户认证与会话数据(开发)
- Valkey/Redis:缓存、临时扫描数据、会话存储
- **RabbitMQ:**用于扫描请求和代理通信的消息队列
📱 界面概述
📊 仪表盘

您的中央指挥中心设有:
- 实时扫描活动与进度监测
- 最新漏洞发现及其严重性趋势
- 系统性能指标与资源利用
- 用于常见扫描作的快速访问控制
- 带风险评分的执行摘要
🔍 扫描接口

先进的扫描能力:
- 可视化工作流编辑器:拖放扫描模块配置
- 实时进展:实时扫描状态及详细记录
- 自定义配置文件:保存并重复使用扫描配置
- 定时扫描:采用类似Cron的自动调度
- 多目标支持:扫描多主机、多网络或多IP范围
- NSE 脚本集成:用于专业测试的自定义 Nmap 脚本
🎯 漏洞导航器

全面的漏洞管理:
- 动态过滤:实时搜索所有漏洞数据
- 风险优先级:基于CVSS的严重性排序与过滤
- 详细报告:CVE/CPE映射及修复指导
- 导出功能:PDF、CSV和JSON报告生成
- 历史追踪:漏洞时间线及修复进展
- 集成准备:外部安全工具的API端点
🌐 环境概述

全面的基础设施可视化:
- 资产清单:全面的主机和服务发现
- 网络拓扑:发现基础设施的交互式可视化
- 风险评估:环境整体安全态势分析
- 服务枚举:详细的服务版本控制和配置
- 合规跟踪:安全基线监控与报告
🖥️ 详情

深入系统分析:
- **系统配置:**完整的硬件和软件清单
- 端口分析:详细的服务发现和版本检测
- 安全指标:主机特定漏洞计数与风险评分
- 历史数据:扫描历史和安全趋势分析
- 修复跟踪:修复验证和安全改进监测
💻 终端接口

高级作战控制台:
- PowerShell 环境:自动化所需的完整脚本能力
- 代理管理:远程代理部署与配置
- 自定义脚本:执行自定义安全测试脚本
- 批处理作:大批量扫描和管理作
- 系统诊断:实时系统健康与性能监控
🛠️ 标准配置
非常适合安全专业人士和渗透测试人员:
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose up -d
该配置提供:
- ✅ 开箱即用的完整扫描功能
- ✅ 预配置的漏洞数据库
- ✅ 不需要额外的设置
- ✅ 生产准备的安全扫描
开发者: 请查看我们全面的贡献指南:
- 🔧 开发环境设置
- 🔄 开发工作流程与最佳实践
- 🧪 测试与质量保证
- 📝 代码标准与 Git 工作流程
- 🚀 提交拉取请求
快速链接:
加入我们的社区,帮助让安全扫描对所有人都变得可访问!
🔌 API 与集成
Sirius提供与现有安全工作流程集成的全面API:
REST API 端点
- 认证 :- 基于JWT的认证
/api/auth - 主机 :- 主机管理与发现
/api/hosts - 扫描 :- 扫描管理与执行
/api/scans - 漏洞**:-** 漏洞数据访问
/api/vulnerabilities - 报表 :- 报表生成与导出
/api/reports
WebSocket API
- 实时更新:实时扫描进展和漏洞通知
- 代理通信:双向代理管理
- 系统监控:实时系统指标与健康状态
积分示例
# Start a network scan via API
curl -X POST http://localhost:9001/api/scans \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"target": "192.168.1.0/24", "scan_type": "network"}'
# Get vulnerability summary
curl http://localhost:9001/api/vulnerabilities/summary \
-H "Authorization: Bearer $TOKEN"
# Export scan results
curl http://localhost:9001/api/reports/scan/123/pdf \
-H "Authorization: Bearer $TOKEN" \
-o scan-report.pdf
🔧 故障排除
常见问题与解决方案
🐳 集装箱问题
问题:服务无法启动
# Diagnosis
docker compose ps # Check service status
docker compose logs <service> # View service logs
docker system df # Check disk space
# Solutions
docker compose down && docker compose up -d --build # Fresh restart
docker system prune -f # Clean up space
问题:基础设施服务(PostgreSQL、RabbitMQ、Valkey)无法启动
# This occurs when using only docker-compose.dev.yaml
# The dev file is an OVERRIDE file, not standalone
# ❌ Wrong (only starts 3 services):
docker compose -f docker-compose.dev.yaml up -d
# ✅ Correct (starts all 6 services):
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d
问题:"端口已在使用中"错误
# Find process using port
netstat -tuln | grep 3000
lsof -i :3000
# Solution: Stop conflicting service or change port
docker compose down
# Edit docker-compose.yaml to use different ports if needed
🔍 扫描仪问题
问题:Nmap 错误或扫描失败
# Check scanner logs
docker logs sirius-engine | grep -i nmap
# Test Nmap directly
docker exec sirius-engine nmap --version
docker exec sirius-engine nmap -p 80 127.0.0.1
# Common fixes
docker restart sirius-engine
docker exec sirius-engine which nmap # Verify Nmap installation
问题:"重复端口规格"警告
# This is resolved in current version, but if you see it:
docker exec sirius-engine grep -r "port.*specification" /app-scanner-src/
# Should show corrected port ranges like "1-1000,3389"
🗄️ 数据库问题
问题:数据库连接失败
# Check PostgreSQL status
docker exec sirius-postgres pg_isready
docker logs sirius-postgres
# Test connection
docker exec sirius-postgres psql -U postgres -d sirius -c "SELECT version();"
# Reset database if needed
docker compose down
docker volume rm sirius_postgres_data
docker compose up -d
🐰 消息队列问题
Problem: RabbitMQ connectivity issues
# Check RabbitMQ status
docker exec sirius-rabbitmq rabbitmqctl status
# View queue status
docker exec sirius-rabbitmq rabbitmqctl list_queues
# Access management interface
open http://localhost:15672 # guest/guest
Problem: RabbitMQ schema integrity check failed
# This occurs when RabbitMQ has old data from an incompatible version
# Solution: Remove old volumes and restart fresh
docker compose down -v # For standard setup
# Or for development:
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml down -v
docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d
🌐 Network & Connectivity
Problem: Services can't communicate
# Test internal network
docker exec sirius-ui ping sirius-api
docker exec sirius-api ping sirius-postgres
# Check network configuration
docker network ls
docker network inspect sirius_default
Problem: External access issues
# Verify port mapping
docker port sirius-ui
docker port sirius-api
# Check firewall (Linux)
sudo ufw status
sudo iptables -L
# Check firewall (macOS)
sudo pfctl -s all
🚨 Emergency Recovery
Complete System Reset:
# Stop all services
docker compose down
# Remove all data (⚠️ This deletes all scan data!)
docker compose down -v
# Clean Docker system
docker system prune -a -f
# Fresh start
docker compose up -d --build
Backup Current Data:
# Backup database
docker exec sirius-postgres pg_dump -U postgres sirius > backup.sql
# Backup scan results directory
docker cp sirius-engine:/opt/sirius/ ./sirius-backup/
🔒 Security Best Practices
🏭 生产部署
关键安全措施:
- 更改默认凭证:
# Update in docker-compose.production.yaml
POSTGRES_PASSWORD=your_secure_password
RABBITMQ_DEFAULT_PASS=your_secure_password
NEXTAUTH_SECRET=your_long_random_secret
-
网络安全:
Use internal networks for service communication
Expose only necessary ports (3000 for UI)
Configure firewall rules
sudo ufw allow 3000/tcp
sudo ufw deny 5432/tcp # Don't expose database -
SSL/TLS配置:
Use reverse proxy with SSL (nginx/traefik)
Enable HTTPS for web interface
Secure API endpoints with proper certificates
-
数据保护:
Encrypt database backups
Secure volume mounts
Regular security updates
docker compose pull # Update images regularly
🛡️ 安全扫描最佳实践
- 网络隔离:尽可能从隔离网络进行扫描
- 权限管理:对扫描账户使用最低权限原则
- 扫描调度:在维护期间进行密集扫描
- 数据保留:实施适当的数据生命周期策略
- 审计日志:支持合规的全面日志记录
📚 文档与资源
📖 重要文献
🔌 技术文档
- 🚀 API 参考 - 完整的 API 文档
- 📦 Go SDK - Go 集成库
- 🐳 Docker 指南 - 全面的 Docker 文档
- 🏗️ 架构指南 - 系统架构深度解析
- 🔄 CI/CD 指南 - 部署自动化
🎓 用户指南
🤝 社区与支持
- ❓ 常见问题解答
- 🐛 GitHub 问题 - 错误报告和功能请求
- 💬 Discord社区------实时社区支持
- 🤝 贡献指南------如何为天狼星贡献
- 📧 支持联系方式 - 直接技术支持
📊 性能与缩放
📈 按用例分类的系统需求
| 使用场景 | 中央处理器 | 内存 | 存储 | 网络 |
|---|---|---|---|---|
| 个人实验室 | 2 核心 | 4GB | 20GB | 基础 |
| 小型企业 | 4 核心 | 8GB | 100GB | 献身 |
| 企业号 | 8+ 核心 | 16GB+ | 500GB+ | 高速 |
| MSP/大规模 | 16+ 核心 | 32GB+ | 1TB+ | 企业号 |
⚡ 性能优化
# Monitor resource usage
docker stats
# Optimize for large environments
# Edit docker-compose.yaml and add:
services:
sirius-engine:
deploy:
resources:
limits:
cpus: '4.0'
memory: 8G
reservations:
cpus: '2.0'
memory: 4G
🆕 最新动态
最新更新
- ✅ 固定 Nmap 配置:已解决重复端口规格警告
- ✅ 增强型开发模式:为本地开发改进体积安装
- ✅ 更好的错误处理:增强调试和日志功能
- ✅ 性能改进:优化容器启动和资源使用率
- ✅ 安全增强:更新默认配置和安全实践
即将推出的功能
- 🔄 高级报告:增强的PDF和仪表盘报告
- 🎯 AI驱动分析:自动化漏洞风险评估
- 📱 移动支持:移动响应界面改进
- 🔌 插件系统:可扩展扫描模块架构
- ☁️ 云集成:原生云平台扫描支持