Security engineering portfolio project

ClinicGuard

A Docker-based simulated clinic network demonstrating segmentation, default-deny firewalling, TLS-protected synthetic EHR access, IDS monitoring, centralized logs, and automated security tests.

View source on GitHub View CI results

What it demonstrates

Network segmentation

Staff, guest, server, management, and attacker zones are represented by isolated Docker networks.

Default deny

nftables drops forwarded traffic by default and permits only the intended staff HTTPS boundary.

Detection and evidence

Suricata detects probes while Loki, Promtail, and Grafana centralize security and proxy logs.

Automated proof

pytest integration tests and an attacker simulation verify allowed and blocked paths in CI.

Technology stack

Runtime

Docker Desktop, Docker Compose, Linux containers, WSL2

Security

nftables, nginx, TLS, Suricata 7.0, dnsmasq

Observability

Loki 3.2.1, Promtail 3.2.1, Grafana 11.3.1

Testing

Python 3.12, pytest, POSIX shell, GitHub Actions

Project notes

Architecture Threat model Documentation