From 8bd425b9a0ca7a6668e96b153ecb6bc1eb8d798a Mon Sep 17 00:00:00 2001 From: eric-intuitem <71850047+eric-intuitem@users.noreply.github.com> Date: Sun, 8 Dec 2024 04:04:05 +0100 Subject: [PATCH] fixes improve urn when ref_id missing Use the urn of parent + counter Update test-data.ts rename doc-pol fix depth --- .../libraries/anssi-guide-hygiene-detail.yaml | 709 +++++++++--------- frontend/tests/utils/test-data.ts | 4 +- tools/anssi/anssi-guide-hygiene-detail.xlsx | Bin 50302 -> 50447 bytes tools/convert_library.py | 49 +- 4 files changed, 388 insertions(+), 374 deletions(-) diff --git a/backend/library/libraries/anssi-guide-hygiene-detail.yaml b/backend/library/libraries/anssi-guide-hygiene-detail.yaml index 1d28213abd..e02f142922 100644 --- a/backend/library/libraries/anssi-guide-hygiene-detail.yaml +++ b/backend/library/libraries/anssi-guide-hygiene-detail.yaml @@ -37,7 +37,7 @@ objects: mes d\u2019information" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1 @@ -60,70 +60,70 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.educ - urn:intuitem:risk:function:doc-pol:doc.educ_plan - urn:intuitem:risk:function:doc-pol:doc.educ_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node5 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: "la l\xE9gislation en vigueur ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: "> la l\xE9gislation en vigueur ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.legal - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node6 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: les principaux risques et menaces ; + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: '> les principaux risques et menaces ;' implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.threat - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node7 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: "le maintien en condition de s\xE9curit\xE9 ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: "> le maintien en condition de s\xE9curit\xE9 ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.mcs - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node8 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:4 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: "l\u2019authentification et le contr\xF4le d\u2019acc\xE8s ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: "> l\u2019authentification et le contr\xF4le d\u2019acc\xE8s ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.iam - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node9 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:5 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: "le param\xE9trage fin et le durcissement des syst\xE8mes ; " + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: "> le param\xE9trage fin et le durcissement des syst\xE8mes ; " implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.hardening - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node10 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:6 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: "le cloisonnement r\xE9seau ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: "> le cloisonnement r\xE9seau ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.network_security - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node11 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1:7 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node4 - description: 'et la journalisation. ' + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:1 + description: '> et la journalisation. ' implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:train.logging - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node12 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1 @@ -136,7 +136,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node13 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:1 @@ -158,7 +158,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node15 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 @@ -175,7 +175,7 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.educ - urn:intuitem:risk:function:doc-pol:doc.educ_plan - urn:intuitem:risk:function:doc-pol:doc.educ_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node16 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 @@ -187,39 +187,39 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node17 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2:1 assessable: true - depth: 3 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 - description: "les objectifs et enjeux que rencontre l\u2019entit\xE9 en mati\xE8\ + depth: 4 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2 + description: "> les objectifs et enjeux que rencontre l\u2019entit\xE9 en mati\xE8\ re de s\xE9curit\xE9 des syst\xE8mes d\u2019information ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node18 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2:2 assessable: true - depth: 3 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 - description: "les informations consid\xE9r\xE9es comme sensibles ;\n" + depth: 4 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2 + description: "> les informations consid\xE9r\xE9es comme sensibles ;\n" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node19 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2:3 assessable: true - depth: 3 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 - description: "les r\xE9glementations et obligations l\xE9gales ;" + depth: 4 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2 + description: "> les r\xE9glementations et obligations l\xE9gales ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node20 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2:4 assessable: true - depth: 3 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 - description: "les r\xE8gles et consignes de s\xE9curit\xE9 r\xE9gissant l\u2019\ + depth: 4 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2 + description: "> les r\xE8gles et consignes de s\xE9curit\xE9 r\xE9gissant l\u2019\ activit\xE9 quotidienne : respect de la politique de s\xE9curit\xE9, non-connexion\ \ d\u2019\xE9quipements personnels au r\xE9seau de l\u2019entit\xE9, non-divulgation\ \ de mots de passe \xE0 un tiers, non-r\xE9utilisation de mots de passe professionnels\ @@ -229,18 +229,18 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node21 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2:5 assessable: true - depth: 3 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 - description: "les moyens disponibles et participant \xE0 la s\xE9curit\xE9 du\ - \ syst\xE8me : verrouillage syst\xE9matique de la session lorsque l\u2019\ + depth: 4 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:2 + description: "> les moyens disponibles et participant \xE0 la s\xE9curit\xE9\ + \ du syst\xE8me : verrouillage syst\xE9matique de la session lorsque l\u2019\ utilisateur quitte son poste, outil de protection des mots de passe, etc. " implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node22 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:2 @@ -262,7 +262,7 @@ objects: name: "Ma\xEEtriser les risques de l\u2019infog\xE9rance" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node24 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3 @@ -278,7 +278,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:pol.supplier - urn:intuitem:risk:function:doc-pol:doc.risk_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node25 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:2 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3 @@ -289,22 +289,22 @@ objects: \ :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node26 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:2:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node25 - description: "d\u2019\xE9tudier attentivement les conditions des offres, la\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:2 + description: "> d\u2019\xE9tudier attentivement les conditions des offres, la\ \ possibilit\xE9 de les adapter \xE0 des besoins sp\xE9cifiques et les limites\ \ de responsabilit\xE9 du prestataire ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.supplier - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node27 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:2:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node25 - description: "d\u2019imposer une liste d\u2019exigences pr\xE9cises au prestataire\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:2 + description: "> d\u2019imposer une liste d\u2019exigences pr\xE9cises au prestataire\ \ : r\xE9versibilit\xE9 du contrat, r\xE9alisation d\u2019audits, sauvegarde\ \ et restitution des donn\xE9es dans un format ouvert normalis\xE9, maintien\ \ \xE0 niveau de la s\xE9curit\xE9 dans le temps, etc." @@ -312,7 +312,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.supplier - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node28 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3 @@ -326,7 +326,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.sap - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node29 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:3 @@ -354,7 +354,7 @@ objects: \ un sch\xE9ma du r\xE9seau" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node32 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4 @@ -369,7 +369,7 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.asset - urn:intuitem:risk:function:doc-pol:pol.classif - urn:intuitem:risk:function:doc-pol:doc.asset_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node33 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4 @@ -384,7 +384,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.proc_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node34 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4 @@ -398,7 +398,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.is_map - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node35 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:4 @@ -417,7 +417,7 @@ objects: s et le maintenir \xE0 jour" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node37 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5 @@ -433,11 +433,11 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:proc.pam - urn:intuitem:risk:function:doc-pol:doc.pam_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node38 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node37 - description: "les utilisateurs ayant un compte administrateur ou des droits\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1 + description: "> les utilisateurs ayant un compte administrateur ou des droits\ \ sup\xE9rieurs \xE0 ceux d\u2019un utilisateur standard sur le syst\xE8me\ \ d\u2019information ;" implementation_groups: @@ -445,11 +445,11 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:proc.pam - urn:intuitem:risk:function:doc-pol:doc.pam_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node39 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node37 - description: "les utilisateurs disposant de suffisamment de droits pour acc\xE9\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1 + description: "> les utilisateurs disposant de suffisamment de droits pour acc\xE9\ der aux r\xE9pertoires de travail des responsables ou de l\u2019ensemble des\ \ utilisateurs ;" implementation_groups: @@ -457,20 +457,20 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:proc.pam - urn:intuitem:risk:function:doc-pol:doc.pam_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node40 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node37 - description: "les utilisateurs utilisant un poste non administr\xE9 par le service\ - \ informatique et qui ne fait pas l\u2019objet de mesures de s\xE9curit\xE9\ - \ \xE9dict\xE9es par la politique de s\xE9curit\xE9 g\xE9n\xE9rale de l\u2019\ - entit\xE9. " + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:1 + description: "> les utilisateurs utilisant un poste non administr\xE9 par le\ + \ service informatique et qui ne fait pas l\u2019objet de mesures de s\xE9\ + curit\xE9 \xE9dict\xE9es par la politique de s\xE9curit\xE9 g\xE9n\xE9rale\ + \ de l\u2019entit\xE9. " implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.pam - urn:intuitem:risk:function:doc-pol:doc.pam_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node41 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5 @@ -484,7 +484,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.recertification - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node42 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:5 @@ -506,7 +506,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node44 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6 @@ -521,52 +521,52 @@ objects: \ ressources humaines. Elles doivent au minimum prendre en compte :" reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node45 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node44 - description: "la cr\xE9ation et la suppression des comptes informatiques et\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1 + description: "> la cr\xE9ation et la suppression des comptes informatiques et\ \ bo\xEEtes aux lettres associ\xE9es ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - urn:intuitem:risk:function:doc-pol:proc.hr_security - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node46 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node44 - description: " la gestion des acc\xE8s physiques aux locaux (attribution, restitution\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1 + description: "> la gestion des acc\xE8s physiques aux locaux (attribution, restitution\ \ des badges et des cl\xE9s, etc.) ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.physical_security - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node47 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node44 - description: " l\u2019affectation des \xE9quipements mobiles (ordinateur portable,\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1 + description: "> l\u2019affectation des \xE9quipements mobiles (ordinateur portable,\ \ cl\xE9 USB, disque dur, ordiphone, etc.) ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node48 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1:4 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node44 - description: "la gestion des documents et informations sensibles (transfert\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:1 + description: "> la gestion des documents et informations sensibles (transfert\ \ de mots de passe, changement des mots de passe ou des codes sur les syst\xE8\ mes existants)." implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.classif - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node49 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6:2 assessable: true - depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node44 + depth: 3 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:6 description: "Les proc\xE9dures doivent \xEAtre formalis\xE9es et mises \xE0\ \ jour en fonction du contexte." implementation_groups: @@ -583,7 +583,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node51 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7 @@ -600,7 +600,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node52 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7 @@ -614,7 +614,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.accept - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node53 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7 @@ -626,7 +626,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node54 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:7 @@ -655,7 +655,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node57 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8 @@ -667,7 +667,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node58 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8 @@ -684,7 +684,7 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.access - urn:intuitem:risk:function:doc-pol:proc.pam - urn:intuitem:risk:function:doc-pol:doc.pam_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node59 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8 @@ -703,7 +703,7 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.access - urn:intuitem:risk:function:doc-pol:proc.pam - urn:intuitem:risk:function:doc-pol:doc.pam_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node60 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:8 @@ -726,7 +726,7 @@ objects: \ d\u2019information" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node62 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9 @@ -740,39 +740,39 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.asset_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node63 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node62 - description: "de d\xE9finir quelle population peut y avoir acc\xE8s ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1 + description: "> de d\xE9finir quelle population peut y avoir acc\xE8s ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node64 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node62 - description: "de contr\xF4ler strictement son acc\xE8s, en s\u2019assurant que\ - \ les utilisateurs sont authentifi\xE9s et font partie de la population cibl\xE9\ - e ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1 + description: "> de contr\xF4ler strictement son acc\xE8s, en s\u2019assurant\ + \ que les utilisateurs sont authentifi\xE9s et font partie de la population\ + \ cibl\xE9e ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - urn:intuitem:risk:function:doc-pol:proc.pam - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node65 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node62 - description: "d\u2019\xE9viter sa dispersion et sa duplication \xE0 des endroits\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:1 + description: "> d\u2019\xE9viter sa dispersion et sa duplication \xE0 des endroits\ \ non ma\xEEtris\xE9s ou soumis \xE0 un contr\xF4le d\u2019acc\xE8s moins\ \ strict." implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.accept - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node66 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9 @@ -783,7 +783,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node67 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9 @@ -795,7 +795,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node68 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:9 @@ -815,7 +815,7 @@ objects: \ des mots de passe" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node70 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10 @@ -833,7 +833,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node71 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10 @@ -844,36 +844,36 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node72 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node71 - description: "le blocage des comptes \xE0 l\u2019issue de plusieurs \xE9checs\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2 + description: "> le blocage des comptes \xE0 l\u2019issue de plusieurs \xE9checs\ \ de connexion ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node73 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node71 - description: "la d\xE9sactivation des options de connexion anonyme ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2 + description: "> la d\xE9sactivation des options de connexion anonyme ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node74 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node71 - description: " l\u2019utilisation d\u2019un outil d\u2019audit de la robustesse\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:2 + description: "> l\u2019utilisation d\u2019un outil d\u2019audit de la robustesse\ \ des mots de passe." implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node75 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:10 @@ -892,7 +892,7 @@ objects: name: "Prot\xE9ger les mots de passe stock\xE9s sur les syst\xE8mes" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node77 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:11:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:11 @@ -915,7 +915,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.password_manager - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node78 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:11:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:11 @@ -937,7 +937,7 @@ objects: \ les \xE9quipements et services" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node80 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:12:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:12 @@ -957,7 +957,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node81 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:12:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:12 @@ -969,7 +969,7 @@ objects: annotation: Inacceptable en 2025 implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node82 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:12:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:12 @@ -989,7 +989,7 @@ objects: name: "Privil\xE9gier lorsque c\u2019est possible une authentification forte" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node84 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:13:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:13 @@ -1005,7 +1005,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.access - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node85 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:13:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:13 @@ -1040,7 +1040,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node88 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14 @@ -1055,10 +1055,10 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node89 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node88 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1 description: "limiter les applications install\xE9es et modules optionnels des\ \ navigateurs web aux seuls n\xE9cessaires ;" annotation: Par exemple SCCM @@ -1066,10 +1066,10 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.uem - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node90 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node88 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1 description: "doter les postes utilisateurs d\u2019un pare-feu local et d\u2019\ un anti-virus (ceux-ci sont parfois inclus dans le syst\xE8me d\u2019exploitation)\ \ ;" @@ -1080,10 +1080,10 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:pol.malware - urn:intuitem:risk:function:doc-pol:tech.endpoint_protection - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node91 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node88 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1 description: "chiffrer les partitions o\xF9 sont stock\xE9es les donn\xE9es\ \ des utilisateurs ;" annotation: "Par exemple Bitlocker, CRYHOD, MacOS\u2026" @@ -1091,17 +1091,17 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.disk_encryption - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node92 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1:4 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node88 + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:1 description: "d\xE9sactiver les ex\xE9cutions automatiques (autorun)." annotation: "GPO de d\xE9sactivation de l'autorun" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.gpo - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node93 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14 @@ -1114,7 +1114,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node94 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:14 @@ -1147,7 +1147,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node96 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15 @@ -1166,7 +1166,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node97 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15 @@ -1181,7 +1181,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.endpoint_protection - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node98 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15 @@ -1194,7 +1194,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:tech.endpoint_protection - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node99 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:15 @@ -1215,7 +1215,7 @@ objects: iser les politiques de s\xE9curit\xE9" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node101 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:16:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:16 @@ -1252,7 +1252,7 @@ objects: name: Activer et configurer le pare-feu local des postes de travail implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node103 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17 @@ -1273,7 +1273,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.endpoint_protection - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node104 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17 @@ -1287,7 +1287,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:tech.endpoint_protection - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node105 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17 @@ -1301,7 +1301,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:doc.flow_matrix - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node106 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:17 @@ -1323,7 +1323,7 @@ objects: name: "Chiffrer les donn\xE9es sensibles transmises par voie Internet" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node108 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:18:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:18 @@ -1344,7 +1344,7 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.transfer - urn:intuitem:risk:function:doc-pol:pol.crypto - urn:intuitem:risk:function:doc-pol:tech.file_encryption - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node109 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:18:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:18 @@ -1375,7 +1375,7 @@ objects: \ zones" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node112 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:19:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:19 @@ -1395,7 +1395,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node113 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:19:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:19 @@ -1411,7 +1411,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:tech.vlan - urn:intuitem:risk:function:doc-pol:tech.network_firewall - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node114 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:19:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:19 @@ -1434,7 +1434,7 @@ objects: \ la s\xE9paration des usages" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node116 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20 @@ -1456,7 +1456,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:tech.vlan - urn:intuitem:risk:function:doc-pol:tech.network_firewall - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node117 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20 @@ -1473,7 +1473,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.wifi_sec - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node118 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20 @@ -1485,7 +1485,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node119 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20 @@ -1498,7 +1498,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node120 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:20 @@ -1520,7 +1520,7 @@ objects: name: "Utiliser des protocoles r\xE9seaux s\xE9curis\xE9s d\xE8s qu'ils existent" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node122 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:21:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:21 @@ -1557,7 +1557,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node124 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1571,7 +1571,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node125 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1589,7 +1589,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:tech.network_firewall - urn:intuitem:risk:function:doc-pol:tech.web_proxy - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node126 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1598,7 +1598,7 @@ objects: \ antivirus du contenu, filtrage par cat\xE9gories d\u2019URLs, etc." implementation_groups: - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node127 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1609,7 +1609,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:pol.maintenance - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node128 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1617,7 +1617,7 @@ objects: , ces \xE9quipements pourront \xEAtre redond\xE9s. " implementation_groups: - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node129 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:6 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1629,7 +1629,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:tech.network_firewall - urn:intuitem:risk:function:doc-pol:tech.web_proxy - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node130 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22:7 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:22 @@ -1651,7 +1651,7 @@ objects: me d'information" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node132 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:23:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:23 @@ -1668,7 +1668,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node133 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:23:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:23 @@ -1682,7 +1682,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.network_firewall - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node134 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:23:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:23 @@ -1707,7 +1707,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node136 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1725,7 +1725,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node137 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1738,7 +1738,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.seg_duty - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node138 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1751,7 +1751,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.accept - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node139 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:4 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1759,22 +1759,22 @@ objects: me de messagerie, elle doit s\u2019assurer :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node140 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:4:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node139 - description: "de disposer d\u2019un syst\xE8me d\u2019analyse antivirus en amont\ - \ des bo\xEEtes aux lettres des utilisateurs pour pr\xE9venir la r\xE9ception\ - \ de fichiers infect\xE9s ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:4 + description: "> de disposer d\u2019un syst\xE8me d\u2019analyse antivirus en\ + \ amont des bo\xEEtes aux lettres des utilisateurs pour pr\xE9venir la r\xE9\ + ception de fichiers infect\xE9s ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.network_antivirus - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node141 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:4:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node139 - description: "de l\u2019activation du chiffrement TLS des \xE9changes entre\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:4 + description: "> de l\u2019activation du chiffrement TLS des \xE9changes entre\ \ serveurs de messagerie (de l\u2019entit\xE9 ou publics) ainsi qu\u2019entre\ \ les postes utilisateur et les serveurs h\xE9bergeant les bo\xEEtes aux lettres." implementation_groups: @@ -1782,7 +1782,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:pol.transfer - urn:intuitem:risk:function:doc-pol:pol.crypto - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node142 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1797,7 +1797,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:tech.mail_gateway - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node143 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:6 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1810,7 +1810,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:tech.mail_gateway - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node144 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24:7 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:24 @@ -1834,7 +1834,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node146 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25 @@ -1851,7 +1851,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.vpn - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node147 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25 @@ -1865,7 +1865,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.network_firewall - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node148 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25 @@ -1876,7 +1876,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:tech.network_firewall - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node149 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25 @@ -1886,7 +1886,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:tech.ids - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node150 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:25 @@ -1906,7 +1906,7 @@ objects: \ techniques" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node152 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26 @@ -1921,7 +1921,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.physical - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node153 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26 @@ -1932,7 +1932,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.physical - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node154 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26 @@ -1944,7 +1944,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.physical_security - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node155 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26 @@ -1955,7 +1955,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.physical_security - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node156 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26 @@ -1966,7 +1966,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.hr_security - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node157 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26:6 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:26 @@ -1994,7 +1994,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node160 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27 @@ -2007,7 +2007,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node161 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27 @@ -2027,7 +2027,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.pam - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node162 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27 @@ -2041,7 +2041,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:proc.update - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node163 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27 @@ -2052,7 +2052,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:proc.update - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node164 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:27 @@ -2072,7 +2072,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node166 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28 @@ -2087,7 +2087,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node167 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28 @@ -2095,22 +2095,22 @@ objects: \ recommand\xE9 :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node168 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node167 - description: "de privil\xE9gier en premier lieu un cloisonnement physique des\ - \ r\xE9seaux d\xE8s que cela est possible, cette solution pouvant repr\xE9\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2 + description: "> de privil\xE9gier en premier lieu un cloisonnement physique\ + \ des r\xE9seaux d\xE8s que cela est possible, cette solution pouvant repr\xE9\ senter des co\xFBts et un temps de d\xE9ploiement importants;" implementation_groups: - R reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node169 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node167 - description: "\xE0 d\xE9faut, de mettre en \u0153uvre un cloisonnement logique\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2 + description: "> \xE0 d\xE9faut, de mettre en \u0153uvre un cloisonnement logique\ \ cryptographique reposant sur la mise en place de tunnels IPsec. Ceci permet\ \ d\u2019assurer l\u2019int\xE9grit\xE9 et la confidentialit\xE9 des informations\ \ v\xE9hicul\xE9es sur le r\xE9seau d\u2019administration vis-\xE0-vis du\ @@ -2119,12 +2119,12 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.network - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node170 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node167 - description: "au minimum, de mettre en \u0153uvre un cloisonnement logique par\ - \ VLAN. " + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:28:2 + description: "> au minimum, de mettre en \u0153uvre un cloisonnement logique\ + \ par VLAN. " implementation_groups: - S reference_controls: @@ -2138,7 +2138,7 @@ objects: \ sur les postes de travail" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node172 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:29:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:29 @@ -2160,7 +2160,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node173 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:29:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:29 @@ -2189,7 +2189,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node176 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30 @@ -2204,7 +2204,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node177 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30 @@ -2220,7 +2220,7 @@ objects: - urn:intuitem:risk:function:doc-pol:pol.educ - urn:intuitem:risk:function:doc-pol:doc.educ_plan - urn:intuitem:risk:function:doc-pol:doc.educ_register - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node178 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30 @@ -2232,7 +2232,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node179 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30 @@ -2243,7 +2243,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.screen_filter - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node180 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:30 @@ -2265,7 +2265,7 @@ objects: \ potentiellement perdable" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node182 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:31:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:31 @@ -2282,7 +2282,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.crypto - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node183 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:31:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:31 @@ -2295,7 +2295,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:tech.disk_encryption - urn:intuitem:risk:function:doc-pol:tech.file_encryption - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node184 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:31:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:31 @@ -2319,7 +2319,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node186 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32 @@ -2335,7 +2335,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.vpn - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node187 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32 @@ -2348,7 +2348,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - urn:intuitem:risk:function:doc-pol:tech.endpoint_protection - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node188 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32 @@ -2363,7 +2363,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.vpn - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node189 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:32 @@ -2373,7 +2373,8 @@ objects: \ forte, par exemple avec un mot de passe et un certificat stock\xE9 sur un\ \ support externe (carte \xE0 puce ou jeton USB) ou un m\xE9canisme de mot\ \ de passe \xE0 usage unique (One Time Password). " - annotation: Indispensable en 2025 + annotation: L'authentification MFA est indispensable en 2025, compte-tenu de + la puissance d'attaque en force brute disponible pour les attaquants. implementation_groups: - R reference_controls: @@ -2388,7 +2389,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node191 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33 @@ -2403,7 +2404,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - urn:intuitem:risk:function:doc-pol:pol.accept - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node192 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33 @@ -2422,7 +2423,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.uem - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node193 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33 @@ -2433,7 +2434,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.work - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node194 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:33 @@ -2460,7 +2461,7 @@ objects: me d\u2019information" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node197 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34 @@ -2477,57 +2478,57 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.maintenance - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node198 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34 description: "Celles-ci doivent notamment pr\xE9ciser :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node199 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node198 - description: "la mani\xE8re dont l\u2019inventaire des composants du syst\xE8\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2 + description: "> la mani\xE8re dont l\u2019inventaire des composants du syst\xE8\ me d\u2019information est r\xE9alis\xE9 ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.update - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node200 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node198 - description: "les sources d\u2019information relatives \xE0 la publication des\ - \ mises \xE0 jour ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2 + description: "> les sources d\u2019information relatives \xE0 la publication\ + \ des mises \xE0 jour ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.threat_intel - urn:intuitem:risk:function:doc-pol:proc.update - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node201 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node198 - description: "les outils pour d\xE9ployer les correctifs sur le parc (par exemple\ - \ WSUS pour les mises \xE0 jour des composants Microsoft, des outils gratuits\ - \ ou payants pour les composants tiers et autres syst\xE8mes d\u2019exploitation)\ - \ ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2 + description: "> les outils pour d\xE9ployer les correctifs sur le parc (par\ + \ exemple WSUS pour les mises \xE0 jour des composants Microsoft, des outils\ + \ gratuits ou payants pour les composants tiers et autres syst\xE8mes d\u2019\ + exploitation) ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.update - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node202 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2:4 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node198 - description: "l\u2019\xE9ventuelle qualification des correctifs et leur d\xE9\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:2 + description: "> l\u2019\xE9ventuelle qualification des correctifs et leur d\xE9\ ploiement progressif sur le parc." implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.update - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node203 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:34 @@ -2549,7 +2550,7 @@ objects: \ les adh\xE9rences logicielles" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35 @@ -2563,76 +2564,76 @@ objects: cautions existent :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node206 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "\xE9tablir et tenir \xE0 jour un inventaire des syst\xE8mes et\ - \ applications du syst\xE8me d\u2019information ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> \xE9tablir et tenir \xE0 jour un inventaire des syst\xE8mes\ + \ et applications du syst\xE8me d\u2019information ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.file_encryption - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node207 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "choisir des solutions dont le support est assur\xE9 pour une dur\xE9\ - e correspondant \xE0 leur utilisation ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> choisir des solutions dont le support est assur\xE9 pour une\ + \ dur\xE9e correspondant \xE0 leur utilisation ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.maintenance - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node208 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "assurer un suivi des mises \xE0 jour et des dates de fin de support\ - \ des logiciels ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> assurer un suivi des mises \xE0 jour et des dates de fin de\ + \ support des logiciels ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:tech.file_encryption - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node209 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:4 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "maintenir un parc logiciel homog\xE8ne (la coexistence de versions\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> maintenir un parc logiciel homog\xE8ne (la coexistence de versions\ \ diff\xE9rentes d\u2019un m\xEAme produit multiplie les risques et complique\ \ le suivi) ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.maintenance - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node210 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:5 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "limiter les adh\xE9rences logicielles, c\u2019est-\xE0-dire les\ - \ d\xE9pendances de fonctionnement d\u2019un logiciel par rapport \xE0 un\ - \ autre, en particulier lorsque le support de ce dernier arrive \xE0 son terme\ - \ ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> limiter les adh\xE9rences logicielles, c\u2019est-\xE0-dire\ + \ les d\xE9pendances de fonctionnement d\u2019un logiciel par rapport \xE0\ + \ un autre, en particulier lorsque le support de ce dernier arrive \xE0 son\ + \ terme ;" annotation: "Principe de modularit\xE9 applicative" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.arc_principles - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node211 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:6 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "inclure dans les contrats avec les prestataires et fournisseurs\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> inclure dans les contrats avec les prestataires et fournisseurs\ \ des clauses garantissant le suivi des correctifs de s\xE9curit\xE9 et la\ \ gestion des obsolescences ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.supplier - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node212 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1:7 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node205 - description: "identifier les d\xE9lais et ressources n\xE9cessaires (mat\xE9\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:35:1 + description: "> identifier les d\xE9lais et ressources n\xE9cessaires (mat\xE9\ rielles, humaines, budg\xE9taires) \xE0 la migration de chaque logiciel en\ \ fin de vie (tests de non-r\xE9gression, proc\xE9dure de sauvegarde, proc\xE9\ dure de migration des donn\xE9es, etc.)." @@ -2654,7 +2655,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node215 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2665,7 +2666,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.monitor - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node216 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2678,7 +2679,7 @@ objects: reference_controls: - urn:intuitem:risk:function:doc-pol:doc.asset_register - urn:intuitem:risk:function:doc-pol:doc.is_map - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node217 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2690,7 +2691,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.logging - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node218 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2701,7 +2702,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.monitor - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node219 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2712,42 +2713,42 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.logging - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node220 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node219 - description: "pare-feu : paquets bloqu\xE9s ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5 + description: "> pare-feu : paquets bloqu\xE9s ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.logging - urn:intuitem:risk:function:doc-pol:tech.network_firewall - urn:intuitem:risk:function:doc-pol:tech.edr - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node221 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node219 - description: "syst\xE8mes et applications : authentifications et autorisations\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5 + description: "> syst\xE8mes et applications : authentifications et autorisations\ \ (\xE9checs et succ\xE8s), arr\xEAts inopin\xE9s ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.logging - urn:intuitem:risk:function:doc-pol:tech.edr - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node222 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node219 - description: "services : erreurs de protocoles (par exemples les erreurs 403,\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:5 + description: "> services : erreurs de protocoles (par exemples les erreurs 403,\ \ 404 et 500 pour les services hTTP), tra\xE7abilit\xE9 des flux applicatifs\ - \ aux interconnexions (URL sur un relai hTTP, en-t\xEAtes des messages sur\ + \ aux interconnexions (URL sur un relai HTTP, en-t\xEAtes des messages sur\ \ un relai SMTP, etc.)." implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.logging - urn:intuitem:risk:function:doc-pol:tech.edr - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node223 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:6 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2758,7 +2759,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.ntp - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node224 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36:7 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:36 @@ -2781,7 +2782,7 @@ objects: implementation_groups: - S - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node226 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37 @@ -2796,7 +2797,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37 @@ -2804,74 +2805,74 @@ objects: \ :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node228 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: "la liste des donn\xE9es jug\xE9es vitales pour l\u2019organisme\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: "> la liste des donn\xE9es jug\xE9es vitales pour l\u2019organisme\ \ et les serveurs concern\xE9s ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node229 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: "les diff\xE9rents types de sauvegarde (par exemple le mode hors\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: "> les diff\xE9rents types de sauvegarde (par exemple le mode hors\ \ ligne) ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node230 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: "la fr\xE9quence des sauvegardes ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: "> la fr\xE9quence des sauvegardes ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node231 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:4 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: "la proc\xE9dure d\u2019administration et d\u2019ex\xE9cution des\ - \ sauvegardes ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: "> la proc\xE9dure d\u2019administration et d\u2019ex\xE9cution\ + \ des sauvegardes ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node232 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:5 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: "les informations de stockage et les restrictions d\u2019acc\xE8\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: "> les informations de stockage et les restrictions d\u2019acc\xE8\ s aux sauvegardes ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node233 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:6 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: "les proc\xE9dures de test de restauration ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: "> les proc\xE9dures de test de restauration ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node234 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2:7 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node227 - description: ' la destruction des supports ayant contenu les sauvegardes.' + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:2 + description: '> la destruction des supports ayant contenu les sauvegardes.' implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.disposal - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node235 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3 assessable: false depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37 @@ -2879,36 +2880,36 @@ objects: \ mani\xE8res :" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node236 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3:1 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node235 - description: "syst\xE9matique, par un ordonnanceur de t\xE2ches pour les applications\ + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3 + description: "> syst\xE9matique, par un ordonnanceur de t\xE2ches pour les applications\ \ importantes ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node237 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3:2 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node235 - description: "ponctuelle, en cas d\u2019erreur sur les fichiers ;" + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3 + description: "> ponctuelle, en cas d\u2019erreur sur les fichiers ;" implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.backup - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node238 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3:3 assessable: true depth: 4 - parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node235 - description: "g\xE9n\xE9rale, pour une sauvegarde et restauration enti\xE8res\ - \ du syst\xE8me d\u2019information." + parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:3 + description: "> g\xE9n\xE9rale, pour une sauvegarde et restauration enti\xE8\ + res du syst\xE8me d\u2019information." implementation_groups: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.bcp - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node239 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:37 @@ -2930,7 +2931,7 @@ objects: \ puis appliquer les actions correctives associ\xE9es (renforc\xE9)" implementation_groups: - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node241 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38 @@ -2944,7 +2945,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:pol.audit - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node242 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38 @@ -2959,7 +2960,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:doc.audit_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node243 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38 @@ -2973,7 +2974,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:doc.nc_log - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node244 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:38 @@ -2995,7 +2996,7 @@ objects: information et le faire conna\xEEtre aupr\xE8s du personnel" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node246 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39 @@ -3007,7 +3008,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.raci - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node247 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39 @@ -3023,7 +3024,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node248 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39 @@ -3033,7 +3034,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:doc.educ_plan - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node249 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:39 @@ -3055,7 +3056,7 @@ objects: name: "D\xE9finir une proc\xE9dure de gestion des incidents de s\xE9curit\xE9" implementation_groups: - S - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node251 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40 @@ -3068,7 +3069,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.incident - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node252 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40 @@ -3084,7 +3085,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:proc.incident - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node253 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40:3 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40 @@ -3101,7 +3102,7 @@ objects: - S reference_controls: - urn:intuitem:risk:function:doc-pol:pol.incident - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node254 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40:4 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:40 @@ -3126,7 +3127,7 @@ objects: name: "Mener une analyse de risques formelle (renforc\xE9)" implementation_groups: - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node257 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:41:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:41 @@ -3153,7 +3154,7 @@ objects: - R reference_controls: - urn:intuitem:risk:function:doc-pol:pol.risk - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node258 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:41:2 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:41 @@ -3180,7 +3181,7 @@ objects: \ l'ANSSI (renforc\xE9)" implementation_groups: - R - - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:node260 + - urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:42:1 assessable: true depth: 3 parent_urn: urn:intuitem:risk:req_node:anssi-guide-hygiene-detail:42 diff --git a/frontend/tests/utils/test-data.ts b/frontend/tests/utils/test-data.ts index 3af3cf2b46..3462c4d710 100644 --- a/frontend/tests/utils/test-data.ts +++ b/frontend/tests/utils/test-data.ts @@ -252,7 +252,7 @@ export default { category: 'policy', // csf_function: 'govern', library: { - name: 'Documents and policies', + name: 'Usual reference controls', ref: 'doc-pol', urn: 'urn:intuitem:risk:library:doc-pol' }, @@ -263,7 +263,7 @@ export default { category: 'process', // csf_function: 'protect', library: { - name: 'Documents and policies', + name: 'Usual reference controls', ref: 'doc-pol', urn: 'urn:intuitem:risk:library:doc-pol' }, diff --git a/tools/anssi/anssi-guide-hygiene-detail.xlsx b/tools/anssi/anssi-guide-hygiene-detail.xlsx index 160d48238a77280203f35074f5afef2edf8fb09b..08b50c482ab8b36657e359b23d7f5a9273c7d99e 100644 GIT binary patch delta 43027 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 XjJ%T<#61EKzmrzPA_ncj00000F#l;8 delta 42883 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