A lightweight web-based SIEM for analyzing logs, detecting suspicious patterns, and presenting security alerts through a local dashboard.
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:
| 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 |
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
Log File
โ
Parser
โ
Normalized Events
โ
Detection Rules
โ
Alerts
โ
Web Dashboard
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.
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.
Upload logs/sample.log through the dashboard. The included sample contains failed-login and server-error events designed to trigger the current detection rules.
Use Sentinel with logs you own or are authorized to analyze. The project is intended for cybersecurity education, home labs, and authorized defensive testing.
Built by btwsalts as a cybersecurity and software-engineering learning project.