开源网站安全监测系统—Libra

Libra 网站安全监测系统

🌟 核心功能

安全检测模块

模块 重要等级 功能描述
🔗 黑链检测 ⭐⭐⭐⭐⭐ 检测隐藏的恶意外链和SEO黑链
🚪 后门检测 ⭐⭐⭐⭐ 识别Webshell和后门文件
⚠️ 违规检测 ⭐⭐⭐⭐ 检测违法违规内容
💔 死链检测 ⭐⭐ 识别失效链接

扫描类型

  • HomePage_Scan: 首页检测 - 快速检测网站首页安全状况
  • SecondPage_Scan: 二级页面检测 - 深入检测子页面
  • AllSite_Scan: 全站扫描 - 全面扫描整个网站
  • CustomPage_Scan: 自定义页面检测 - 指定页面检测

🏗️ 项目结构

复制代码
Libra_API/
├── Libra.py                 # 主程序入口
├── Framework/               # 核心框架
│   └── Libra_Console.py    # 命令行控制台
├── Moudle/                  # 业务模块
│   ├── task_console.py     # 任务控制器
│   ├── task_crawler.py     # 爬虫模块
│   ├── task_response.py    # 数据响应处理
│   └── task_rulefind.py    # 规则检测引擎
├── Config/                  # 配置文件
│   ├── config_banner.py    # 程序横幅配置
│   ├── config_crawler.py   # 爬虫配置
│   ├── config_db.py        # 数据库配置
│   ├── config_logging.py   # 日志配置
│   ├── config_proxies.py   # 代理配置
│   └── config_requests.py  # 请求配置
├── ORM/                     # 数据库ORM
│   └── db_rules.py         # 规则数据库操作
├── Tools/                   # 工具库
│   └── tools.py            # 通用工具函数
├── Libra.db                # SQLite数据库
└── requirements.txt        # 依赖包列表

🚀 快速开始

环境要求

  • Python 3.6+
  • SQLite (内置)

安装依赖

bash 复制代码
pip install -r requirements.txt

基本用法

1. 显示帮助信息
bash 复制代码
python Libra.py
2. 快速检测网站首页
bash 复制代码
python Libra.py -u http://example.com
3. 指定检测类型
bash 复制代码
# 首页检测
python Libra.py -u http://example.com -t HomePage_Scan

# 二级页面检测
python Libra.py -u http://example.com -t SecondPage_Scan

# 全站扫描
python Libra.py -u http://example.com -t AllSite_Scan

# 自定义页面检测
python Libra.py -u http://example.com -t CustomPage_Scan

📊 检测报告

系统将生成详细的安全检测报告,包括:

  • 🔍 检测概览: 目标URL、检测类型、检测状态
  • 🌐 页面信息: 响应状态、内容哈希、页面标题
  • 🔗 链接分析: 内链、外链统计与分析
  • ⚠️ 安全威胁: 发现的黑链、后门、违规内容等

⚙️ 配置说明

数据库配置

编辑 Config/config_db.py 配置数据库连接:

python 复制代码
# SQLite配置(默认)
DB_TYPE = 'sqlite'
DB_PATH = 'Libra.db'

爬虫配置

Config/config_crawler.py 中可配置:

  • 爬取深度限制
  • 并发数量
  • 超时设置
  • User-Agent配置

黑名单配置

文件类型黑名单配置(不进行检测的文件类型):

python 复制代码
file_type_black = [
    '.css', '.jpg', '.png', '.bmp', '.gif', '.ico', '.svg', '.jpeg',
    '.zip', '.rar', '.7z', '.doc', '.xls', '.xlsx', '.pdf',
    '.mp3', '.mp4', '.wmv', '.ttf'
]

🔧 高级功能

代理设置

Config/config_proxies.py 中配置代理服务器:

python 复制代码
PROXIES = {
    'http': 'http://proxy.server:port',
    'https': 'https://proxy.server:port'
}

自定义规则

通过数据库添加自定义检测规则:

  • 黑链检测规则
  • 后门检测规则
  • 违规内容规则

白名单机制

支持白名单机制,避免误报:

  • URL白名单
  • 内容白名单
  • 规则白名单

项目地址

项目地址:https://github.com/rabbitmask/Libra

相关推荐
点云SLAM2 小时前
boost中graph_traits和adjacency_list 的内存布局以及最小图示例
数据结构·数据库·图论·boost库·最小图·链接矩阵·graph_traints技术
微风中的麦穗2 小时前
K8s(kubernetes)部署Mivus向量数据库集群 在线和离线两种部署方式
数据库
Go高并发架构_王工2 小时前
Redis命令执行原理与源码分析:深入理解内部机制
数据库·redis·后端
虹科数字化与AR2 小时前
安宝特方案丨AR电力·变电篇:筑牢变电站安全运维
运维·安全·ar
佛系DBA2 小时前
数据库性能之旅(四)关于NULL值
数据库·postgresql
虹科数字化与AR2 小时前
安宝特方案丨AR电力 · 输电篇:破解高空作业安全与协同难题
安全·ar
学习3人组2 小时前
Conda虚拟环境迁移指南导出依赖库并跨设备重建环境
java·数据库·conda
hgz07102 小时前
MySQL索引数据结构:B+树 vs 哈希索
数据库·sql·mysql
GISERLiu2 小时前
Mapper 怎么能找到实体和数据库
数据库·oracle·mybatis