## page was renamed from FloodBot <> 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. ---- CategoryComunitaIrc