Di Massimo Carlotti, Sales Engineer Italy, CyberArk
La potenza della tool chain DevOps, degli account privilegiati e dei segreti ad essa associati la rendono una priorità per i team di sicurezza, insieme alla protezione degli ambienti di sviluppo e produzione stessi.
Ecco cinque consigli su come i CISO e i loro team di sicurezza dovrebbero prioritizzare la salvaguardia di strumenti e processi DevOps:
- Stabilire e applicare policy per la selezione e configurazione dei tool. Poiché non si può proteggere ciò che non si conosce la prima cosa da fare è l’inventario dei tool DevOps impiegati dai team di sviluppo. Anche se sfidante, si tratta di un’attività chiave per gli strumenti open source dato che il 58 percento delle aziende attuali utilizza pesantemente il software libero per ridurre al minimo la curva di apprendimento e velocizzare i cicli dei rilasci. Una volta identificate, conducete una valutazione attenta per individuare eventuali carenze di sicurezza ed indirizzarle prontamente. Per esempio, assicurarsi che gli strumenti non vengano utilizzati in configurazioni pericolose e che siano sempre aggiornati.
Quando si tratta di valutare nuovi tool, i security team dovrebbero sedersi allo stesso tavolo del gruppo responsabile della selezione e configurazione degli strumenti o collaborare con l’ufficio acquisti al fine di selezionare i più adatti e fissare gli standard di enterprise security sin dall’inizio.
- Controllare gli accessi ai tool DevOps. Poiché ai malintenzionati basta sfruttare una vulnerabilità per perpetrare la loro missione, è importante indirizzare i requisiti di security e le potenziali falle “a tutto tondo”. Si parte con le credenziali dei tool DevOps e di cloud management cifrati e custoditi in un vault protetto con autenticazione multi-fattore (MFA). Offrire accesso “just in time” di modo che gli utenti entrino solo per effettuare determinate attività previste dal loro ruolo – e monitorare attentamente tali ingressi.
Seguire altre pratiche di cyber hygiene come stabilire controlli di accesso che segreghino le pipeline DevOps affinché i malintenzionati non possano passare da una all’altra; in questo modo è possibile garantire che le credenziali e i segreti non vengano condivisi tra account DevOps e Windows sysadmin ed eliminando eventuali account superflui.
- Ridurre la concentrazione dei privilegi. Limitare il livello di accesso di ciascun utente al minimo necessario per il suo ruolo senza fermarsi a questa fase. Anche i tool DevOps dovrebbero essere configurati perché richiedano una doppia autorizzazione per alcune funzioni critiche.
- Assicuratevi che i code repository non espongano i segreti. Sviluppare policy risk-based per gli sviluppatori circa l’uso di code repository. È essenziale ricordare che, al di là delle credenziali, il codice potrebbe contenere dettagli circa la rete interna utili ai malintenzionati. È opportuno scandire l’ambiente per assicurarvi che qualunque code repository on-premise sia inaccessibile dall’esterno. Se i repository sono cloud-based, è importante accertarsi che siano configurati come privati. Infine, prima di inserire il codice nel repository, può essere utile attivare funzionalità di scansione automatica per essere certi non contenga segreti.
- Proteggere e monitorare l’infrastruttura. I cyber attacker cercano la strada più facile. Spesso, una email di phishing ben fatta può bastare per compromettere la propria rete, pertanto è il caso di assicurarsi che tutte le workstation e i server dispongano di patch, vulnerability scanning e security monitoring. Inoltre, l’infrastruttura cloud dovrebbe essere soggetta a monitoraggio alla ricerca di segnali di utilizzo inatteso di credenziali o modifiche alla configurazione. Le immagini di VM e container impiegate in ambienti di sviluppo e produzione devono provenire da fonti sicure ed essere aggiornate. Per ottimizzare il lavoro, i security team dovrebbero lavorare con le loro controparti DevOps per automatizzare la configurazione di VM e container di modo che, quando si crea una nuova macchina o container, vengano configurati automaticamente in modo sicuro e assegnati loro i controlli appropriati – senza richiedere l’intervento umano.