TsgcWebSocketFirewallEventi › OnThreatScoreChanged

OnThreatScoreChanged Evento

Si attiva quando il punteggio di minaccia cumulativo di un IP viene aggiornato.

Sintassi

property OnThreatScoreChanged: TsgcFirewallOnThreatScoreChanged;
// TsgcFirewallOnThreatScoreChanged = procedure(Sender: TObject; const aIP: string; aOldScore, aNewScore: Integer) of object

Valore predefinito

Note

OnThreatScoreChanged viene generato dal modulo ThreatScore ogni volta che il punteggio di un IP viene ricalcolato dopo una violazione. aOldScore è il punteggio decaduto prima dell'aggiunta del nuovo peso della violazione e aNewScore è il valore risultante (limitato nell'intervallo 0–100). I pesi per tipo di violazione, la frequenza di decadimento (DecayPerHour) e la soglia di ban automatico (AutoBanThreshold) sono configurati nella proprietà ThreatScore; quando aNewScore raggiunge AutoBanThreshold, l'IP viene automaticamente bannato (ban permanente, DurationSec = 0) e viene generata una coppia OnFiltered/OnViolation per le richieste successive. Utilizzare questo evento per evidenziare client a rischio crescente nei dashboard o per integrarsi con sistemi di reputazione esterni. Il gestore viene eseguito nel thread I/O del server; mantenerlo breve e thread-safe.

Esempio

procedure TForm1.sgcWebSocketFirewall1ThreatScoreChanged(Sender: TObject;
  const aIP: string; aOldScore, aNewScore: Integer);
begin
  Memo1.Lines.Add(Format('threat score %s: %d -> %d',
    [aIP, aOldScore, aNewScore]));

  // proactively notify ops when an IP crosses a warning threshold
  if (aOldScore < 50) and (aNewScore >= 50) then
    NotifyOps('High threat score for ' + aIP);
end;

Torna agli Eventi