Mantenere l'esterno all'esterno.
CC6.6 è il criterio SOC 2 che riguarda la protezione da minacce provenienti da fonti esterne ai confini del sistema: il perimetro. Richiede di implementare controlli di accesso tra il mondo esterno e i propri sistemi, in modo che ciò che dovrebbe essere accessibile solo internamente non sia esposto a internet. Gran parte di questo perimetro è ora definito come infrastruttura-as-code: un gruppo di sicurezza, una regola del firewall, una policy di rete, il che significa che viene decisa in una pull request e può essere allargata in un'unica modifica.
The shapes the same control failure takes.
CC6.6 si indebolisce quando una modifica apre il confine, di solito per rendere qualcosa accessibile rapidamente. Le forme ricorrenti:
Un firewall o un gruppo di sicurezza aperto al mondo
La sorgente di una regola di ingresso viene allargata a 0.0.0.0/0 (o ::/0), quindi una porta che era accessibile solo internamente ora è accessibile da tutto internet.
Una risorsa gestita resa accessibile pubblicamente
Un database, una cache o un bucket passa da privato a pubblico (una flag di accesso pubblico, una subnet pubblica), quindi può essere raggiunto direttamente dall'esterno invece che solo tramite l'applicazione.
Una porta di amministrazione o gestione esposta
SSH, RDP, una porta di database o una console di amministrazione viene aperta a internet invece di essere accessibile tramite un bastion o una VPN.
Una lista di consentiti allargata
Un intervallo di sorgenti restrittivo viene ampliato, un singolo indirizzo diventa un intero intervallo o una lista di consentiti include un wildcard, quindi più parti esterne possono accedere.
Un controllo di confine bypassato
Un nuovo percorso salta il bilanciatore di carico, il gateway o il WAF che protegge il sistema, quindi il traffico esterno raggiunge direttamente un servizio interno.
Un gruppo di sicurezza che apre un database a internet.
Un database Postgres gestito, posizionato su un endpoint instradabile pubblicamente, deve essere accessibile dal laptop di un ingegnere per una migrazione una tantum, quindi la sorgente della regola di ingresso viene allargata per farla funzionare. La modifica rapida viene lasciata, e ora il gruppo di sicurezza accetta connessioni da qualsiasi indirizzo, non solo dalla subnet dell'applicazione, su un database che ha un percorso da internet.
resource "aws_security_group_rule" "db_ingress" { from_port = 5432- cidr_blocks = [var.app_subnet_cidr]+ cidr_blocks = ["0.0.0.0/0"]}Questo rimuove la restrizione di origine sulla porta del database, quindi il gruppo di sicurezza ora consente l'ingresso da qualsiasi indirizzo; su un database che ha un percorso da internet, significa da tutto internet. CC6.6 riguarda la protezione da minacce esterne al confine del sistema, e un database accessibile da qualsiasi parte è esattamente l'esposizione che intende prevenire. Limita la sorgente alla subnet o al gruppo di sicurezza dell'applicazione, o accedici tramite un bastion per accessi una tantum, invece di 0.0.0.0/0.
Il perimetro viene verificato in base a ciò che è effettivamente accessibile.
Un auditor non accetta per buono il fatto che 'abbiamo un firewall'; esamina il confine effettivo: quali porte sono aperte, a quali sorgenti e se qualcosa che dovrebbe essere interno è accessibile dall'esterno. Un gruppo di sicurezza aperto a 0.0.0.0/0, un database impostato come accessibile pubblicamente o una porta di amministrazione esposta a internet è il tipo di eccezione che diventa un riscontro, e di solito è arrivata con una singola modifica all'infrastruttura. Rilevarla al diff impedisce che l'esposizione finisca nell'ambiente che il controllo campiona.
Una revisione, non una scansione di rete.
heygrc segnalare le modifiche che interessano CC6.6 e cita il criterio in modo che la correzione avvenga nella pull request. Non esegue scansioni del perimetro né strumenti di valutazione della postura cloud. Rileva il momento in cui una modifica apre il confine, al diff.