sentinel

๐Ÿ›ก๏ธ Sentinel

Mini SIEM ยท Log Analysis ยท Threat Detection

A lightweight web-based SIEM for analyzing logs, detecting suspicious patterns, and presenting security alerts through a local dashboard.

What is Sentinel?

Sentinel is a learning-focused mini SIEM. It accepts an authorized log file, parses security events, applies detection rules, and turns matching activity into alerts.

Current detections:

Features

Technology Stack

Technology Purpose
Python Backend and detection logic
Flask Web application/API
HTML/CSS Dashboard
JavaScript Uploads and dynamic rendering
Regular expressions Log parsing and pattern matching

Project Structure

sentinel/
โ”œโ”€โ”€ app.py
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ analyzer/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ parser.py
โ”‚   โ””โ”€โ”€ rules.py
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ index.html
โ”œโ”€โ”€ static/
โ”‚   โ”œโ”€โ”€ style.css
โ”‚   โ””โ”€โ”€ script.js
โ”œโ”€โ”€ logs/
โ”‚   โ””โ”€โ”€ sample.log
โ””โ”€โ”€ README.md

How It Works

Log File
   โ†“
Parser
   โ†“
Normalized Events
   โ†“
Detection Rules
   โ†“
Alerts
   โ†“
Web Dashboard

Detection logic

Possible brute force: five or more failed-login events from the same IP within 60 seconds create a HIGH alert.

Repeated server errors: three or more error-level events from the same IP create a MEDIUM alert.

These are intentionally simple educational rules, not production-grade detections.

Run Locally

git clone https://github.com/btwsalts/sentinel.git
cd sentinel
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 app.py

Open http://127.0.0.1:5000.

Test It

Upload logs/sample.log through the dashboard. The included sample contains failed-login and server-error events designed to trigger the current detection rules.

Security Note

Use Sentinel with logs you own or are authorized to analyze. The project is intended for cybersecurity education, home labs, and authorized defensive testing.

Limitations

Roadmap

What I Practiced

Author

Built by btwsalts as a cybersecurity and software-engineering learning project.