Implementarea unui sistem de detecție a atacurilor Brute-Force în Python

Configurare noua (How To)

Situatie

Solutie

Pasul 1: Importarea Bibliotecilor Necesare

Începeți prin a importa bibliotecile necesare. Vom folosi “datetime” pentru a gestiona timpul și “collections” pentru a stoca și prelucra datele despre încercările de autentificare.

import datetime
from collections import defaultdict

Pasul 2: Definirea Variabilelor și Funcțiilor

Definiți variabilele și funcțiile necesare pentru a monitoriza și detecta atacurile brute-force.

# Limita de încercări și perioada de timp (în secunde)
ATTEMPT_LIMIT = 5
TIME_WINDOW = 60

# Dictionar pentru a stoca încercările de autentificare
attempts = defaultdict(list)

def record_attempt(ip_address):
      “””Înregistrează o încercare de autentificare pentru o adresă IP.”””
      current_time = datetime.datetime.now()
      attempts[ip_address].append(current_time)
      cleanup_attempts(ip_address)

def cleanup_attempts(ip_address):
      “””Curăță încercările mai vechi decât fereastra de timp definită.”””
      current_time = datetime.datetime.now()
      attempts[ip_address] = [time for time in attempts[ip_address] if (current_time – time).seconds <= TIME_WINDOW]

def is_brute_force(ip_address):
      “””Verifică dacă adresa IP a depășit limita de încercări în fereastra de timp.”””
      cleanup_attempts(ip_address)
      if len(attempts[ip_address]) > ATTEMPT_LIMIT:
            return True
      return False

Pasul 3: Testarea Funcționalităților

Simulați încercările de autentificare pentru a testa sistemul de detecție a atacurilor brute-force.

# Adresa IP de test
test_ip = ‘192.168.1.1’

# Simulăm 6 încercări de autentificare în mai puțin de un minut
for _ in range(6):
      record_attempt(test_ip)
      if is_brute_force(test_ip):
            print(f”Brute-force detected from IP: {test_ip}”)
      else:
            print(f”Attempts from {test_ip}: {len(attempts[test_ip])}”)

Pasul 4: Integrarea cu Sistemul de Autentificare

Integrați acest sistem de detecție cu sistemul dvs. de autentificare pentru a monitoriza încercările de autentificare reale și pentru a lua măsuri atunci când este detectat un atac brute-force.

Pasul 5: Extinderea funcționalităților

Extindeți funcționalitatea sistemului de detecție pentru a include măsuri suplimentare, cum ar fi blocarea automată a adresei IP, alertarea unui administrator sau înregistrarea încercărilor suspecte într-un fișier jurnal.

Tip solutie

Permanent

Voteaza

(10 din 22 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?