Sysdig
Learn Cloud Native

Sign up to receive our newsletter

Conformità PCI per container e cloud

Lo Standard di sicurezza dei dati dell’industria delle carte di pagamento, anche conosciuto come PCI DSS o a volte solo come PCI, risale al 2004, quando molte persone erano ancora ben lungi dal porsi domande sui container o sul cloud.

Ma solo perché i controlli del PCI sono arrivati prima delle moderne tecnologie, non vuol dire che non siano applicabili. Al contrario, garantire che i container e i servizi cloud vengano applicati in conformità con il PCI è fondamentale per tutte le aziende soggette alle regole di questo standard, ovvero tutte le aziende che, per qualche motivo, hanno a che fare con transazioni con carte di credito.

Questo articolo spiega tutto ciò che c’è da sapere per fare sì che i workload basati su container e cloud rispettino i requisiti di conformità del PCI DSS. Spiega inoltre cosa si intende per conformità PCI, quando questa si applica e come progettare workload cloud nativi in linea con i requisiti del PCI.

Cos’è la conformità PCI?

La conformità PCI indica un insieme di regole stabilite dalle principali società di carte di credito al fine di regolare i dati associati alle transazioni di pagamento. È supervisionata dal Payment Card Industry Security Standards Council, un’organizzazione di settore indipendente che controlla il quadro di conformità PCI e lo aggiorna periodicamente.

La versione attuale delle regole PCI DSS, aggiornate l’ultima volta a maggio 2018, è la versione 3.2. Ci si aspetta tuttavia una consistente revisione dello standard nel 2022, quando verrà emanato il PCI DSS 4.0. I documenti PCI DSS ufficiali son disponibili nella libreria del PCI Security Standards Council.

Chi deve rispettare i requisiti di conformità PCI?

Diversamente da quanto accade per molti altri requisiti normativi, il PCI non si riferisce solo alle aziende di una certa dimensione o che gestiscono un certo tipo di dati rilevanti. Non si limita neppure ad alcuni tipi di tecnologie o di giurisdizioni politiche.

Se un’azienda gestisce transazioni con carte di credito o i dati a esse associati in qualunque modo, è soggetta al PCI. Non importa dove si trovi la sede dell’azienda, quali siano le sue dimensioni o quali tipi di workload vengano utilizzati. Se le transazioni con carte di credito toccano il sistema in qualunque modo, è necessario rispettare i requisiti di conformità PCI.

Il mancato rispetto delle regole PCI determina multe e sanzioni che vengono valutate dalle società di carte di credito. Le sanzioni possono variare ma sono molto pesanti: le violazioni più gravi possono portare a multe anche superiori ai 500.000 dollari.

Vale la pena notare che, poiché molti dei requisiti PCI si sovrappongono ad altre regole di conformità (quali quelle del GDPR e del CPRA), il loro mancato rispetto potrebbe determinare anche problemi con le autorità normative statali. E quindi, sebbene il PCI DSS sia stato redatto e sia amministrato da un gruppo di settore e non da un’agenzia governativa, determina importanti implicazioni per le aziende soggette anche a obblighi di conformità governativi.

Quali sono le regole di conformità PCI?

Sebbene le diverse versioni del PCI DSS varino leggermente nei requisiti, condividono tutte un set di regole fondamentali che le aziende devono rispettare quando progettano, applicano e gestiscono sistemi che, in qualunque modo, elaborano le transazioni con carte di credito.

Le principali regole PCI includono:

  • Sicurezza di rete: Le aziende devono pianificare e applicare misure di difesa della sicurezza di rete.
  • Sicurezza dei dati: I dati sensibili associati alle transazioni con carte di credito (e quindi non solo i numeri di carta ma anche i dati relativi ai titolari, quali nomi e indirizzi) devono essere archiviati in modo sicuro.
  • Gestione delle vulnerabilità: Le aziende devono prevedere e rispettare regole per il rilevamento e la correzione dei problemi per la sicurezza a tutti i livelli dell’ambiente.
  • Test e controllo: È necessario svolgere regolarmente test e controlli.
  • Controllo degli accessi: Gli accessi devono essere controllati in tutte le risorse IT al fine di mitigare il rischio derivante da accessi non autorizzati a dati sensibili e sistemi. Il controllo degli accessi deve anche essere effettuato sui sistemi fisici.
  • Politiche di sicurezza: Le aziende devono stabilire politiche di sicurezza applicabili ai loro team interni e a qualunque appaltatore o fornitore con cui lavorano.

