Ogni tanto anche gli informatici fanno delle presunzioni ardite ed errate. Come ho fatto io con DokuWiki.
L’ho installato direttamente da Plesk e ho pensato “beh, sarà una versione aggiornata”, alla fine di solito il tool automatico scarica una versione abbastanza recente delle applicazioni.
Inoltre DokuWiki, per il suo essere essenzialmente text based, non è nemmeno noto per aver bisogno di chissà quale controllo: non è WordPress che lo tieni sott’occhio, metti qualche plugin che sorveglia e appena ti arriva l’email di aggiornamento la fai di corsa prima che esce qualche exploit strano.
Ultima cosa, che ha nettamente favorito il mio errore, è la relativa statisticità del software: DokuWiki è un software che è cambiato poco nella sua storia, i plugin sono compatibili quasi sempre e la grafica è uguale da quando esiste.
Poi, oggi, il mio hosting – che ringrazio per la professionalità nel gestire la cosa – mi sospende il profilo con cui gestisco il DokuWiki e mi avvisa che quest’ultimo ha mandato 8’000 “mail infette” con titolo “[nome wiki] Your DokuWiki password”.
Non mi hanno purtroppo detto il contenuto, quindi non so se era davvero una falla nel codice di DokuWiki che ha permesso di inviare materiale infetto o se era semplicemente un tentativo di accesso fatto male che avvivava la procedura di recupero password, in ogni caso 8’000 email di spam sono un problema.
Al che, ovviamente, mi metto a indagare e scopro che la versione di DokuWiki che avevo è… Del 2013.
Perché Plesk installa quella di default e DokuWiki non include un tool di aggiornamento e nemmeno un qualche avviso sul fatto che stai usando una versione vecchia di sette anni.
Non è una delle migliori pratiche nello sviluppo software, sia chiaro: se sviluppate un qualche sistema che prevede il rilascio al pubblico “di massa” ricordatevi di implementare un meccanismo che permetta di sapere se il software è aggiornato o quantomeno avvisi se la versione in uso è vecchia.
Detto ciò, ho comunque fatto una cazzata io: quando si installa un software sul proprio sistema andrebbe verificato. Ahimè ho decisamente tralasciato un punto tanto minimo quanto fondamentale, ritenendo quasi automatico il fatto che venendo da Plesk non poteva che essere aggiornata, focalizzandomi su altri punti più oscuri come una Remote File Inclusion.
Come avevo già detto tempo addietro spesso sono le disattenzioni minime a creare rischi enormi: ci si concentra su certe cose, le si rende sicure per tutto, incluso quell’attacco appena visto su LiveOverflow provato mezza volta in una CTF cinese, tranne che per il punto debole che poi ti fotte.
Detto questo, spero di potermi fare perdonare dandovi tre consigli sul da farsi se usate DokuWiki, specialmente su Plesk:
- Installate il plugin Upgrade e usatelo per aggiornare la vostra installazione di DokuWiki
- Togliete a DokuWiki l’accesso all’e-mail: nemmeno con questo aggiornamento mi ha chiesto qualcosa come una chiave per usare Recaptcha, non posso essere certo quindi che anche con l’ultimo aggiornamento il software sia immune all’uso spammoso. Tanto, onestamente, DokuWiki si confà a piccole Wiki dove la procedura di iscrizione manuale è fattibile: se vi serve qualcosa di migliore, usate MediaWiki o qualche prodotto rodato come si deve
- Se proprio non potete usare i database e volete aprire alle email usate uno dei plugin che permettono di inserire un CAPTCHA (li trovate su Google cercando “DokuWiki CAPTCHA”)
Detto questo, ironicamente, nonostante io mi identifichi principalmente come sistemista per ora i miei software, per quanto scritti obiettivamente col culo a livello di pratiche di programmazione (vorrei farvi vedere, presto lo farò quando sarà pronto, la differenza tra il software dizionario che scrissi io da zero e quello scritto con tutti i crismi dal buon Lemonz) non mi hanno mai causato problemi di sicurezza (l’unica volta, sempre legata a mail di spam, fu dovuta a un mio errore da sistemista nel caricare un file di test).
Suppongo che, tutto sommato, davanti all’IDE io ragioni da sistemista, pensando a qualsiasi cosa possa andare storta, sistemandola e tirando poi fuori il cappellino nero provandola a spaccare con tool ragionevoli per l’uso che se ne farà.
Oppure, com’è ben noto, chi non fa sbaglia e se programmare costituisce il 10% di quel che faccio è ben più probabile che faccia la cazzata nel 90% e non nel 10%.
Secondo me contano entrambi i fattori. Fammi sapere pure ciò che pensi nei commenti.
Pingback: Il disastro (che è successo ieri?) – Computer Blog
Voglio vedere il dizionario. Ormai sono passati diversi mesi. 😀
E il frontend non è ancora finito, pensa un po’!