Voxxed Days: DevOoops! Increase awareness around DevOps infra security
Per chi non lo conoscesse, Gianluca Varisco si occupa di sicurezza da quando nella culla giocava con il sapientino e ne violava il sistema per permettergli di ripetere le parolacce. Scherzi a parte, Gianluca è un System and Security engineer ritenuto uno dei massimi esperti del campo nonostante abbia solo 26 anni ed ha detenuto lo scettro del più giovane certificato RedHat Linux in Europa. Durante il Voxxed days in Ticino, ho avuto l’occasione e il piacere di rivederlo.
Dopo le esperienze in RedHat e in Bravofly, attualmente è l’ Head of Global Security in Rocket Internet, multinazionale nell’ eCommerce, presente ovunque nel mondo e fortissima in Asia.
Durante la sua presentazione ha attirato l’attenzione dei DevOps sui problemi legati alla sicurezza degli strumenti di sviluppo usati dai professionisti del settore. Ecco i punti trattati nel talk:
- GitHub
- Revision control tools
- Continuous integration tools
- AWS config files
- Client provisioning tools
- Elasticsearch
- In-memory databases
Per ognuno di questi punti, Gianluca ha mostrato i punti deboli e i modi per tappare le falle per evitare rischi a volte anche molto gravi: dal furto del codice all’inserimento di codice malevolo e altro.
GitHub
GitHub è uno dei repository di codice pubblico e/o privato più diffusi ed usato da moltissimi team di sviluppo anche per le potenti estensioni a disposizione. Queste possono esporre dump di schemi mysql, ftp server, oppure estensioni php che permetterebbero esecuzione di codice remoto tramite “preg_replace”, solo per fare alcuni esempi.
Altro problema è la possibilità di committare codice impersonando altre persone semplicemente modificando il file .gitconfig. Sfortunatamente, una vota segnalato a GitHub, la risposta è semplicemente stata “Dicci chi ha committato come se fossi tu e toglieremo le commit..” che non è una risposta che ci si aspetta da una grande azienda…
Per mitigare o eliminare questi rischi, Gianluca consiglia l’audit degli accessi e delle commit, di assicurarsi che gli utenti usino la double authentication, e di cancellare i private fork delle persone vanno via dall’azienda.
Revision control tools
In questa parte il focus si è spostato soprattutto prevalentemente su git e subversion.
Su git Gianluca ha mostrato come, esponendo il .git via web, si da la possibilità di accedere a una gran quantità di dati: dai backup degli schemi fino alle chiavi di sessione passando per chiavi pubbliche e private, email e molto altro. Se il web server ha la direttiva DirectoryIndex=ON ci sono dei rischi notevoli e con la direttiva ad OFF vengono mitigati ma non esclusi.
Su subversion abbiamo visto come Metasploit possa essere usato facilmente per recuperare il file wc.db da usare per mappare tutti i files.