PCI DSS, container e cloud

I requisiti PCI sono stati pensati per essere ampi e applicabili a tutte le tecnologie e a tutti gli ambienti IT. Non menzionano container né ambienti cloud, né contengono raccomandazioni specifiche sul modo in cui tali risorse devono essere configurate per rispettare le regole di conformità PCI.

Al contrario, la responsabilità di interpretare le regole del PCI nel contesto di ambienti basati su container o cloud spetta alle aziende. E sebbene l’esatta natura degli sforzi profusi vari in base alla struttura dell’ambiente containerizzato o cloud, di seguito presentiamo alcune migliori prassi da ricordare quando si gestiscono applicazioni o infrastrutture che includono container o cloud.

Conformità PCI dei container

Per certi versi, i container semplificano la conformità PCI perché isolano i workload, il che risulta in linea con alcune delle regole di conformità PCI associate alla sicurezza di rete e al controllo degli accessi.

Questo tuttavia non significa che distribuire i workload nei container sia sufficiente per garantire la conformità PCI. Al contrario, bisogna adottare diverse misure aggiuntive per evitare problemi legati alla conformità PCI quando si utilizzano i container:

  • Isolamento della rete: È necessario isolare ciascun container per impedirgli di accedere a risorse in rete a meno che non esista una necessità specifica che motivi l’accesso. È possibile isolare la rete utilizzando le policy di rete in Kubernetes (se si utilizza Kubernetes), iptables o un altro firewall a livello di OS.
  • Controllo degli accessi sui container: Ciascun container dovrebbe essere in grado di accedere solo ai processi, agli archivi e alle altre risorse esterne che sono strettamente necessari. Bisogna impedire ai container di funzionare in modalità privilegiata e bisogna sfruttare al meglio strumenti quali RBAC di Kubernetes e i contesti di protezione per bloccare i container in uso.
  • Controllo degli accessi all’host: Bisogna inoltre accertarsi di effettuare rigidi controlli degli accessi all’interno dei sistemi operativi dei server che ospitano i container. La procedura per fare ciò dipende dall’OS specifico in uso e dal modo in cui sono progettati i server. In generale, però, sarà per esempio necessario disattivare gli account utente non necessari, bloccare gli accessi SSH dall’Internet pubblico e chiudere le porte non necessarie.
  • Aggiornamento della sicurezza dei container: Per rispettare le regole PCI per la gestione delle vulnerabilità, è necessario accertare che l’agente di orchestrazione, il runtime e i sistemi operativi siano aggiornati.
  • Scansione delle immagini dei container: È necessario scansionare le immagini dei container prima della distribuzione per rilevare eventuali malware o componenti non sicuri.
  • Monitoraggio della sicurezza dei container: È necessario monitorare l’ambiente dell’applicazione containerizzata alla ricerca di segnali che indichino violazioni in tempo reale.
  • Controllo dell’ambiente dei container: Bisogna effettuare controlli su base regolare (ad esempio ogni trimestre, ma meglio in modo continuo) per rilevare e correggere le configurazioni non sicure. Risorse quali lo strumento di controllo di Kubernetes sono utilissime a questo scopo, così come le strategie di controllo dei template IaC adottate nei cluster.
  • Stabilire regole di governance per i container: È necessario creare regole di governance sicure per definire in che modo i team possono utilizzare i container. Per esempio, si deve determinare quali workload sono autorizzati a condividere un namespace e quali procedure bisogna seguire quando si pubblicano le immagini di un container in un registro.

Conformità PCI del cloud

La conformità PCI del cloud è un po’ complessa a causa del modello di responsabilità condivisa nel quale operano i provider di cloud pubblico. La responsabilità condivisa prevede che i provider dei cloud siano responsabili di allinearsi solo ad alcune delle regole di conformità PCI, ad esempio garantendo la sicurezza fisica dei data center e controllando la sicurezza dell’infrastruttura di backend.

Tuttavia, oltre ad assicurare che il provider rispetti le principali regole di conformità PCI (e di solito tutti i principali provider di cloud lo fanno), accade che il grosso della responsabilità relativa alla conformità del cloud ricada sulle aziende che lo utilizzano. A questo proposito, è bene aderire alle seguenti prassi:

  • Utilizzare IAM nel cloud: Applicare un controllo granulare degli accessi utilizzando lo strumento di Identity and Access Control (IAM) fornito dal provider. Le policy IAM devono applicare il principio dei privilegi minimi, il che significa che ciascun utente e ciascuna risorsa possono accedere solo alle risorse di cui hanno bisogno in modo specifico.
  • Controllo IAM: È necessario scansionare automaticamente i template IAM per rilevare errori di configurazione che potrebbero creare problemi alla sicurezza.
  • Isolamento della rete del cloud: Utilizzando strumenti quali i VPC, bisogna isolare i workload all’interno del cloud a livello di rete.
  • Controllo degli accessi all’archiviazione cloud: Bisogna utilizzare le policy IAM per impedire gli accessi non autorizzati ai dati archiviati nel cloud.
  • Identificazione dei dati nel cloud: È necessario valutare l’utilizzo di strumenti per prevenire la perdita di dati nel cloud, che aiutano a individuare i dati sensibili presenti all’interno dei bucket di archiviazione, dei database e dei file system. Questi strumenti sono anche in grado di rilevare dati quali numeri di carte di credito in ubicazioni nelle quali potrebbero passare inosservati.
  • Controllo del cloud: Si devono svolgere controlli regolari o continui dell’ambiente cloud per individuare errori di configurazione che potrebbero causare violazioni della sicurezza. Alcuni provider di cloud offrono servizi di controllo nativi, ma potrebbe risultare più conveniente utilizzare una soluzione di terze parti in grado di controllare più ambienti cloud (o ambienti cloud e ambienti on-premise) nello stesso momento.
  • Governance del cloud: Si devono stabilire politiche di governance per controllare i workload dell’azienda nel cloud. Porsi domande come: Quali dipendenti possono creare quali tipi di risorse cloud? Quando i dipendenti o i team possono condividere un account cloud e quando i workload devono invece girare su account separati? Quali sono le regole di assegnazione dei tag che gli utenti devono seguire quando creano i workload per minimizzare il rischio che le risorse cloud vengano create e poi dimenticate (il che non solo fa perdere soldi ma aumenta anche i rischi per la sicurezza, perché queste risorse cloud non monitorate sono ideali per gli attacchi)?

Conclusione

Il PCI DSS è un argomento complesso e non esiste un’unica regola da seguire per garantire la conformità PCI per container e workload basati sul cloud. Ogni azienda avrà un approccio unico alla conformità PCI.

In generale, tuttavia, la conformità PCI di container e cloud si riassume in due semplici concetti. Il primo: è necessario utilizzare gli strumenti disponibili – come RBAC di Kubernetes e gli strumenti IAM – per garantire che i workload siano il più sicuri possibile fin dall’inizio Il secondo: è necessario utilizzare strumenti di monitoraggio e controllo della sicurezza per rilevare i problemi che si verificano negli ambienti nonostante la più attenta delle pianificazioni.

Adottando le misure necessarie per creare ambienti sicuri per definizione e ricercando continuamente le vulnerabilità, è possibile massimizzare l’allineamento con le diverse regole PCI che riguardano la sicurezza delle reti e dei dati, la gestione delle vulnerabilità o il controllo degli accessi.