Dimensione: 5218
Commento:
|
Dimensione: 5235
Commento: [[Indice()]] , !ChanServ
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
[[Indice()]] |
|
Linea 7: | Linea 9: |
Per questo, FloodBot tiene sotto controllo il lag di ChanServ e altri parametri, e toglie il +J appena nota qualcosa di strano. | Per questo, FloodBot tiene sotto controllo il lag di !ChanServ e altri parametri, e toglie il +J appena nota qualcosa di strano. |
Lo scopo principale di FloodBot (quantomeno perché inizialmente era la sua prima funzione) è di mettere e togliere il MODE +J dal canale.
Il +J impedisce a troppe persone di entrare nel canale in un arco di tempo breve, allo scopo di evitare i flood di cloni.
Un difetto del +J, però, è che durante certi netsplit molto catastrofici (in cui un server cade del tutto), può impedire a tutti gli utenti splittati di rientrare in canale.
Per questo, FloodBot tiene sotto controllo il lag di ChanServ e altri parametri, e toglie il +J appena nota qualcosa di strano. Quando succede questo, il bot è in "modalità emergenza".
Se la situazione torna sotto controllo, dopo qualche minuto il bot esce dalla modalità emergenza e riattiva il +J.
Gestione dei flood "innocui"
Se una persona manda troppe linee di seguito, il bot lo avverte; se la cosa va avanti, il bot imposta un MODE +zq sul nickname (il che significa che solo il bot può vedere quello che dirà, mentre il resto del canale non viene più disturbato).
Quanto l'utente smette di floodare, il MODE -zq viene tolto.
Gestione degli attacchi
Il bot reagisce a vari tipi di attacchi.
In tutti i casi di attacco, il bot avverte gli operatori e imposta un MODE +rR, impedendo così l'ingresso di utenti non registrati nel canale, e impedendo anche di parlare agli utenti non registrati presenti.
Se l'attacco continua anche dopo questa misura (cosa che può succedere se chi attacca è registrato), il bot imposta MODE +m per qualche secondo, in modo da silenziare completamente il canale.
Il canale DEVE avere impostato il MODE +f #ubuntu-it-unregged, in modo che gli utenti non registrati che tentano di entrare durante un attacco non vengano semplicemente respinti, ma entrino in #ubuntu-it-unregged dove il topic spiega loro la situazione.
Se un operatore decide di voler mantenere +r, +R o +m il canale per più tempo di quanto non farebbe FloodBot, deve impostare i MODE voluti un'altra volta. In questo modo, FloodBot non toccherà e non toglierà più niente.
Dopo che l'attacco è terminato, per poter facilmente rimandare tutti gli utenti da #ubuntu-it-unregged in #ubuntu-it, basta impostare un MODE +i su #ubuntu-it-unregged; il bot kickerà automaticamente tutti gli utenti, rimandandoli su #ubuntu.it
Gli attacchi possono essere di vario genere:
Mass join: se troppe persone entrano di colpo nel canale (più di quante stabilisca il limite che può essere controllato col comando status), a prescindere dal +J
Clone flood: se più persone floodano contemporaneamente
Gestione degli exploit
Oltre agli attacchi, esistono delle stringhe che possono essere inviate su IRC che disconnettono molti utenti, a causa di bug nei loro router o client IRC.
Se questo avviene, il FloodBot imposta dei ban-forward su #ubuntu-it-leggi-il-topic per tutti gli utenti colpiti dall'exploit, e li kicka - questo sia per proteggere loro dagli exploit, sia per assicurarsi che risolvano il problema in modo che diventi sempre meno "divertente" fare attacchi di questo genere.
Su #ubuntu-it-leggi-il-topic, le vittime di exploit ricevono dal bot istruzioni su come fare a risolvere il problema; dopo che l'avranno risolto, potranno chiedere al FloodBot un "test" che si assicura che effettivamente non siano più vulnerabili all'exploit. Se non lo sono, il bot toglie il loro ban-forward e li invita a rientrare in #ubuntu-it.
Il ban-forward viene inoltre tolto per gli utenti che non si sono fatti vedere da più di due settimane dopo l'exploit.
Gestione dei gateway WWW
Alcuni servizi, come Mibbit, permettono di collegarsi a IRC dal web. Sono comodi soprattutto per gli utenti che si ritrovano dei firewall che gli impediscono di accedere normalmente a IRC, ma sono purtroppo anche molto sfruttati per scopi abusivi.
Alcuni gateway però (e in particolare Mibbit) non sono affatto anonomi: infatti l'indirizzo IP dell'utente è visibile, in esadecimale, come ident, e l'hostname è presente nel "real name".
Grazie a ciò, è possibile assicurarsi che un utente Mibbit non sia in realtà stato precedentemente bannato, e usi Mibbit soltanto per evitare il ban; e allo stesso modo è possibile vedere, e bannare, l'hostname "vero" di un utente Mibbit (e non la sua cloak gateway, che cambia ad ogni sessione).
Impostare ban in questo modo è comunque scomodo. FloodBot può semplificare le cose.
Sul canale può essere impostato un ban-forward che mandi tutti gli utenti Mibbit (e/o altri proxy indesiderati) su #ubuntu-it-proxy-users. Un ban-forward del genere può essere impostato ad esempio con un MODE +b *!*@gateway/web/ajax/mibbit.com/*!#ubuntu-itproxy-users .
Quando un utente Mibbit tenterà di entrare in #ubuntu-it, e verrà invece mandato su #ubuntu-it-proxy-users, il bot controllerà che non sia un utente bannato. Se lo è, non lo lascerà entrare e lascierà un avviso per gli op, altrimenti imposterà un MODE +e che permetta all'utente di entrare in #ubuntu-it, e lo inviterà ad entrare.
Se un utente Mibbit viene kickato o silenziato, il bot imposterà automaticamente un ban valido per il suo hostname vero.