TsgcWebSocketFirewallProprietà › BruteForce

BruteForce Property

Traccia i tentativi di autenticazione falliti per IP e vieta gli indirizzi che superano una soglia configurabile entro una finestra temporale.

Sintassi

property BruteForce: TsgcFirewallBruteForce read FBruteForce write SetBruteForce;

Valore predefinito

Note

Imposti BruteForce.Enabled su True e chiami RegisterFailedAttempt dall'handler di autenticazione del server ogni volta che le credenziali vengono rifiutate. Quando un IP accumula più di MaxAttempts fallimenti entro TimeWindowSec secondi, il firewall lo banna per BanDurationSec secondi e genera OnViolation con tipo fvBruteForce. Se BanEscalation è abilitato, la durata effettiva del ban viene derivata dal relativo elenco Levels invece di BanDurationSec. Valori predefiniti: MaxAttempts=5, TimeWindowSec=60, BanDurationSec=300.

Esempio


sgcWebSocketFirewall1.BruteForce.Enabled := True;
sgcWebSocketFirewall1.BruteForce.MaxAttempts := 3;
sgcWebSocketFirewall1.BruteForce.TimeWindowSec := 60;
sgcWebSocketFirewall1.BruteForce.BanDurationSec := 600;

// Report failed logins from the authentication handler
procedure TForm1.ServerAuthentication(Connection: TsgcWSConnection;
  aUser, aPassword: String; var Authenticated: Boolean);
begin
  Authenticated := ValidateCredentials(aUser, aPassword);
  if not Authenticated then
    sgcWebSocketFirewall1.RegisterFailedAttempt(Connection.IP);
end;

Torna alle Proprietà