TsgcWebSocketFirewall › Metodi

TsgcWebSocketFirewall Metodi

Metodi pubblici raggruppati per scopo, seguiti dall'elenco alfabetico completo.

Verifiche della connessione

NomeDescrizione
IsConnectionAllowedFiltro di handshake principale. Valuta ogni modulo di protezione al momento della connessione abilitato (ban, whitelist, blacklist, limite di frequenza, GeoIP, regole personalizzate) e restituisce se la connessione deve essere accettata.
IsMessageAllowedFiltro per messaggio principale. Esegue i moduli di ispezione del contenuto abilitati (SQL injection, XSS, path traversal, command injection, limite payload, protezione da flood, regole personalizzate) e restituisce se il messaggio deve essere consegnato.
IsOriginAllowedVerifica un'intestazione Origin WebSocket rispetto a WebSocketProtection.AllowedOrigins (con supporto dei caratteri jolly) e restituisce se è accettata.
IsFrameSizeAllowedVerifica la dimensione di un singolo frame WebSocket rispetto a WebSocketProtection.MaxFrameSize e restituisce se è entro il limite configurato.
IsSubprotocolAllowedVerifica il nome del sottoprotocollo WebSocket richiesto rispetto a WebSocketProtection.AllowedSubprotocols e restituisce se è accettato.

Tracciamento

NomeDescrizione
RegisterConnectionRegistra una nuova connessione accettata per l'IP specificato, incrementando i contatori per IP utilizzati da RateLimit e alimentando la finestra di decadimento di ThreatScore.
UnregisterConnectionDecrementa il contatore delle connessioni per IP quando una connessione precedentemente registrata viene chiusa, liberando capacità per RateLimit.
RegisterFailedAttemptHook a livello applicazione che registra un tentativo di autenticazione fallito dall'IP specificato, alimentando il tracker BruteForce e potenzialmente attivando un ban automatico.

Gestione dei ban

NomeDescrizione
BanIPVieta manualmente un indirizzo IP per la durata specificata, aggiungendolo alla lista di ban attiva in modo che tutte le connessioni successive da quell'IP vengano rifiutate.
UnbanIPRimuove il record di ban attivo per un singolo indirizzo IP in modo che il client possa riconnettersi al successivo tentativo.
IsBannedRestituisce True quando l'indirizzo IP indicato è attualmente bannato, tenendo conto sia dei ban manuali che di quelli automatici e della loro durata residua.
ClearBansRimuove ogni ban attivo dal firewall, consentendo immediatamente agli IP precedentemente bloccati di riconnettersi (fatti salvi gli altri controlli del firewall).
ClearTrackingAzzera tutto lo stato di tracciamento interno: conteggi delle connessioni per IP, log dei tentativi di brute-force, contatori di messaggi per la flood-protection e punteggi di minaccia.
SaveBansToFileScrive l'elenco di ban corrente, inclusi i timestamp di scadenza e i livelli di escalation, nel file specificato in modo che possa essere ripristinato con LoadBansFromFile.
LoadBansFromFileRipristina l'elenco dei ban attivi da un file precedentemente scritto da SaveBansToFile, in modo che i ban sopravvivano ai riavvii del processo.
SaveBansToStreamSerializza l'elenco di ban attivo in qualsiasi TStream scrivibile, utile per i backend di persistenza non basati su file (database, sincronizzazione di rete, archivi cifrati).
LoadBansFromStreamLegge i record di ban da qualsiasi TStream (memoria, rete, risorsa) nello stesso formato prodotto da SaveBansToStream.

Geolocalizzazione

NomeDescrizione
LoadGeoIPDatabaseCarica in memoria un database CSV MaxMind GeoIP in modo che le successive chiamate a LookupCountry e il filtraggio basato sul paese GeoIP possano risolvere gli IP dei client offline.
LookupCountryRestituisce il codice paese ISO 3166-1 alpha-2 per un indirizzo IP, utilizzando il database GeoIP caricato o il gestore dell'evento OnResolveCountry.

Threat system

