All Projects → VKSRC → Github Monitor

VKSRC / Github Monitor

Licence: gpl-3.0
Github Sensitive Information Leakage Monitor(Github信息泄漏监控系统)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Github Monitor

RS232-Monitor-Database
🔌📺 This is a public database for all the known RS232 commands for professionnal screens, monitors and projectors. Feel free to contribute !
Stars: ✭ 22 (-98.11%)
Mutual labels:  monitor, restful
Laravel Restful Api Starter
Build a RESTful API with Laravel and MongoDB
Stars: ✭ 66 (-94.34%)
Mutual labels:  restful
Httplive
HTTP Request & Response Service, Mock HTTP
Stars: ✭ 1,094 (-6.17%)
Mutual labels:  restful
Tigo
Tigo is an HTTP web framework written in Go (Golang).It features a Tornado-like API with better performance. Tigo是一款用Go语言开发的web应用框架,API特性类似于Tornado并且拥有比Tornado更好的性能。
Stars: ✭ 1,130 (-3.09%)
Mutual labels:  restful
Memreduct
Lightweight real-time memory management application to monitor and clean system memory on your computer.
Stars: ✭ 1,101 (-5.57%)
Mutual labels:  monitor
Laravel Api Health
Monitor first and third-party services and get notified when something goes wrong!
Stars: ✭ 65 (-94.43%)
Mutual labels:  monitor
Teamcity Theatre
👀 Monitor those builds! 🔨 (No TeamCity plugin needed!)
Stars: ✭ 56 (-95.2%)
Mutual labels:  monitor
Videosniffer
视频嗅探服务(VideoSniffer API Service On Android)
Stars: ✭ 68 (-94.17%)
Mutual labels:  restful
Esp8266 Power Monitor
An Arduino sketch to connect an INA-219 module to an ESP dev board and measure Voltage, Current, Power, Energy Consumption and Costs via the Blynk mobile app.
Stars: ✭ 66 (-94.34%)
Mutual labels:  monitor
Silverstripe Restfulapi
SilverStripe RESTful API with a default JSON serializer.
Stars: ✭ 63 (-94.6%)
Mutual labels:  restful
Webterminal
ssh rdp vnc telnet sftp bastion/jump web putty xshell terminal jumpserver audit realtime monitor rz/sz 堡垒机 云桌面 linux devops sftp websocket file management rz/sz otp 自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz/sz上传下载/动态口令 django
Stars: ✭ 1,124 (-3.6%)
Mutual labels:  monitor
Vue Scrum Task Client
Vue实现高仿teambition产品,后台Laravel5.6,包含了teambiation基础版模块功能
Stars: ✭ 62 (-94.68%)
Mutual labels:  restful
Dorado
基于Netty4开发的简单、轻量级、高性能的的Http restful api server
Stars: ✭ 65 (-94.43%)
Mutual labels:  restful
Shinobi
☮️ 🇵🇸 Shinobi CE - The Free Open Source CCTV platform written in Node.JS (Camera Recorder - Security Surveillance Software - Restreamer
Stars: ✭ 1,099 (-5.75%)
Mutual labels:  monitor
Prism
Application Performance Management & Monitoring for iOS (APM)
Stars: ✭ 67 (-94.25%)
Mutual labels:  monitor
Go Restful
🚀 A real world production-grade RESTful Web Services proof-of-concept project.
Stars: ✭ 58 (-95.03%)
Mutual labels:  restful
Mthawkeye
Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...)
Stars: ✭ 1,119 (-4.03%)
Mutual labels:  monitor
Jonsnow
App Store/Google Play review watcher, deliver new reviews to slack channel
Stars: ✭ 65 (-94.43%)
Mutual labels:  monitor
Monconn
A TCP connection monitoring tool written in Go.
Stars: ✭ 69 (-94.08%)
Mutual labels:  monitor
Gnome Shell Extension System Monitor
Gnome Shell extension for displaying resource usage
Stars: ✭ 67 (-94.25%)
Mutual labels:  monitor

VIPKID GITHUB MONITOR

License


GITHUB MONITOR 是vipkid安全研发团队打造的用于监控Github代码仓库的系统。通过该系统可以及时发现企业内部代码泄露、从而降低由于代码泄露导致的一系列安全风险。用户仅需通过简单的任务配置,即可在分钟级发现代码泄露的情况。项目后端使用 django-rest-framework 开发,前端使用 reactantd-pro 开发。

系统特点

  • 分钟级监控
  • 简单且灵活的任务配置
  • 邮件提醒
  • github token管理
  • 支持docker一键部署
  • 运行十分稳定

安装指南

首先将代码clone到本地:

git clone https://github.com/VKSRC/Github-Monitor.git

1. docker 部署

我们推荐使用Docker进行部署, 相对于源码部署更为简单和快速。

部署前请务必先安装Dockerdocker-compose

