La lliçó anterior va acabar amb una observació incòmoda: POL-02 diu que l'accés de tercers «ha de ser nominal, amb MFA i just-in-time» i POL-04 diu que els equips «han de mantenir actiu el xifratge de disc», però cap de les dues frases no protegeix res per si mateixa. Algú ha de configurar l'MFA, comprovar que els 40 portàtils estan xifrats de debò, verificar-ho periòdicament i deixar constància que ho va verificar. Aquest «algú fent alguna cosa comprovable» és el control, el tercer vèrtex del triangle que tanques aquí: el risc diu què pot passar, la política diu què exigim, i el control és el que fa que sigui cert. Acabaràs amb les dues classificacions que cal dominar, el catàleg de controls de Nimbus com a artefacte reutilitzable, les mètriques que distingeixen un control implantat d'un d'eficaç, i la matriu de traçabilitat que salva una auditoria.
Contingut
- Què és exactament un control i com tanca el triangle
- Classificació per naturalesa: administratiu, tècnic i físic
- Classificació per funció: de preventiu a compensatori
- Per què un risc necessita controls de diverses funcions
- Catàlegs de referència: CIS v8, ISO 27002 i NIST SP 800-53
- Com se selecciona un control, i el cost que tothom oblida
- Controls compensatoris: legítims i excuses
- El catàleg de controls de Nimbus
- Implantat no és eficaç: evidències, proves i mètriques
- La matriu de traçabilitat risc → control → evidència
- Deriva de controls: per què es degraden sols
- Què és exactament un control i com tanca el triangle
Un control de seguretat és una mesura concreta, amb propietari, que redueix la probabilitat o l'impacte d'un risc i el funcionament de la qual es pot comprovar. Els tres elements d'aquesta definició són igualment obligatoris: si no té propietari, no es manté; si no redueix cap risc identificat, és decoració; i si no es pot comprovar, no sabràs mai si continua funcionant.
flowchart LR
R["RISC (04-01)\nQue pot passar i quant fa mal.\nR-01, R-06..."]
P["POLITICA (04-02)\nQue exigim i per que.\nPOL-02 5.4.2"]
C["CONTROL (04-03)\nEl que s'implanta i es VERIFICA.\nC-03 acces just-in-time"]
E["EVIDENCIA\nRegistre, captura, informe\namb data"]
R -->|"justifica"| P
P -->|"exigeix"| C
C -->|"redueix el residual de"| R
C -->|"produeix"| E
E -->|"demostra davant auditoria (06-04)"| P
| Risc | Política | Control | |
|---|---|---|---|
| Pregunta que respon | Què pot passar? | Què exigim? | Què fem i com ho provem? |
| Document | Registre de riscos | POL-NN | Catàleg de controls |
| Canvia | En canviar l'exposició | Cada any | En canviar la tecnologia |
| Si falta | Es protegeix a l'atzar | La decisió no sobreviu | No passa res del que està escrit |
I un matís de vocabulari que evita confusions: control, mesura i salvaguarda són sinònims a la pràctica. La ISO 27002 diu «control», CIS diu «salvaguarda» (safeguard) i NIST diu «control». El que sí que convé distingir és control d'eina: un antivirus és una eina; «programari maliciós detectat i contingut a l'endpoint, amb alerta atesa en menys de 4 hores» és un control. L'eina sense el procés al seu voltant no és un control, és una llicència pagada.
- Classificació per naturalesa: administratiu, tècnic i físic
| Naturalesa | Què és | Exemples a Nimbus | Qui el manté |
|---|---|---|---|
| Administratiu (organitzatiu) | Regles, processos i decisions sobre persones | POL-02; recertificació semestral d'accessos; formació anual; verificació de pagaments per canal alternatiu; clàusules de proveïdor | Marta, Sara |
| Tècnic (lògic) | Configuració i programari que aplica la regla | MFA FIDO2; RLS a PostgreSQL; WHERE tenant_id; URL signades de 120 s; xifratge de disc; escàner de secrets al CI; còpies immutables |
Lucía, Iván |
| Físic | Protecció de l'entorn material | Pany de l'oficina de València; armari amb clau per al disc de còpies; política de taules netes; destrucció segura de documents | Lucía, Sara |
Tres observacions que valen més que la taula. Els administratius solen ser gratis i són els que més s'obliden: de les 12 mesures de més retorn de 02-04, diverses de cost nul són administratives —el procediment de verificació de pagaments, la revisió trimestral d'accessos de tercers o el pla de resposta escrit—. Un control tècnic sense el seu administratiu no se sosté: instal·lar MFA és tècnic, però decidir en quins comptes és obligatori, qui autoritza les excepcions i qui revisa la cobertura és administratiu, i sense això la cobertura baixa sola amb cada alta nova. I Nimbus té poca superfície física, no zero: amb mitja plantilla en remot, el control físic rellevant no és la porta de l'oficina, sinó que el portàtil de l'Iván estigui xifrat i bloquejat en una cafeteria de València.
- Classificació per funció: de preventiu a compensatori
Aquesta és la classificació que de debò canvia decisions, perquè descriu en quin moment de l'incident actua el control.
| Funció | Quan actua | Què fa | Exemple a Nimbus |
|---|---|---|---|
| Dissuasiu | Abans | Desanima l'atacant o l'usuari descuidat | Avís de sessió registrada al bastió; bàner de correu extern; comunicar que hi ha auditoria |
| Preventiu | Abans | Impedeix que passi | MFA FIDO2; grup de seguretat tancat; WHERE tenant_id; gestor de secrets; validació d'entrada |
| Detectiu | Durant o després | Descobreix que està passant o que va passar | Alerta de volum de sortida anòmal; alerta d'accés administratiu fora de finestra; taula d'auditoria append-only; escaneig extern mensual |
| Correctiu | Després | Repara la fallada i n'elimina la causa | Rotació de credencials exposades; aplicació de pedaços amb termini; revocació de tokens per kid; reconstrucció del servidor |
| Recuperatiu | Després | Retorna el servei i les dades | Restauració des de còpia immutable; commutació a la regió secundària; procediment manual d'emergència |
| Compensatori | Permanent | Substitueix un control impossible d'implantar | Revisió creuada de canvis quan no hi ha separació de funcions |
Dues precisions sobre les quals la gent s'equivoca. La primera: dissuasiu i preventiu no són el mateix. Un cartell de «zona videovigilada» dissuadeix; el pany preveu. En sistemes, l'avís que la sessió queda enregistrada dissuadeix el tècnic de la consultora de fer el que no ha de fer, però no l'hi impedeix. La segona: correctiu i recuperatiu tampoc no ho són. El correctiu elimina la causa —rotes la credencial filtrada—; el recuperatiu retorna l'estat —restaures la base de dades—. Recuperar sense corregir et deixa restaurant el mateix sistema una vegada i una altra per al mateix atacant.
- Per què un risc necessita controls de diverses funcions
Si només prevens, no te n'assabentes quan la prevenció falla. I la prevenció sempre falla alguna vegada: aquesta és la premissa del principi «assumeix la bretxa» d'01-03. Aplicat a l'incident de ransomware de 02-06, el desglossament per funcions mostra exactament on era el forat de Nimbus:
| Funció | Control que hauria d'haver existit | Existia a 02-06? | Què hauria canviat |
|---|---|---|---|
| Dissuasiu | Avís de sessió enregistrada en accedir la consultora | No | Poc; l'atacant no era la consultora |
| Preventiu | MFA a l'accés d'A-19; secrets en gestor, no en .env |
No | Hauria impedit l'entrada o tallat l'escalada |
| Detectiu | Alerta d'accés fora de finestra; alerta d'1,2 TB de sortida | No | Detecció el dia 0 o el 13 en lloc del dia 20 |
| Correctiu | Rotació immediata de credencials; revocació de sessions | No, perquè ningú no va detectar res | Hauria expulsat l'atacant |
| Recuperatiu | Còpies immutables en compte separat, amb restauració provada | No | Recuperació en hores en lloc de setmanes |
| Compensatori | Revisió creuada de l'accés privilegiat (només hi ha una Lucía) | No | Hauria qüestionat l'accés permanent |
Nimbus tenia zero controls en cinc de les sis funcions, i aquesta és l'explicació completa de per què un incident evitable es va convertir en catastròfic. Fixa't en el patró: cada funció compra temps o dany diferent. La prevenció evita l'incident; la detecció redueix la seva durada —la variable que més determina el dany segons la conclusió de 02-06—; la recuperació decideix si l'empresa sobreviu. D'aquí la regla pràctica: tot risc de banda Alta o Crítica del registre de 04-01 ha de tenir, com a mínim, un control preventiu, un de detectiu i un de recuperatiu. Si en emplenar el catàleg una d'aquestes tres caselles queda buida per a un risc Crític, has trobat la teva tasca següent sense cap més anàlisi.
- Catàlegs de referència: CIS v8, ISO 27002 i NIST SP 800-53
Fer servir un catàleg en lloc d'inventar controls té tres avantatges: no se t'obliden categories senceres, el vocabulari coincideix amb el dels teus clients i auditors, i cada control porta la seva justificació escrita. L'inconvenient és que cap no està pensat per a 38 persones, així que cal seleccionar.
| Catàleg | Què és | Quan usar-lo |
|---|---|---|
| CIS Critical Security Controls v8 | 18 controls amb ~153 salvaguardes, ordenats per prioritat i agrupats per grups d'implementació | La millor opció per començar en una pime: et diu què fer primer |
| ISO/IEC 27002:2022 | 93 controls en quatre temes (organitzatius, persones, físics, tecnològics) amb guia d'implantació | Quan persegueixes la certificació ISO 27001 o un client te l'exigeix |
| NIST SP 800-53 | Més de 1.000 controls en 20 famílies, molt exhaustiu | Contractació pública nord-americana o entorns molt regulats. Excessiu per a Nimbus |
| Annex A d'ISO/IEC 27001 | La llista de referència contra la qual es justifica l'aplicabilitat en una certificació | Només si et vas a certificar (el detall és de 06-02) |
Els grups d'implementació de CIS són l'aportació més útil per a una pime:
| Grup | Perfil | Salvaguardes | Aplicabilitat a Nimbus |
|---|---|---|---|
| IG1 | Organització petita, sense equip de seguretat dedicat. És la «higiene cibernètica essencial» | ~56 | L'objectiu realista i suficient per a aquest any |
| IG2 | Amb equip de seguretat i dades sensibles de diversos clients | +74 | Objectiu a 2-3 anys, o abans si un client gran ho exigeix |
| IG3 | Exposada a atacants avançats | +23 | No s'aplica |
Que Nimbus es marqui IG1 complet és una decisió defensable, mesurable i assolible, i sona molt millor davant un client que «tenim diverses mesures». Els seus 18 controls, amb els que s'apliquen a Nimbus destacats: inventari d'actius (1) i de programari (2), protecció de dades (3), configuració segura (4), gestió de comptes (5) i d'accessos (6), gestió de vulnerabilitats (7), registres d'auditoria (8), proteccions de correu i navegador (9), defensa contra programari maliciós (10), recuperació de dades (11), gestió d'infraestructura de xarxa (12), monitoratge (13), formació i sensibilització (14), gestió de proveïdors (15), seguretat del programari (16), gestió d'incidents (17) i proves de penetració (18).
I un advertiment: el catàleg no substitueix la teva avaluació de riscos. CIS ordena pel que li passa a la majoria; el teu registre ordena pel que et passa a tu. Parteix del risc i fes servir el catàleg per no oblidar res, no a l'inrevés.
- Com se selecciona un control, i el cost que tothom oblida
flowchart TB
R["1. Risc del registre (04-01)\nR-02 destruccio de copies"] --> B["2. Buscar al cataleg\nCIS 11 - Recuperacio de dades"]
B --> E["3. Valorar EFICACIA\nquant redueix el residual\ni sobre quina funcio actua"]
E --> C["4. Calcular COST TOTAL\nllicencia + implantacio +\nCARREGA OPERATIVA ANUAL"]
C --> U["5. Impacte en l'usuari\ni en l'operacio"]
U --> D["6. Dependencies\nque necessita per funcionar"]
D --> S{"Residual < apetit\namb cost assumible?"}
S -->|"Si"| I["Implantar i afegir\nal cataleg"]
S -->|"No"| A["Buscar alternativa,\ncompensar o ACCEPTAR\nformalment (04-01)"]
El pas 4 és on s'equivoquen gairebé totes les pimes, perquè només compten la llicència. El cost real d'un control té quatre sumands:
| Sumand | Exemple: EDR gestionat a Nimbus |
|---|---|
| Adquisició | 9.600 €/any de llicències |
| Implantació | 20 hores de la Lucía per desplegar-lo en 40 portàtils |
| Càrrega operativa recurrent | 2-4 hores setmanals atenent alertes ≈ 150 h/any |
| Cost de fricció | Falsos positius que bloquegen la feina de l'Iván |
Aquestes 150 hores anuals són un terç de les 440 que la Lucía té disponibles per a seguretat. Aquest és el cost que enfonsa els projectes de seguretat a les pimes: no els diners, sinó que la persona que havia de fer les altres onze mesures es passa l'any llegint alertes. La comparació honesta no és «9.600 € davant 900 € de l'MFA», sinó «9.600 € més un terç de la capacitat de l'equip, davant 900 € més dues hores al mes». D'aquí la regla derivada: prefereix el control que, un cop implantat, no consumeix temps. L'MFA, el tancament d'un grup de seguretat, la immutabilitat d'un bucket o WHERE tenant_id són controls que treballen sols. La revisió manual de registres o l'aprovació cas per cas consumeixen atenció per sempre, i l'atenció és el recurs més escàs de Nimbus.
- Controls compensatoris: legítims i excuses
Un control compensatori substitueix un control exigit que no es pot implantar, proporcionant protecció equivalent per una altra via. És legítim quan la impossibilitat és real i està documentada, la protecció alternativa és comparable en eficàcia, està aprovada al nivell adequat amb caducitat —és una excepció de 04-02— i es verifica com qualsevol altre control. El cas de Nimbus: la separació de funcions és impossible. El principi d'01-03 exigeix que qui desenvolupa no desplegui a producció sense supervisió, i que qui administra els sistemes no sigui la mateixa persona que revisa els seus propis accessos. Amb una única administradora de sistemes, això no es pot complir: la Lucía crea comptes, se'ls assigna, revisa el registre i aprova els seus propis canvis.
| Control ideal (impossible) | Compensatori adoptat | Eficàcia comparable |
|---|---|---|
| Segona persona de sistemes que revisi els canvis de la Lucía | La Marta revisa mensualment el registre de canvis privilegiats, encara que no sigui tècnica: pot veure què es va fer i quan, i preguntar | Parcial però real: introdueix un segon parell d'ulls |
| Aprovació per un tercer de les altes d'accés privilegiat | Tota alta privilegiada requereix aprovació de la Marta i queda registrada | Alta |
| Segregació tècnica entre desenvolupament i desplegament | Desplegament només pel CI, sense accés manual a producció, amb revisió obligatòria del codi per una altra persona | Alta: el pipeline actua com a tercer |
| Rotació de tasques de l'administrador | Retenidor amb un proveïdor extern que audita la configuració una vegada l'any | Baixa, però és el que és viable |
I el contrast, perquè la meitat dels controls compensatoris que es veuen a la pràctica són excuses:
| Compensatori legítim | Excusa disfressada |
|---|---|
| «No podem aplicar el pedaç a aquest sistema heretat en 7 dies perquè el certifica el fabricant; l'aïllem a la seva pròpia xarxa, en restringim l'accés i el monitorem amb alerta específica, amb data de retirada d'aquí a 12 mesos» | «No podem aplicar el pedaç perquè dona molta feina; ja tenim antivirus» |
| «No podem usar MFA en aquesta integració automàtica; usem credencials de curta durada amb àmbit mínim i alerta davant l'ús des d'una IP no esperada» | «L'MFA molesta l'equip; tenim contrasenyes llargues» |
La diferència és que el legítim anomena la impossibilitat concreta, descriu una protecció específica i té data; l'excusa invoca una molèstia i ofereix un control genèric que ja existia de totes maneres.
- El catàleg de controls de Nimbus
Segon artefacte reutilitzable del mòdul. Plantilla de camps:
# PLANTILLA - cataleg de controls. Un bloc per control.
- id: "C-NN" # identificador estable
control: "" # que fa, en una frase
naturalesa: "" # Administratiu|Tecnic|Fisic
funcio: [] # Dissuasiu|Preventiu|Detectiu|Correctiu|
# Recuperatiu|Compensatori (pot ser mes d'una)
riscos: [] # ids del registre de riscos (04-01)
politica: "" # enunciat de 04-02 que l'exigeix
cis_ig1: "" # salvaguarda CIS v8 equivalent
propietari: "" # PERSONA
estat: "" # Planificat|En implantacio|Implantat|Degradat
evidencia: "" # QUE demostra que funciona i on es guarda
verificacio: "" # COM es comprova
frequencia: "" # cada quant es verifica
ultima_verificacio: "YYYY-MM-DD"Quatre controls desenvolupats, un de cada funció principal:
- id: C-01
control: "MFA resistent al phishing (FIDO2) en tots els comptes privilegiats"
naturalesa: Tecnic
funcio: [Preventiu]
riscos: [R-01, R-05]
politica: "POL-02 5.2.1"
cis_ig1: "6.3 / 6.4 - MFA en aplicacions externes i accessos administratius"
propietari: Lucia
estat: "En implantacio"
evidencia: "Informe mensual del proveidor d'identitat: comptes amb i sense MFA"
verificacio: "Comparar la llista de comptes privilegiats amb la d'MFA actiu"
frequencia: Mensual
ultima_verificacio: 2026-03-01
- id: C-08
control: "Alerta de volum de sortida anomal des del compte al nuvol"
naturalesa: Tecnic
funcio: [Detectiu]
riscos: [R-01, R-04]
politica: "POL-10 (resposta a incidents)"
cis_ig1: "8.2 / 13.x - recollida i revisio de registres"
propietari: Lucia
estat: Planificat
evidencia: "Configuracio de l'alerta + registre de dispars i de la seva atencio"
verificacio: "Prova trimestral injectant una transferencia de prova"
frequencia: Trimestral
ultima_verificacio: null # mai verificat: no compta com a implantat
- id: C-14
control: "Copies 3-2-1-1-0 amb copia immutable en compte separat"
naturalesa: Tecnic
funcio: [Recuperatiu]
riscos: [R-02, R-01]
politica: "POL-09"
cis_ig1: "11.2 / 11.3 - copies automatitzades i protegides"
propietari: Lucia
estat: "En implantacio"
evidencia: "Informe de la prova de restauracio amb temps real mesurat (04-06)"
verificacio: "Restauracio completa a entorn aillat i verificacio d'integritat"
frequencia: Trimestral
ultima_verificacio: 2026-02-20
- id: C-21
control: "Revisio mensual per la Marta del registre de canvis privilegiats"
naturalesa: Administratiu
funcio: [Detectiu, Compensatori]
riscos: [R-09]
politica: "POL-02 5.3.3"
cis_ig1: "5.x / 8.x - gestio de comptes i revisio de registres"
propietari: Marta
estat: Implantat
evidencia: "Acta breu signada amb les anomalies revisades"
verificacio: "Existencia de l'acta del mes i del seu seguiment"
frequencia: Mensual
ultima_verificacio: 2026-03-05La resta del catàleg, en forma resumida:
| id | Control | Nat. | Funció | Riscos | CIS IG1 | Propietari | Estat |
|---|---|---|---|---|---|---|---|
| C-02 | Autenticació obligatòria a PostgreSQL i rols nimbus_api/nimbus_informes |
T | Prev. | R-03 | 6.x | Lucía | Implantat |
| C-03 | Accés just-in-time de tercers, 8 h i revocació automàtica | T+A | Prev. | R-01 | 6.x | Marta | Planificat |
| C-04 | Grups de seguretat tancats: res de 0.0.0.0/0 llevat del 443 |
T | Prev. | R-03, R-07 | 4.x, 12.x | Lucía | En implantació |
| C-05 | Filtre WHERE tenant_id i RLS a PostgreSQL |
T | Prev. | R-04 | 3.3 | Iván | Implantat |
| C-06 | URL signades de 120 s per a adjunts | T | Prev. | R-04 | 3.3 | Iván | Implantat |
| C-07 | Taula d'auditoria append-only amb retenció de 12 mesos | T | Detect. | R-04, R-01 | 8.2 | Iván | Implantat |
| C-09 | Alerta d'accés administratiu fora de finestra pactada | T | Detect. | R-01 | 8.x | Lucía | Planificat |
| C-10 | Escaneig extern mensual de la superfície exposada | T | Detect. | R-07, R-03 | 7.x | Lucía | Planificat |
| C-11 | Xifratge de disc als 40 portàtils amb custòdia de claus | T | Prev. | R-08 | 3.6 | Lucía | En implantació |
| C-12 | Gestor de secrets i escàner de secrets bloquejant al CI | T | Prev.+Detect. | R-06 | 16.x | Iván | Planificat |
| C-13 | SPF -all, DKIM i DMARC p=reject + bàner de correu extern |
T | Prev.+Dissuas. | R-05 | 9.x | Lucía | En implantació |
| C-15 | Verificació de pagaments i d'identitat per canal alternatiu | A | Prev. | R-05 | 14.x | Sara | Implantat |
| C-16 | Gestió de pedaços amb termini: 7 dies per a les crítiques | A+T | Correct. | R-03, R-07 | 7.3, 7.4 | Lucía | En implantació |
| C-17 | Runbooks operatius i de resposta documentats | A | Recup. | R-09 | 17.x | Lucía | En implantació |
| C-18 | Recertificació semestral d'accessos privilegiats | A | Detect.+Correct. | R-01, R-06 | 5.x, 6.x | Marta | Planificat |
| C-19 | Còpia diària replicada a regió secundària | T | Recup. | R-10, R-02 | 11.x | Lucía | Implantat |
| C-20 | Formació anual i simulacre de phishing (06-05) | A | Prev.+Dissuas. | R-05 | 14.x | Sara | Planificat |
| C-22 | Revisió trimestral d'accessos i contractes de tercers (04-04) | A | Detect. | R-01 | 15.x | Marta | Planificat |
Tres lectures del catàleg en conjunt, que és on hi ha el seu valor. Primera: comptant estats, només 7 dels 22 controls estan implantats, així que qualsevol risc residual del registre de 04-01 que assumeixi els altres 15 està mal calculat —recorda la regla de 04-01: el residual es puntua sobre l'estat verificat—. Segona: hi ha 8 controls amb funció detectiva i només 2 implantats (C-07 i C-21), que és exactament la ceguesa que va produir els 20 dies de 02-06. Tercera: els controls administratius són gairebé tots gratuïts i estan gairebé tots «planificats», cosa que confirma la conclusió de 02-04 que a Nimbus no li falta pressupost, li falta temps assignat.
- Implantat no és eficaç: evidències, proves i mètriques
| Control implantat | Control eficaç | |
|---|---|---|
| Què significa | Està configurat | Està configurat, cobreix tot el seu abast i continua funcionant avui |
| Com se sap | Algú ho va fer | Hi ha evidència amb data i una verificació recent |
| Exemple | «Vam activar l'MFA» | «El 100 % dels 14 comptes privilegiats té MFA, comprovat l'1 de març» |
| Fallada típica | Cobertura parcial que ningú no mesura | — |
La diferència no és acadèmica: l'MFA activat en 9 de 14 comptes privilegiats no redueix el risc un 64 %, el redueix gairebé gens, perquè l'atacant anirà a un dels 5 restants. Els controls es mesuren per cobertura, no per existència.
9.1 Evidències i proves
Una evidència és una cosa que es pot mostrar i que té data: l'exportació de la llista de comptes amb MFA, l'informe de la prova de restauració, l'acta de la revisió mensual. Una prova és l'exercici deliberat de comprovar que el control actua: injectar una transferència gran per veure si salta C-08, o restaurar de debò la base de dades per veure si C-14 funciona i quant triga. D'aquí la regla que resumeix l'apartat: un control que mai no ha estat provat està en estat «planificat», diguin el que diguin els seus responsables, i per això C-08 figura amb ultima_verificacio: null.
9.2 Mètriques: KPI i KRI
Un KPI mesura si el control funciona; un KRI avisa que el risc està creixent. Els quatre indicadors mínims de Nimbus:
| Indicador | Tipus | Fórmula | Objectiu | Control |
|---|---|---|---|---|
| % de comptes privilegiats amb MFA | KPI | amb MFA / privilegiats | 100 % | C-01 |
| % d'endpoints amb disc xifrat | KPI | xifrats / portàtils actius | ≥ 98 % | C-11 |
| Temps mitjà d'aplicació de pedaços crítics | KRI | mitjana de (pedaç − publicació) | ≤ 7 dies | C-16 |
| Edat de la darrera prova de restauració | KRI | avui − darrera prova amb èxit | ≤ 90 dies | C-14 |
# metriques_controls.py - Calcul dels quatre indicadors minims de Nimbus
# a partir de les dades de l'inventari. Dades ficticies.
from datetime import date
AVUI = date(2026, 3, 15)
COMPTES_PRIV = [ # (id, te_mfa)
("lucia", True), ("marta", True), ("ivan", True), ("ci-deploy", False),
("consultora-01", False), ("root-cloud", True), ("backup-svc", False),
]
PORTATILS = [ # (id, xifrat, actiu)
*[(f"NB-{i:02d}", True, True) for i in range(1, 37)],
("NB-37", False, True), ("NB-38", False, True),
("NB-39", True, False), # donat de baixa: NO compta al denominador
("NB-40", False, True),
]
VULN_CRITIQUES = [ # (cve, publicacio, data_pedac)
("CVE-2026-1001", date(2026, 1, 10), date(2026, 1, 14)), # 4 dies
("CVE-2026-1042", date(2026, 1, 28), date(2026, 2, 11)), # 14 dies
("CVE-2026-1077", date(2026, 2, 20), date(2026, 2, 24)), # 4 dies
]
ULTIMA_RESTAURACIO_OK = date(2026, 2, 20)
def pct(part, total):
return 0.0 if total == 0 else round(part / total * 100, 1)
# KPI 1 - cobertura d'MFA. Es mesura sobre TOTS els comptes privilegiats,
# inclosos els de servei i els de tercers: son els que fa servir l'atacant.
amb_mfa = sum(1 for _, mfa in COMPTES_PRIV if mfa)
kpi_mfa = pct(amb_mfa, len(COMPTES_PRIV))
# KPI 2 - cobertura de xifratge. El denominador son els equips ACTIUS.
actius = [p for p in PORTATILS if p[2]]
xifrats = [p for p in actius if p[1]]
kpi_xifratge = pct(len(xifrats), len(actius))
# KRI 1 - temps mitja d'aplicacio de pedacos de vulnerabilitats critiques.
dies = [(pedac - publi).days for _, publi, pedac in VULN_CRITIQUES]
kri_pedacos = round(sum(dies) / len(dies), 1)
# KRI 2 - antiguitat de la darrera prova de restauracio amb exit.
kri_restauracio = (AVUI - ULTIMA_RESTAURACIO_OK).days
def semafor(valor, objectiu, mes_gran_es_millor):
ok = valor >= objectiu if mes_gran_es_millor else valor <= objectiu
return "OK" if ok else "FORA D'OBJECTIU"
print(f"C-01 MFA en comptes privilegiats : {kpi_mfa:>5} % "
f"(objectiu 100 %) {semafor(kpi_mfa, 100, True)}")
print(f"C-11 Endpoints xifrats : {kpi_xifratge:>5} % "
f"(objectiu 98 %) {semafor(kpi_xifratge, 98, True)}")
print(f"C-16 Aplicacio mitjana de pedacos : {kri_pedacos:>5} d "
f"(objectiu 7 d) {semafor(kri_pedacos, 7, False)}")
print(f"C-14 Edat de l'ultima restauracio : {kri_restauracio:>5} d "
f"(objectiu 90 d) {semafor(kri_restauracio, 90, False)}")C-01 MFA en comptes privilegiats : 57.1 % (objectiu 100 %) FORA D'OBJECTIU
C-11 Endpoints xifrats : 92.3 % (objectiu 98 %) FORA D'OBJECTIU
C-16 Aplicacio mitjana de pedacos : 7.3 d (objectiu 7 d) FORA D'OBJECTIU
C-14 Edat de l'ultima restauracio : 23 d (objectiu 90 d) OKTres detalls del codi que són decisions de mesura, no de programació. El denominador del xifratge exclou els equips donats de baixa, perquè incloure'ls maquilla l'indicador —i triar el denominador és on es falsegen gairebé totes les mètriques de seguretat—. L'MFA es mesura incloent-hi comptes de servei i de tercers: són precisament ci-deploy, consultora-01 i backup-svc els que hi falten, o sigui, exactament el vector de 02-06. I l'aplicació de pedaços fa servir la mitjana, que amaga el cas de 14 dies; en un quadre real convé acompanyar-la del percentil 90 o del pitjor cas, perquè l'atacant explota el pitjor cas, no la mitjana.
9.3 Verificar un control detectiu amb SQL
La taula d'auditoria append-only dels mòduls anteriors permet comprovar que C-07 continua registrant el que ha de registrar:
-- 1) Continua viu el control? Absencia d'esdeveniments = fallada silenciosa del registre.
SELECT date_trunc('day', ts) AS dia,
count(*) AS esdeveniments,
count(DISTINCT usuari_id) AS usuaris
FROM auditoria
WHERE ts >= now() - interval '14 days'
GROUP BY 1 ORDER BY 1;
-- Un dia amb 0 esdeveniments en una plataforma amb 40 cliniques actives NO vol dir
-- que no passes res: vol dir que el registre va deixar d'escriure.
-- 2) KRI d'exfiltracio: usuaris que demanen moltes URL d'adjunts diferents.
SELECT usuari_id, tenant_id, count(DISTINCT adjunt_id) AS adjunts,
min(ts) AS des_de, max(ts) AS fins_a
FROM auditoria
WHERE esdeveniment = 'adjunt.url_emesa'
AND ts >= now() - interval '24 hours'
GROUP BY usuari_id, tenant_id
HAVING count(DISTINCT adjunt_id) > 50 -- llindar calibrat amb l'us real
ORDER BY adjunts DESC;
-- 3) Cobertura del control: quins endpoints critics NO estan registrant?
SELECT e.endpoint
FROM endpoints_critics e
LEFT JOIN (SELECT DISTINCT esdeveniment FROM auditoria
WHERE ts >= now() - interval '30 days') a
ON a.esdeveniment = e.esdeveniment_esperat
WHERE a.esdeveniment IS NULL;La primera consulta és la més important i la que gairebé ningú no escriu: vigila el vigilant. Un control detectiu que deixa d'emetre esdeveniments falla en silenci, i el silenci s'interpreta com a calma. La tercera mesura la cobertura del control, que és la diferència entre implantat i eficaç aplicada al registre.
- La matriu de traçabilitat risc → control → evidència
| Risc | Banda | Controls (P / D / R) | Evidència | Darrera verificació | Buit |
|---|---|---|---|---|---|
| R-01 Ransomware per tercer | Crític | C-01, C-03 / C-08, C-09 / C-14 | Informe MFA; registre d'alertes; informe de restauració | 2026-03-01 | C-03, C-08, C-09 planificats |
| R-02 Destrucció de còpies | Alt | — / — / C-14, C-19 | Informe de restauració trimestral | 2026-02-20 | Sense control detectiu |
| R-03 PostgreSQL exposat | Crític | C-02, C-04 / C-10 / — | Exportació de grups de seguretat; informe d'escaneig | 2026-03-10 | Sense recuperatiu (acceptable) |
| R-04 Fuita d'adjunts | Alt | C-05, C-06 / C-07 / — | Proves del CI; consulta SQL d'auditoria | 2026-03-12 | — |
| R-05 Frau BEC | Alt | C-13, C-15 / — / — | Informe DMARC; procediment signat | 2026-02-28 | Sense detectiu ni recuperatiu |
| R-06 Secrets exposats | Crític | C-12 / C-12 / — | Sortida de l'escàner al CI | — | Mai verificat |
| R-08 Portàtil perdut | Mitjà | C-11 / — / — | Informe de xifratge del parc | 2026-03-15 | — |
| R-09 Única persona de sistemes | Mitjà | C-17 / C-21 / C-17 | Actes de revisió; runbooks | 2026-03-05 | — |
Aquesta taula és el que es mostra en una auditoria, i és el que la salva (06-04). No perquè impressioni, sinó perquè respon en un full a les tres preguntes que fa qualsevol auditor o client: quins riscos has identificat, què fas sobre cadascun i com ho demostres. Llegeix-la també com a eina de diagnòstic. La columna «Buit» s'omple sola aplicant la regla de l'apartat 4 —preventiu, detectiu i recuperatiu per a tot risc Alt o Crític— i produeix la llista de treball del trimestre sense cap discussió addicional: R-02 no té manera d'assabentar-se que estan esborrant les còpies, R-05 no té manera de saber que algú ha caigut en un frau, i R-06 té un control que ningú no ha provat mai.
- Deriva de controls: per què es degraden sols
Un control implantat i verificat avui no continuarà funcionant d'aquí a un any si ningú no el mira. No cal cap atacant: n'hi ha prou amb l'activitat normal de l'empresa.
| Causa de deriva | Exemple a Nimbus | Detecció |
|---|---|---|
| Creixement | Es contracten 4 persones i ningú no els activa l'MFA: la cobertura baixa del 100 % al 78 % | KPI mensual de cobertura |
| Canvi tècnic | Es migra el clúster i el nou grup de seguretat torna a obrir el 5432 | Escaneig extern mensual (C-10) |
| Excepció oblidada | Una excepció de 90 dies que ningú no va revocar (el cas de la consultora) | Revisió mensual del registre d'excepcions |
| Rotació de persones | Se'n va qui revisava les alertes i ningú no hereta la tasca | Propietari nominal al catàleg |
| Fatiga | L'alerta genera 40 falsos positius al dia i se silencia | KPI d'alertes ateses |
| Fallada silenciosa | L'agent de còpies deixa d'executar-se i ningú no rep cap error | Consulta 1 de l'apartat 9.3 |
La conclusió número 2 dels casos d'estudi de 02-06 deia que en gairebé tots els incidents el control existia i no va funcionar: Target tenia alertes, Equifax tenia inspecció de trànsit, Colonial tenia VPN. La deriva és el mecanisme pel qual això passa, i l'antídot és el camp frequencia del catàleg. Un control sense freqüència de verificació no és un control: és un record d'haver fet alguna cosa.
Errors Comuns i Consells
- Confondre eina amb control. Comprar un EDR no és tenir defensa contra programari maliciós; és tenir una llicència. Consell: defineix cada control pel resultat observable, no pel producte.
- Implantar sense propietari. Els controls orfes són els primers a derivar. Consell: el camp
propietariés una persona, i si no hi ha candidat, el control no està a punt per implantar-se. - Puntuar el risc residual amb controls no verificats. És l'enllaç directe amb l'error equivalent de 04-01. Consell:
estat: Implantatexigeixultima_verificacioamb data. - Acumular només controls preventius. És la desproporció de Nimbus, amb 8 controls detectius dels quals només 2 estan implantats, i la causa dels 20 dies de ceguesa de 02-06. Consell: revisa el catàleg per funció, no per risc.
- Oblidar la càrrega operativa. Un control que consumeix 150 hores l'any s'abandona al quart mes i queda al catàleg com a implantat. Consell: inclou el cost recurrent en la decisió i prefereix el que treballa sol.
- Mètriques amb denominador convenient. Mesurar el xifratge sobre «els portàtils que gestionem» en lloc de sobre tots és maquillatge. Consell: defineix el denominador abans de calcular el numerador, i deixa'l escrit.
- Confondre complir el catàleg amb estar segur. Cobrir IG1 complet és excel·lent i no vol dir que el teu risc principal estigui tractat. Consell: el catàleg evita oblits; el registre de riscos ordena prioritats.
- Controls compensatoris sense caducitat. Un compensatori permanent és una excepció permanent. Consell: aplica les mateixes regles del registre d'excepcions de 04-02.
Exercicis
Exercici 1 — Classificar i completar per funció
Per a cada control, indica la seva naturalesa i la seva funció principal, i digues quin risc del registre de 04-01 tracta:
- Bàner que marca els correus procedents de l'exterior.
- Restauració de la base de dades des de la còpia immutable.
- Revisió semestral en què cada responsable confirma els accessos del seu equip.
- Bloqueig automàtic de la fusió de codi si l'escàner troba un secret.
- Rotació immediata d'una clau API publicada per error al repositori.
- Alerta quan un compte administratiu accedeix fora de la finestra 08:00-20:00.
Després, pren el risc R-05 (frau BEC) i proposa el control detectiu i el recuperatiu que li falten segons la matriu de l'apartat 10.
Exercici 2 — Decidir entre dos controls amb cost total
Nimbus dubta entre dues inversions per tractar R-04 (fuita d'adjunts):
| Opció A: DLP comercial | Opció B: proves d'autorització al CI + alerta SQL | |
|---|---|---|
| Llicència anual | 7.200 € | 0 € |
| Implantació | 15 h de la Lucía | 40 h de l'Iván |
| Càrrega operativa | 3 h/setmana revisant alertes | 1 h/mes ajustant llindars |
| Reducció estimada de l'ALE de R-04 (19.200 €) | 45 % | 60 % |
Calcula el cost total anual de cada opció valorant l'hora interna en 35 €, calcula el ROSI de cadascuna amb el mètode de 04-01 i recomana'n una. Indica a més quina funció cobreix cada opció i si amb ella R-04 compliria la regla de l'apartat 4.
Exercici 3 — Diagnosticar un catàleg
Revises el catàleg de controls d'una altra empresa i hi trobes: 34 controls, tots amb estat: Implantat; cap no té ultima_verificacio; 28 són preventius, 6 detectius, 0 recuperatius; el propietari de 30 d'ells és «IT»; i hi ha 4 controls compensatoris sense caducitat, un dels quals justificat amb «el fabricant no admet MFA». Indica què revela cada símptoma, què preguntaries per confirmar-ho i en quin ordre ho corregiries.
Solucions
Exercici 1
| # | Naturalesa | Funció | Risc |
|---|---|---|---|
| 1 | Tècnic | Dissuasiu (avisa, no impedeix) | R-05 |
| 2 | Tècnic | Recuperatiu | R-02, R-01 |
| 3 | Administratiu | Detectiu i correctiu (detecta el permís sobrant i el retira) | R-01, R-06 |
| 4 | Tècnic | Preventiu (bloqueja abans que el secret arribi a la branca) | R-06 |
| 5 | Tècnic + administratiu | Correctiu | R-06 |
| 6 | Tècnic | Detectiu | R-01 |
Fixa't en el 3: és l'exemple típic de control amb dues funcions, i per això el camp funcio del catàleg és una llista. I en l'1: molta gent el classificaria com a preventiu, però el bàner no impedeix res —l'usuari pot fer clic igualment—; el seu efecte és canviar el comportament, que és la definició de dissuasiu.
Per a R-05 falten: un control detectiu —alerta automàtica davant qualsevol modificació de dades bancàries d'un proveïdor o client al sistema de facturació, més la revisió mensual per la Sara dels canvis de compte bancari— i un de recuperatiu: procediment documentat de recuperació d'una transferència fraudulenta, amb el contacte directe del banc, el termini real de reclamació i la denúncia, tot això escrit abans de necessitar-ho. Aquest darrer és de cost nul i és exactament el tipus de control que ningú no té fins al dia que li fa falta.
Exercici 2
Cost total anual:
- Opció A: 7.200 € + (15 h × 35 €) = 7.725 € el primer any; recurrent = 7.200 € + (3 h/setmana × 48 setmanes × 35 €) = 7.200 + 5.040 = 12.240 €/any.
- Opció B: (40 h × 35 €) = 1.400 € el primer any; recurrent = (12 h × 35 €) = 420 €/any.
ROSI sobre l'ALE de 19.200 €, fent servir el cost recurrent:
- A: estalvi = 19.200 × 0,45 = 8.640 €. ROSI = (8.640 − 12.240) / 12.240 × 100 = −29 %. El control costa més del que estalvia.
- B: estalvi = 19.200 × 0,60 = 11.520 €. ROSI = (11.520 − 420) / 420 × 100 = +2.643 %.
Recomanació: opció B, i el marge és tan gran que cap correcció raonable de les estimacions no el canvia. Observa on és la diferència: no a la llicència, sinó a les 3 hores setmanals de l'opció A, que sumen 5.040 € anuals de temps de la Lucía —i, el que és pitjor, 144 hores de les seves 440 disponibles—. És exactament l'error de l'apartat 6.
Funcions: l'opció A és principalment detectiva (veu la sortida de dades i avisa); l'opció B és mixta, perquè les proves d'autorització al CI són preventives i l'alerta SQL sobre la taula d'auditoria és detectiva. Amb B, R-04 tindria preventiu (C-05, C-06 i les noves proves) i detectiu (C-07 més l'alerta), però continuaria sense control recuperatiu, i en una fuita de dades el recuperatiu no és restaurar res: és el pla de resposta i notificació de 04-05. Així que la resposta completa és «B, i a més cal escriure el procediment de notificació».
Exercici 3
| Símptoma | Què revela | Pregunta de confirmació | Prioritat |
|---|---|---|---|
34 de 34 «Implantat» i cap amb ultima_verificacio |
L'estat és una declaració d'intencions, no un fet. No es pot distingir implantat d'eficaç | «Mostra'm l'evidència del control número 12 amb data d'aquest trimestre» | 1 |
| 0 controls recuperatius | Si passa un incident, no hi ha res previst. És el perfil de Nimbus abans de 02-06 | «Quan va ser la darrera restauració provada i quant va trigar?» | 2 |
| Només 6 detectius davant 28 preventius | Ceguesa: quan la prevenció falli, ningú no se n'assabentarà | «Quina alerta es va disparar la darrera vegada i qui la va atendre?» | 3 |
| Propietari «IT» en 30 controls | Controls orfes, candidats segurs a la deriva | «Qui, amb nom, va verificar el control 7 la darrera vegada?» | 4 |
| 4 compensatoris sense caducitat | Excepcions permanents disfressades de control | «Quina data de retirada té el sistema que no admet MFA?» | 5 |
Ordre de correcció: 1 → 2 → 3 → 4 → 5. Primer verifica una mostra, perquè fins que no sàpigues què és cert tota la resta és especulació —i probablement descobreixis que diversos «implantats» no existeixen—. Després cobreix la recuperació, que és el que decideix si l'empresa sobreviu a un incident. Després la detecció, que en redueix la durada. Després assigna propietaris, sense els quals l'anterior derivarà en un any. I finalment, formalitza els compensatoris amb caducitat. Sobre el que diu «el fabricant no admet MFA»: pot ser legítim, però només si va acompanyat de credencials de curta durada amb àmbit mínim, alerta davant ús anòmal i data de substitució del sistema; sense això, és l'excusa de l'apartat 7.
Conclusió
Has tancat el triangle. Saps que un control és una mesura concreta, amb propietari, que redueix probabilitat o impacte i el funcionament de la qual es pot comprovar, i que sense aquests tres elements alhora el que tens és decoració. Saps també distingir control d'eina: un antivirus és una llicència; «programari maliciós contingut amb alerta atesa en menys de 4 hores» és un control.
Domines les dues classificacions. Per naturalesa —administratiu, tècnic i físic—, amb l'observació que els administratius solen ser gratis, són els que més s'obliden i són els que sostenen els tècnics. I per funció —dissuasiu, preventiu, detectiu, correctiu, recuperatiu i compensatori—, amb les dues distincions que gairebé tothom confon: dissuadir no és impedir, i corregir la causa no és recuperar l'estat. D'aquí la regla que reorganitza la feina de Nimbus: tot risc Alt o Crític necessita almenys un preventiu, un detectiu i un recuperatiu, perquè cada funció compra una cosa diferent —evitar l'incident, escurçar-ne la durada o sobreviure-hi— i perquè el desglossament del ransomware de 02-06 va mostrar zero controls en cinc de les sis funcions.
Coneixes els catàlegs de referència i per a què serveix fer-ne servir un: CIS v8 amb els seus grups d'implementació i IG1 com a objectiu realista i suficient per a Nimbus aquest any; ISO 27002 amb els seus quatre temes quan apareix la certificació; NIST SP 800-53 com a opció desproporcionada per a una pime. I l'advertiment que els acompanya: el catàleg evita oblits, però és el teu registre de riscos el que ordena prioritats. Saps seleccionar un control valorant eficàcia, impacte en l'usuari, dependències i sobretot cost total, inclosa la càrrega operativa recurrent que és el que de debò enfonsa els projectes de seguretat en una pime: 150 hores anuals d'alertes són un terç de la capacitat de la Lucía. D'aquí la preferència pels controls que, un cop posats, treballen sols. I saps quan un compensatori és legítim —impossibilitat real, protecció comparable, aprovació amb caducitat i verificació— i quan és una excusa, amb el cas honest de Nimbus: la separació de funcions és impossible amb una sola administradora, i es compensa amb revisió mensual de la Marta, aprovació d'altes privilegiades, desplegament exclusiu pel CI i auditoria externa anual.
T'endús el catàleg de controls de Nimbus amb les seves 22 entrades mapades a CIS IG1, les tres lectures de conjunt del qual valen més que qualsevol entrada solta: només 7 estan implantats, dels 8 detectius només 2 ho estan, i els administratius són gratis i estan gairebé tots pendents. I t'endús la distinció decisiva entre control implantat i control eficaç, amb les seves mètriques calculades —57 % d'MFA, 92 % de xifratge, 7,3 dies d'aplicació de pedaços, 23 dies des de la darrera restauració—, amb les tres decisions de mesura que amaga el codi (el denominador honest, incloure els comptes de servei que són justament el vector de 02-06, i que la mitjana d'aplicació de pedaços amaga el pitjor cas que és el que explota l'atacant), i amb la consulta SQL que vigila el vigilant, perquè un control detectiu que deixa d'emetre esdeveniments falla en silenci i el silenci es llegeix com a calma. Tanquen la lliçó la matriu de traçabilitat risc → control → evidència, que és el que es mostra i el que salva una auditoria perquè respon en un full a les tres preguntes de qualsevol auditor, i la deriva: un control implantat es degrada sol per creixement, canvi tècnic, excepcions oblidades, rotació, fatiga o fallada silenciosa, i l'únic antídot és la freqüència de verificació.
Però repassa el catàleg una vegada més i veuràs que hi ha controls l'eficàcia dels quals no depèn de Nimbus. C-03 exigeix accés just-in-time a una consultora que té els seus propis processos i la seva pròpia seguretat. C-19 replica còpies a una regió d'un proveïdor les decisions del qual ningú de Nimbus no controla. El codi que desplega el CI arrossega centenars de dependències escrites per desconeguts. I el vector de l'incident de 02-06 no va ser una fallada de Nimbus: va ser una bretxa a la consultora que Nimbus ni tan sols va arribar a conèixer.
A la lliçó següent, Risc de Tercers i Cadena de Subministrament (04-04), veuràs per què el perímetre inclou empreses que no controles i per què es pot externalitzar l'execució però mai la responsabilitat: el mapa de tercers de Nimbus, el retorn de la consultora de 02-06 amb l'anàlisi completa del que hauria d'haver existit i el seu cost real, el cicle de vida del proveïdor inclosa la fase de sortida que tothom oblida, un qüestionari de diligència deguda proporcionat a la mida del proveïdor, les clàusules contractuals imprescindibles, el model de responsabilitat compartida al núvol i la cadena de subministrament de programari amb SBOM i fixació de dependències.
Curs de Fonaments de Seguretat Informàtica
Mòdul 1: Introducció a la Seguretat Informàtica
- Conceptes Bàsics de Seguretat Informàtica
- Tipus d'Amenaces i Vulnerabilitats
- Principis de la Seguretat Informàtica
- Actius, Superfície d'Atac i Actors d'Amenaça
Mòdul 2: Ciberseguretat
- Definició i Abast de la Ciberseguretat
- Tipus d'Atacs Cibernètics
- Enginyeria Social i Pesca de Credencials
- Mesures de Protecció en Ciberseguretat
- Identitat, Autenticació i Control d'Accés
- Casos d'Estudi d'Incidents de Ciberseguretat
Mòdul 3: Criptografia
- Introducció a la Criptografia
- Criptografia Simètrica
- Criptografia Asimètrica
- Funcions Hash, HMAC i Emmagatzematge de Contrasenyes
- Protocols Criptogràfics
- Gestió de Claus, Certificats i PKI
- Aplicacions de la Criptografia
Mòdul 4: Gestió de Riscos i Mesures de Protecció
- Avaluació de Riscos
- Polítiques de Seguretat
- Controls de Seguretat
- Risc de Tercers i Cadena de Subministrament
- Pla de Resposta a Incidents
- Recuperació davant Desastres i Continuïtat de Negoci
Mòdul 5: Eines i Tècniques de Seguretat
- Eines d'Anàlisi de Vulnerabilitats
- Tècniques de Monitoratge i Detecció
- Proves de Penetració
- Seguretat en Xarxes
- Seguretat en Aplicacions
- Enfortiment de Sistemes i Seguretat de l'Endpoint
- Seguretat al Núvol i en Contenidors
Mòdul 6: Bones Pràctiques i Normatives
- Bones Pràctiques en Seguretat Informàtica
- Normatives i Estàndards de Seguretat
- Protecció de Dades Personals i RGPD a la Pràctica
- Compliment i Auditoria
- Formació i Sensibilització
- Ètica, Aspectes Legals i Divulgació Responsable