NomeDescrizione
ResetThreatScoreAzzera il punteggio di minaccia accumulato per un singolo IP, fornendogli una situazione pulita rispetto ad AutoBanThreshold senza influenzare altri IP.

Tutti i metodi (alfabetico)

NomeDescrizione
BanIPVieta manualmente un indirizzo IP per la durata specificata, aggiungendolo alla lista di ban attiva in modo che tutte le connessioni successive da quell'IP vengano rifiutate.
ClearBansRimuove ogni ban attivo dal firewall, consentendo immediatamente agli IP precedentemente bloccati di riconnettersi (fatti salvi gli altri controlli del firewall).
ClearTrackingAzzera tutto lo stato di tracciamento interno: conteggi delle connessioni per IP, log dei tentativi di brute-force, contatori di messaggi per la flood-protection e punteggi di minaccia.
IsBannedRestituisce True quando l'indirizzo IP indicato è attualmente bannato, tenendo conto sia dei ban manuali che di quelli automatici e della loro durata residua.
IsConnectionAllowedFiltro di handshake principale. Valuta ogni modulo di protezione al momento della connessione abilitato (ban, whitelist, blacklist, limite di frequenza, GeoIP, regole personalizzate) e restituisce se la connessione deve essere accettata.
IsFrameSizeAllowedVerifica la dimensione di un singolo frame WebSocket rispetto a WebSocketProtection.MaxFrameSize e restituisce se è entro il limite configurato.
IsMessageAllowedFiltro per messaggio principale. Esegue i moduli di ispezione del contenuto abilitati (SQL injection, XSS, path traversal, command injection, limite payload, protezione da flood, regole personalizzate) e restituisce se il messaggio deve essere consegnato.
IsOriginAllowedVerifica un'intestazione Origin WebSocket rispetto a WebSocketProtection.AllowedOrigins (con supporto dei caratteri jolly) e restituisce se è accettata.
IsSubprotocolAllowedVerifica il nome del sottoprotocollo WebSocket richiesto rispetto a WebSocketProtection.AllowedSubprotocols e restituisce se è accettato.
LoadBansFromFileRipristina l'elenco dei ban attivi da un file precedentemente scritto da SaveBansToFile, in modo che i ban sopravvivano ai riavvii del processo.
LoadBansFromStreamLegge i record di ban da qualsiasi TStream (memoria, rete, risorsa) nello stesso formato prodotto da SaveBansToStream.
LoadGeoIPDatabaseCarica in memoria un database CSV MaxMind GeoIP in modo che le successive chiamate a LookupCountry e il filtraggio basato sul paese GeoIP possano risolvere gli IP dei client offline.
LookupCountryRestituisce il codice paese ISO 3166-1 alpha-2 per un indirizzo IP, utilizzando il database GeoIP caricato o il gestore dell'evento OnResolveCountry.
RegisterConnectionRegistra una nuova connessione accettata per l'IP specificato, incrementando i contatori per IP utilizzati da RateLimit e alimentando la finestra di decadimento di ThreatScore.
RegisterFailedAttemptHook a livello applicazione che registra un tentativo di autenticazione fallito dall'IP specificato, alimentando il tracker BruteForce e potenzialmente attivando un ban automatico.
ResetThreatScoreAzzera il punteggio di minaccia accumulato per un singolo IP, fornendogli una situazione pulita rispetto ad AutoBanThreshold senza influenzare altri IP.
SaveBansToFileScrive l'elenco di ban corrente, inclusi i timestamp di scadenza e i livelli di escalation, nel file specificato in modo che possa essere ripristinato con LoadBansFromFile.
SaveBansToStreamSerializza l'elenco di ban attivo in qualsiasi TStream scrivibile, utile per i backend di persistenza non basati su file (database, sincronizzazione di rete, archivi cifrati).
UnbanIPRimuove il record di ban attivo per un singolo indirizzo IP in modo che il client possa riconnettersi al successivo tentativo.
UnregisterConnectionDecrementa il contatore delle connessioni per IP quando una connessione precedentemente registrata viene chiusa, liberando capacità per RateLimit.