修改配置文件

首先复制根目录的.env.docker并重命名为.env,修改其中的Email Settingsinitial Administrator配置。这两个配置分别控制邮件提醒,以及初始管理帐号密码。

注意: 如果需要访问的地址不是127.0.0.1localhost, 需要修改ALLOWED_HOST参数,将访问地址加到里面, 如: ALLOWED_HOSTS="127.0.0.1,localhost,github.sec.vipkid.com.cn"

一键启动

docker-compose up -d

访问http://127.0.0.1:8001即可看到页面。

注意: 第一次启动由于mysql容器启动时间较久,可能会用30s左右的时间,页面才可以正常访问

修改启动端口

如果想修改启动端口,可以修改docker-compose.yaml文件中web容器的ports

默认为8001:80,比如要修改为8080端口可改为8080:80

2. 源码部署:

项目运行依赖 redis, 请在运行服务前启动redis-server


首先将.env.sample复制一份重命名为.env,并按照自己的要求修改配置:

# Django Settings
DEBUG="True"  # Django后台是否以debug模式运行, 可选True/False
ALLOWED_HOSTS="*,127.0.0.1,localhost"  # 配置Django Allowed_Hosts, 如果DEBUG为False, 需要将访问的host地址添加进来,如'localhost,github.vipkid.com.cn'

# Database Settings
# DATABASE choice is mysql or sqlite
DATABASE="sqlite"  # 数据库类型, 可选sqlite或mysql
DB_NAME="github"  # 数据库名称
DB_HOST="127.0.0.1"  # mysql host
DB_PORT="3306"  # mysql port
DB_USER="root"  # mysql用户名
DB_PASSWORD="[email protected]"  # mysql密码

# Redis Settings
REDIS_HOST="127.0.0.1"  # redis host
REDIS_PORT="6379"  # redis port
REDIS_PASSWORD=""  # redis password

# Email Settings
# If you do not fill it in, it is None/False
EMAIL_HOST="smtp.example.com"  # smtp host
EMAIL_PORT="25"  # smtp port
FROM_EMAIL="[email protected]"  # 发件人
EMAIL_HOST_USER="[email protected]"  # email user, 如为匿名发送,将值设为空字符即可
EMAIL_HOST_PASSWORD="配置 目录下的文件。

  1. 进入项目根目录下的server目录

  2. 配置virtualenv环境(建议)

  3. 在mysql里创建数据库(如使用sqlite、请忽略此步):

    登录进mysql后, 执行 CREATE DATABASE IF NOT EXISTS github DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_bin;

  4. 在server目录下执行如下脚本:

# 安装python依赖
pip3 install -r requirements.pip -i http://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com
# 初始化数据库
python3 manage.py migrate
# 初始化用户账号
python3 manage.py init_admin
# 启动web后端服务:
python3 manage.py runserver 127.0.0.1:8001
# 启动监控任务服务:
python3 manage.py monitor_task_service

  • 前端代码部署:

测试环境可以使用 npm run start 方式启动, 生产环境建议先通过 npm run build生成静态文件,然后通过nginx做转发来做。

  1. 进入项目根目录下的client目录
  2. 如果后端接口地址不为 127.0.0.1:8001, 需要修改config/config.local.js, 将target修改为后端地址即可
  3. 执行: npm install && npm run start

使用手册

1.添加Token

Github Monitor使用Github REST API v3接口进行搜索,所以需要预先配置Token进行认证。

首先登录Github,然后进入Token配置页面创建Token。

随后把Token添加到Github Monitor中。

Github API有次数限制,1分钟最多请求30次,为了提高爬取速度,Github Monitor支持添加多个Token。

2.添加监控任务

如图:

  • 任务名称:仅做标记使用,无实际意义。
  • 关键词:支持多个关键词,每行一个,支持Github REST API v3搜索语法,如:vipkid extension:java,只搜索java后缀文件。
  • 忽略帐号:不支持模糊匹配,忽略指定帐号下的仓库,同样支持多个帐号,换行分隔。
  • 忽略仓库:支持模糊匹配,比如:github.io,可忽略test.github.iovipkid.github.io等仓库。
  • 邮箱:可为空,不填则不会邮件提醒。
  • 爬取页数:默认5页,每页50条数据。
  • 爬取间隔:默认60分钟,可根据自己需求修改。

3.确认/忽略风险

如图:

爬虫爬取到的数据会入库,可以在查询系统中进行操作,进行处理/加白/忽略仓库操作。

  • 处理:确认有风险,需要处理。
  • 加白:确认无风险,以后不会再提醒,如果文件有修改,还是会再次提醒。
  • 忽略仓库:批量加白该仓库下已经发现的信息。

联系我们

关注VKSRC微信公众号,有任何建议和意见都可以发送到公众号/提交Issue。

Wechat

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].