fix w trackerze

This commit is contained in:
Mateusz Gruszczyński
2025-10-28 22:23:33 +01:00
parent 48e72a3621
commit 625b7b8047

View File

@@ -150,6 +150,10 @@ class LogMonDaemon:
ip: Adres IP atakującego
score: Punkty za dane niepowodzenie (domyślnie 1)
"""
if ip in self.banned_ips:
self.logger.debug(f"IP {ip} already banned, ignoring")
return
now = datetime.now()
# Dodaj wpis do trackera
@@ -157,7 +161,7 @@ class LogMonDaemon:
# Usuń stare wpisy spoza okna czasowego
time_window = self.config.getint('module_postfix', 'time_window',
fallback=60)
fallback=60)
cutoff = now - timedelta(seconds=time_window)
while self.ip_tracker[ip] and self.ip_tracker[ip][0][0] < cutoff:
@@ -168,17 +172,16 @@ class LogMonDaemon:
failures_count = len(self.ip_tracker[ip])
max_failures = self.config.getint('module_postfix', 'max_failures',
fallback=5)
fallback=5)
self.logger.debug(
f"IP {ip}: {failures_count} failures, score {total_score}/{max_failures}"
)
# Sprawdź czy przekroczono limit
if total_score >= max_failures and ip not in self.banned_ips:
if total_score >= max_failures:
self.ban_ip(ip)
elif total_score >= max_failures and ip in self.banned_ips:
self.logger.debug(f"IP {ip} already banned, ignoring")
def ban_ip(self, ip):
"""