Controllo degli accessi e crittografia
Protegga i dati a riposo
Controllo degli accessi e crittografia è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Protezione dei dati a riposo
I database custodiscono i dati più preziosi, quindi due controlli sono fondamentali: il controllo degli accessi (chi può accedere ai dati) e la crittografia (che rende i dati inutilizzabili se vengono sottratti).
Insieme, proteggono i dati sia mentre il sistema è in esecuzione sia nel caso in cui vengano esfiltrati dischi o backup.
Autenticazione e autorizzazione a confronto
Tenga distinti i due concetti:
- l'autenticazione dimostra chi è (login, certificato, token IAM);
- l'autorizzazione stabilisce cosa può fare dopo l'identificazione.
Una solida sicurezza del database richiede entrambi: identità verificate e autorizzazioni strettamente limitate.
Principio del privilegio minimo
Conceda a ogni account solo le autorizzazioni necessarie, senza nulla di più. Un servizio di reportistica dovrebbe avere accesso in sola lettura; un'applicazione che scrive non dovrebbe poter eseguire DROP sulle tabelle.
CREATE ROLE report_reader;
GRANT SELECT ON sales.* TO report_reader;
GRANT report_reader TO 'analytics_svc'@'%';Controllo degli accessi basato sui ruoli
RBAC raggruppa le autorizzazioni in ruoli e assegna i ruoli agli utenti. Questo approccio è più scalabile rispetto alla concessione di privilegi per singolo utente e rende chiari gli audit.
- Definisca i ruoli:
read_only,app_writer,dba. - Assegni gli utenti ai ruoli.
- Esamini regolarmente l'appartenenza ai ruoli.
Sicurezza a livello di riga e di colonna
Un controllo granulare limita l'accesso all'interno di una tabella.
- A livello di colonna: nasconde le colonne dello stipendio o del SSN ad alcuni ruoli.
- Sicurezza a livello di riga (RLS): un tenant vede solo le proprie righe.
-- PostgreSQL row-level security
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON orders
USING (tenant_id = current_setting('app.tenant')::int);Crittografia a riposo
La crittografia a riposo protegge i dati presenti sul disco. Se qualcuno sottrae l'unità o un file di backup, il contenuto non è leggibile senza la chiave.
Le opzioni includono la crittografia dell'intero disco, la crittografia del file system e la Transparent Data Encryption (TDE) nativa del database.
Transparent Data Encryption
TDE crittografa automaticamente i file del database. Non sono necessarie modifiche alle applicazioni: il motore crittografa durante la scrittura e decrittografa durante la lettura. Protegge dai file sottratti, ma non da un aggressore che dispone già di una sessione DB valida.
-- SQL Server example concept
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE tde_cert;
ALTER DATABASE appdb SET ENCRYPTION ON;Crittografia a livello di colonna
Per i campi particolarmente sensibili, come numeri di carta e dati sanitari, crittografi le singole colonne. Il testo in chiaro non viene mai memorizzato nel database, nemmeno per un DBA.
Compromesso: le colonne crittografate sono difficili da indicizzare e cercare, quindi applichi questa tecnica in modo selettivo.
Crittografia in transito
Anche i dati trasmessi sulla rete devono essere protetti. Richieda TLS per tutte le connessioni tra client e database, così le credenziali e i set di risultati non possono essere intercettati.
-- PostgreSQL: force SSL in pg_hba.conf
hostssl appdb webapp 0.0.0.0/0 scram-sha-256
-- reject non-TLS:
hostnossl appdb all 0.0.0.0/0 rejectGestione delle chiavi
La crittografia è sicura quanto la gestione delle relative chiavi. Non memorizzi mai le chiavi accanto ai dati che proteggono.
- Utilizzi un Key Management Service (KMS) o un HSM.
- Ruoti le chiavi secondo una pianificazione.
- Separi le responsabilità: il DBA non dovrebbe detenere anche la chiave master.
Mettere insieme tutti gli elementi
Un modello a livelli per i dati a riposo:
- Autentichi ogni connessione (TLS + credenziali forti).
- Gestisca le autorizzazioni tramite RBAC e il principio del privilegio minimo.
- Applichi RLS e la sicurezza a livello di colonna quando servono controlli granulari.
- Crittografi i dati a riposo (TDE) e le colonne sensibili in modo specifico.
- Gestisca le chiavi in un KMS separato dal database.
Verifica rapida
Ragioni su ciò da cui protegge ciascun controllo.
Riepilogo
I dati a riposo sono protetti combinando il controllo degli accessi e la crittografia:
- Distingua l'autenticazione dall'autorizzazione.
- Applichi il principio del privilegio minimo e RBAC, oltre alla sicurezza a livello di riga e di colonna quando necessario.
- Crittografi i dati a riposo (TDE e livello di colonna) e in transito (TLS).
- Gestisca le chiavi separatamente in un KMS e le ruoti.
Domande Frequenti
La lezione «Controllo degli accessi e crittografia» è gratuita?
Sì — il testo completo di «Controllo degli accessi e crittografia» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Controllo degli accessi e crittografia»?
Protegga i dati a riposo Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Controllo degli accessi e crittografia»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Difesa dagli attacchi SQL injection
- Controllo degli accessi e crittografia
- Audit e monitoraggio
- Sicurezza di backup e ripristino