Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PLSQL SIEM Database Showcase

A portfolio case study in security-event modeling, database integrity, event streaming, ETL, and operational reporting.

Portfolio snapshot Private implementation Data layer Reporting

Case file

This project models a compact SIEM data platform for security events such as IDS alerts, firewall activity, failed SSH attempts, SQL-injection attempts, and malware signals. The public repository is an evidence-rich showcase: it explains the system design, integrity decisions, data movement, and reporting surface while keeping the complete implementation private.

What I designed

The system connects a relational security-event model with an event-aware processing layer, a document-oriented reporting model, and a dashboard surface. The design emphasizes traceable data movement and explainable controls rather than a collection of disconnected database features.

Layer Design evidence
Event model PostgreSQL schema with constraints, indexes, INET, JSONB, pgcrypto, and pg_trgm.
Integrity PL/pgSQL functions, triggers, procedures, materialized views, and chained audit hashes.
Processing Python ETL with batch synchronization and a LISTEN/NOTIFY streaming pattern.
Reporting model MongoDB collections and aggregations shaped for dashboard reads.
Presentation Streamlit and Plotly views for operational security-event analysis.

Architecture

Transparent architecture diagram

The primary path is detection input → PostgreSQL event model → Python processing → MongoDB reporting model → dashboard. Integrity logic remains close to the source data, while the reporting layer is optimized for analysis and presentation.

Public evidence

Artifact What it lets a reader verify
screenshots/architecture-transparent.png End-to-end data flow and system boundaries.
screenshots/mcd.png Core data-model relationships.
screenshots/dashboard_top.png Reporting layout and operational overview.
screenshots/dashboard_bottom.png Lower-level reporting detail.
code-snippets/alert-audit-pattern.sql A small illustrative integrity pattern without exposing the full implementation.

What this proves

This case study demonstrates that I can model security context in a relational system, preserve traceability through integrity controls, move events between processing and reporting stores, and explain the resulting evidence through a usable dashboard surface.

Private implementation boundary

The complete SQL, Python, JavaScript, container setup, dashboard source, environment files, and generated archives are not published. This repository deliberately shares architecture, selected snippets, diagrams, screenshots, and engineering decisions without exposing credentials, private infrastructure, or a deployable copy of the system.

Lessons learned

  1. Security context becomes more useful when the schema, integrity rules, and reporting model are designed together.
  2. JSONB supports variable alert payloads, but relational keys remain important for reliable reporting.
  3. Audit chains and triggers are valuable when their behavior remains simple enough to explain and revalidate.
  4. A document-oriented reporting model can complement a normalized source model when the data movement is explicit.
  5. A database showcase is stronger when it demonstrates both schema depth and operational interpretation.

About

I am Yassir Zahidi, a security engineering student focused on detection, forensics, controlled validation, databases, and practical system design.

License

Portfolio snapshot only. See LICENSE. The full implementation remains private.

About

PostgreSQL/PLSQL + MongoDB SIEM academic project snapshot - schema, triggers, ETL and dashboard docs.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages