==================================================================================
⚡ FAHIM UDDIN // RUNTIME THREAT DETECTION SYSTEM (RTDR)
==================================================================================
[SYSTEM] RTDR_STANDALONE_ENGINE
[STATUS] ALL_SYSTEMS_OPERATIONAL // DEVELOPMENT_AUDIT
[VERSION] V2.0.0
[GATEWAY] NGINX_REVERSE_PROXY // PORT_80_ENFORCED
[BACKEND] SPRING_BOOT_JVM_26 // POSTGRES_18 // REDIS_7_ALPINE
[KERNEL] FEDORA_ENGINE // SELINUX_SHARED_LABELING_ACTIVE
==================================================================================
© 2026 FAHIM UDDIN // CORE_PROTOCOL_V2.0.0 // ALL_RIGHTS_RESERVED
==================================================================================
RTDR (Runtime Threat Detection & Response) is an enterprise-grade backend security engine designed for real-time telemetry ingestion, anomaly detection, incident generation, and automated response enforcement across distributed systems.
It operates on a zero-trust, event-driven architecture, processing high-frequency telemetry streams and executing real-time mitigation actions.
RTDR is deployed behind an Nginx reverse proxy layer exposed on port 80.
The Spring Boot application is not directly exposed to external networks.
Client → Nginx (Port 80) → Spring Boot (Internal 8080) → PostgreSQL / Redis
| Component | Role |
|---|---|
| Nginx | Edge gateway / reverse proxy |
| Spring Boot | Core detection & orchestration engine |
| PostgreSQL | Persistent incident & node storage |
| Redis | High-speed telemetry + rate tracking cache |
git clone https://github.com/udnfahim/runtime_threat_detection_rtdr.git
cd runtime_threat_detection_rtdrCreate local environment file:
cp .env.example .envEnsure credentials are consistent with Docker Compose:
SPRING_DATASOURCE_USERNAME=rtdr_user
SPRING_DATASOURCE_PASSWORD=rtdr_production_password_string
⚠️ Important: Password mismatch between.envanddocker-compose.ymlwill cause authentication failure.
docker compose up -d --buildThis initializes:
- Nginx reverse proxy (port 80)
- Spring Boot application (internal port 8080)
- PostgreSQL database
- Redis cache layer
docker compose psExpected healthy services:
rtdr_proxy→ Nginx gatewayrtdr_app→ Spring Boot enginertdr_postgres→ PostgreSQL (healthy)rtdr_redis→ Redis (healthy)
curl http://localhost/actuator/healthcurl http://localhost:8080/actuator/healthSpring Boot is intentionally isolated behind Nginx and not exposed externally.
curl -X POST http://localhost/api/v1/telemetry \
-H "Content-Type: application/json" \
-H "X-Agent-Token: rtdr_agent_telemetry_secure_token_string" \
-d '{
"nodeId": "node-fedora-prod-01",
"sourceIp": "192.168.10.45",
"subject": "admin_auth_service",
"failedLogins": 6,
"requestRate": 142.5,
"anomalyWeight": 0.85,
"geoIrregularity": 1.0,
"windowSeconds": 10
}'WebSocket STOMP channel:
wscat -c ws://localhost/ws-rtdrSubscription frame:
CONNECT
accept-version:1.1,1.2
heart-beat:10000,10000
SUBSCRIBE
id:sub-0
destination:/topic/alerts
| Layer | Endpoint |
|---|---|
| Public Gateway | http://localhost |
| Application (internal) | http://app:8080 |
| Database | PostgreSQL (Docker network only) |
| Cache | Redis (Docker network only) |
All credentials must remain synchronized across:
docker-compose.yml.envapplication.yml / properties
SPRING_DATASOURCE_PASSWORD: rtdr_production_password_stringIf logs show:
FATAL: password authentication failed for user "rtdr_user"
Reset environment:
docker compose down -v
docker compose up -d --buildThis is expected behavior. Application is only exposed via Nginx (port 80).
For local backend debugging:
docker compose up -d postgres redisThen run Spring Boot directly from IDE with:
jdbc:postgresql://localhost:5433/rtdr
(Requires port mapping in compose if enabled)
- Zero-trust architecture
- Internal service isolation
- Event-driven telemetry pipeline
- Sliding-window anomaly detection
- Real-time enforcement via SSE/WebSocket
- Stateless edge gateway routing
- Nginx Gateway: Active (port 80)
- Spring Boot Engine: Running (internal only)
- PostgreSQL: Healthy
- Redis: Healthy
- Health Endpoint: Operational via gateway
---
If you want next upgrade, I can convert this into:
- **GitHub README with badges + CI/CD section**
- **architecture diagram (PNG/SVG for portfolio)**
- **or a resume-ready project description (very high impact)**