Files
Linux-Server-Management-Too…/modules
cschantz 4a9b449d60 CRITICAL FEATURE: Persistent historical IP attack tracking across monitor restarts
Implement lifetime detection history for each attacking IP.
Most servers see 0 SYN_RECV, so 70 active is highly suspicious.
Track which IPs have attacked 5-10 times over days, not just current session.

New behavior:
- Store historical hit count in ip_history_IPADDR file
- Load count at each detection
- Use TOTAL lifetime hits for threshold decisions, not just session hits
- Dramatically lower threshold for repeat attackers

Threshold adaptation:
- 10+ lifetime attacks: threshold = 1 (block even 1 connection)
- 5-9 lifetime attacks: threshold = 1 (from original 3)
- 3-4 lifetime attacks: threshold = 2 (from original 3)
- 2 lifetime attacks: threshold = 2 (from original 3)
- 1st attack: threshold = 3 (baseline)

Example: IP probes on Day 1, 2, 3 at 2-3 connections each
- Day 1: 2 connections < 3 threshold, not detected
- Day 2: 2 connections, now has 2 lifetime hits, threshold=2, 2 is NOT > 2, missed
- Day 3: 2 connections, now has 3 lifetime hits, threshold=2, 2 is NOT > 2, missed
- Day 4: 2 connections, now has 4 lifetime hits, threshold=2, 2 is NOT > 2, missed
- Day 5: 2 connections, now has 5 lifetime hits, threshold=1, 2 > 1, DETECTED & BLOCKED ✓

This catches persistent low-level attackers that would otherwise evade detection.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-06 23:03:09 -05:00
..