TsgcWebSocketFirewall › Eventi › OnThreatScoreChanged
Si attiva quando il punteggio di minaccia cumulativo di un IP viene aggiornato.
property OnThreatScoreChanged: TsgcFirewallOnThreatScoreChanged;
// TsgcFirewallOnThreatScoreChanged = procedure(Sender: TObject; const aIP: string; aOldScore, aNewScore: Integer) of object
—
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.
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;