Update log processing to use the correct timestamp field and introduce cron jobs for automated model training and anomaly detection. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7a657272-55ba-4a79-9a2e-f1ed9bc7a528 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: f0653fd5-fc94-4fcb-8d7e-2a0e90fc81bf Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/449cf7c4-c97a-45ae-8234-e5c5b8d6a84f/7a657272-55ba-4a79-9a2e-f1ed9bc7a528/MkBJZ0L
37 lines
998 B
Bash
37 lines
998 B
Bash
#!/bin/bash
|
|
# =========================================================
|
|
# CRON DETECTION - Rilevamento anomalie automatico
|
|
# =========================================================
|
|
# Esegue detection ogni 5 minuti con blocco automatico IP critici
|
|
# =========================================================
|
|
|
|
# Logging
|
|
LOG_FILE="/var/log/ids/detection.log"
|
|
mkdir -p /var/log/ids
|
|
exec >> "$LOG_FILE" 2>&1
|
|
|
|
echo "========================================="
|
|
echo "🔍 [$(date)] DETECTION AUTOMATICA AVVIATA"
|
|
echo "========================================="
|
|
|
|
# Esegue detection via API con auto-block
|
|
curl -X POST http://localhost:8000/detect \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"max_records": 50000,
|
|
"hours_back": 1,
|
|
"risk_threshold": 75,
|
|
"auto_block": true
|
|
}' \
|
|
--max-time 120
|
|
|
|
EXIT_CODE=$?
|
|
|
|
if [ $EXIT_CODE -eq 0 ]; then
|
|
echo "✅ [$(date)] Detection completata con successo"
|
|
else
|
|
echo "❌ [$(date)] Detection fallita (exit code: $EXIT_CODE)"
|
|
fi
|
|
|
|
echo ""
|