diff --git a/Cours Audit & Sécurité réseau/Audit sécurité des réseaux - G.Noël.md b/Cours Audit & Sécurité réseau/Audit sécurité des réseaux - G.Noël.md new file mode 100644 index 0000000..2c952f5 --- /dev/null +++ b/Cours Audit & Sécurité réseau/Audit sécurité des réseaux - G.Noël.md @@ -0,0 +1,464 @@ +*30/10/2018 - Cours 1* + +# Introduction + +Définition du Système d'Information : il n'est pas forcément éléectronique et peut être dans toute structure ou organisation qui traite/contrôle/stocke/partage/collecte de l'information. + +Différencier : + +- Data (Élément brut) + +- Information (Référentiel permettant d'interpréter la data) + +- Connaissance (Extrapolation des informations) + +Un SI se schématise autour du concept du traitement comme un bloc : les données y entrent (in), le traitement subit des perturbations et les données en sortent (out) avec de la perte. La sécurisation d'un SI revient à limiter les perturbations et les pertes. + +# L'iso 15408 + +ISO = International Standard Irganisation + +La 15408 a été créée pour donner des normes de sécurité à respecter partout. +Ainsi, 15 pays (UE, USA, Jpaon, Canada...) partagent des critères communs d'évaluation de sécurité de l'information. + +(ISO 9000: qualité) + +## PPST TOE + +C'est un profil de protection + +- **PP** : Vision de l'utilisateur du SI + + - Use cases - indépendant de toute implémentation + + - Définit les objectifs de sécurité à atteindre via : + + - l'environnement de travail + + - les exigences fonctionnelles + +- **ToE** : Cibles de l'évaluation (ToE) + + - Tout composant du SI pouvant influer sur la sécurité (câbles, procédures...) + +- **ST** : Cible de sécurité + + - Spécification technique de la sécurité + + - Vision des dev/admin/intégrateurs + + - Specifications fonctionnelles + + - Définition des risques et menaces + + - Définition des mesures de sécurité à employer + +Pour faciliter l'implémentation de cet ISO à l'international, on définit des classes de sécurité. +Chaque classe a des sous-classes et des sous-sous-classes + +1. Audit Sécu + + Test/attaque du système (via des outils gratuits : Ness/OpenVas) + +2. Communication + + Tous les moyens d'échanger l'information dans l'organisation (même non informatique) + +3. Suppport cryptographique + + Gestion du codage (tout le monde peut décoder) ou du chiffrage (utilisation de clés, symétrie/asymétrie) + +4. Protection de la user data + + Identification : déclarer l'identité != Authentification : vérifier l'identité + +5. Protection de la vie privée + + Tout utilisateur doit être informé qu'on peut récupérer ses infos. Autrement toute la récupération de données est inutilisable légalement. + +6. Protection des ToE + +7. Authentification et Identificxation + +8. Admin Sécu + +9. Utilisation des ressources + +10. Accès ToE + +11. Chemins et canaux de confiance + +**3 grands critères émergent de ces définitions** + +- **Confidentialité** : Les bonnes personnes accèdent à l'information + +- **Disponibilité** : L'accès à l'information est possible + +- **Intégrité** : L'information n'est pas corrompue + +- (en option) **Non répudiation** : Le fait d'avoir toujours une trace - ne pouvoir nier avoir fait quelque chose + +# Implémentations de l'iso + +## MARION + +Méthode d'Analyse des Risques Informatiques et Optimisation par Niveau +Fruit de la collaboration entre DGA & CLUSIF dans les années 80 +Dernière MàJ en 1998 + +Il s'agit de 27 indicateurs pour évaluer le niveau global de sécurité du SI, chacun a une note entre 0 et 4. + +On y trouve les concepts de : + +- vulnérabilité : point faible + +- menace : potentiel d'exploitation/de déclenchement du point faible / de l'opportunité + +- risque : impact, probabilité, occurence, proba occurence * score d'impact = score de risque + +Déroulement en 4 phases : + +1. Préparation : définir les limites de l'audit + + - Qu'est-ce qui est évalué ? + + - Dans quelles conditions ? + + - ToE, individus + +2. Audit : on fait l'audit + +3. Analyse : Dépouiller et attribuer des scores aux 27 indicateurs + + - Déterminer lesquels sont mauvais... + +4. Plan d'action : Comment corriger + +L'implémentation est relativement libre + +## MEHARI + +C'est l'évolution de MARION (un peu comme des pokémons) +MÉthode Harmonisé d'Analyse des RIsques +Issu du CLUSIF +Méthode d'analyse quantitative des risques avec des questionnaires pré-définis et de règles de notation des critères + +L'idée de base est qu'on ne fait pas disparaître un risque, on le diminue. Il faut donc + +- accepter l'idée de risque résiduel + +- se dire que le plan d'action n'a pas pour but de faire disparaitre tous les risques + +C'est arrivé pile dans la grande époque de la gestion de projet avec le cycle en V + +# EBIOS + +Évaluation des Besoins et Identification des Objectifs de Sécurité +Élaboré par la DGA et repris par le Ministère de l'Intérieur + +5 modules : + +1. Étude du contexte (lié à 2, 3 et 4) + +2. Étude des évènements redoutés (lié à 1 et 4) + +3. Étude des scénarii de menace (lié à 1 et 4) + +4. Étude des risques (lié à 1, 2, 3 et 5) + +5. Mesures de sécurité (lié à 4) + +## Étude du contexte + +Définir : + +1. Le périmètre + +2. Les acteurs + +3. Le niveau de sécurité + +4. Les biens essentiels : éléments qu'on souhaite fournir (ex: service de messagerie) + +5. Les biens supports : éléments permettant de concrétiser un bien support (ex: serveur Exchange) + +6. Identifier les risques + +Définir le cadre : + +- définir les limites + +- vérifier la légitimité + +- définir les paramètres à prendre en compte + +- définir l'existant + +- définir les sources de menace + +Définir les acteurs. L'outil de définition est l'humain. On remplit un tableau selon la matrice RACI : + +- Responsable + +- Autorité + +- Consulté + +- Informé + +Pour chaque fonctionnalité, on indique le rôle de chaque acteur du projet + +Les fonctionnalités sont liées ensuite aux Biens Essentiels (BE), eux même liés à l'identifiation des acteurs liés, eux même liés aux Bien Supports (BS), eux-même liés à un "propriétaire". + +Différents types de BS : Réseau, Logiciel, Matériel, Personnes, Organisation + +Puis identification des contraintes aux fonctionnalités des BE. Elles peuvent être : + +- techniques + +- humaines + +- conjoncturelles + +- juridiques + +- d'organisation + +- stratégiques + +Lister les éléments de sécurité en place et évaluer leur pertinence "à priori" + +Étudier des sources de menace, il existe pour ça des listes pré-établies de sources. Les grandes catégories : + +- Humaines, naturelles, techniques + +- Compétentes, Non-compétentes + +- Hostiles, Non-hostiles + +Préparer les métriques. pas entre 0&4 comme MARION et MEHARI : on peut choisir nous-même. +EBIOS a des métriques par défaut, on peut les changer ou en prendre de nouvelles (pour les besoins métier par exemple). Cela permet : + +- d'évaluer les risques liés à la sécurité + +- de redéfinir la gravité et la vraisemblance d'un risque + +Enfin, déterminer les bien via un listage et une matrice de dépendance entre BE et BS ("Si je touche à tel serveur, ques autres services vont être impactés ?"). +À chaque fois, on liste les mesures de sécurité mises en place + +## Étude des évènements redoutés + +- Déterminer les besoins en sécurité des biens essentiels (CDI) + +- Impacts en cas de non respect (financiers, juridiques, sur l'image de marque, sur tiers...) + +- Identifier les sources de menace + +Tout cela permet de définir un évènement redouté (ex: utilisateur non-averti non hostile, rend indisponible le service de messagerie par flood de spam) + +Déterminer et qualifier les évènements redoutés. +Il existe des listes préétablies d'évènements redoutés, on peut aussi créer les siens. +Il faut étudier ce qui peut mal se passer **sans se foncaliser sur la source** + +En entrée : + +- Liste des biens et éléments de sécurité + +- Échelles de mesure + +- Liste des sources de menace (pas de comment : juste les sources) + +- Liste des évènements pré-établis + +Le but est de déterminer la vraisemblance d'un évènement redouté, puis une classification des évènements du plus au moins grave. + +Ex : + +On établit à partir de ça le **palmarès de la phobie des évènements** + +| 3 | -
- | +| --- | --------------------------------------- | +| 2 | - Impossibilié d'établir un devis
- | +| 1 | -
- | +| 0 | -
- | + +## Étude des scenarii de menace + +- Estimer et identifier les scenarii pouvant amener aux évènements redoutés + - Quelles sont les vulnérabilités exploitables et quels sont les moyens de les utiliser ? + +Même logique que précédemment, centré sur "comment les choses pourraient mal tourner ?" + +Le tableau est donc plutôt du genre : + +| Scénario | Source | Vraisemblance | +| ------------------------------------ | -------------------------------------------------------------- | ------------- | +| Menace externe qui rend Wifi indispo | Employé indélicat
Maintenance
Virus
Script-kiddies | 3 forte | + +**Attention** : un évènement redouté (est-ce que c'est grave ?) **!=** un scénario (est-ce qu'il y a des chances que ça arrive ?) + +On établit aussi un palmarès + +## Étude des risques + +- Mise en évidence des risques + +- Évaluation - Quantification + +- Détermination des risques à corriger en premier + +Ça consiste à croiser les flux : + +- Quels sont les impacts si évènement arrive ? + +- Quelle vraisemblance pour un scénario menant à cet évènement ? + +- Est-ce grave pour notre entreprise, dnas le périmètre de l'étude ? + +Risque = évènement (score impact) + scénario y amenant (score vraisemblance) + +On a besoin de choisir l'option de traitement des risques : + +- Traiter le risque : + + - Diminuer l'impact + + - Diminuer la vraisemblance + +- Transférer le risque + +- Accepter le risque + +Les risques résiduels sont ensuite acceptables, ou acceptés. + +## Mesures de sécurité + +- Définition de ce qu'il faut mettre en place et de comment le contrôler + +- Évalutation des risques résiduels + +En gros, qu'est-ce qu'on met en place pour atteindre l'objectif de sécurité visé précédemment ? + +Aboutit à terme sur le lancement du projet et l'évolution du SI. + +--- + +*11/12/2017 - Cours 4* + +# ISO 27000 (27K) + +Rappel : CDIN + +- **C**onf(iance ?) + +- **D**isponibilité + +- **I**ntegrité + +- **N**on-Répudiation + + + +## Étapes + +1. Aval de la direction + +2. Périmètre SMSI (Système de Management Sécurité Information) + + => Correspond à l'iso 27K2 (27002) + +3. Inventaire des actifs (Biens Supports/Biens Essentiels) + +4. 1. Définir analyse et Méthode + + 2. Analyse des risques + +5. 1. Préparation de la déclaration de l'applicabilité + + 2. Préparation des dossiers de traitement des risques + + => Correspond à l'iso 27005 ( =/- identique à EBIOS) + +6. Définir plan de mise en place du SMSI + +7. Mise en place du SMSI : + + - Pas mal de sous-étapes avec des sous-projets. Pour chaque sous projet on établit le KPI + + - KPI == Key Performance Indicator + + - On a aussi plusieurs procédures, contenant Fonctionnement standard, Exceptions et "MeP" (?) + +8. Définition du SMSI + + - Celui-ci utilise une bdd de collecte d'inventaire, qui vient des étapes 3, 4b, et 8 + +9. Le SMSI travaille avec des outils opérationnels : + + - Base de données d'artefact (logs, doc...) + + - Rapports antérieurs + + - Cours formation utilisation + + Et des outils de traitement des documents + +10. Le SMSI permet également établir une revue de conformité + +11. Actions correctives : agissent à nouveau sur 7 et sur 8 (cycle **PDCA** : Plan Do Check Act) + +12. Pré-certification interne + +13. ? + +14. Certification ISO 2700 + +--- + +*19/01/18 - Cours 5* + +# Lab26 + +C'est une collection de frameworks de "découverte" de sécurité web + +Pour s'identifier : + +- root//password + +- tux//password + + + +## Consignes + +Se connecter en tant que tux + +- burp suite + +- navigateur > 127.0.0.1 + + - Exercices + + - BWAP + +Pour le clavier fr : setxkbmap fr + + + +### Injections SQL + +Pas une grande découverte + + + +### Cross-scripting + +Ou XSS + +Même concept que injection SQL mais avec un bout de script, JS par exemple + + + +### BURP suite + +À prendre comme un jeu, à faire chez soi diff --git a/Cours Audit & Sécurité réseau/Ressources/Cours 6/1-Exo_Analyse-reseau.pdf b/Cours Audit & Sécurité réseau/Ressources/Cours 6/1-Exo_Analyse-reseau.pdf new file mode 100644 index 0000000..c9c6bfa Binary files /dev/null and b/Cours Audit & Sécurité réseau/Ressources/Cours 6/1-Exo_Analyse-reseau.pdf differ diff --git a/Cours Audit & Sécurité réseau/Ressources/Cours 6/2-analysetramestcp.doc b/Cours Audit & Sécurité réseau/Ressources/Cours 6/2-analysetramestcp.doc new file mode 100644 index 0000000..9bff64a Binary files /dev/null and b/Cours Audit & Sécurité réseau/Ressources/Cours 6/2-analysetramestcp.doc differ diff --git a/Cours Audit & Sécurité réseau/Ressources/Cours 6/3-capture-TCP.docx b/Cours Audit & Sécurité réseau/Ressources/Cours 6/3-capture-TCP.docx new file mode 100644 index 0000000..bfce1a1 Binary files /dev/null and b/Cours Audit & Sécurité réseau/Ressources/Cours 6/3-capture-TCP.docx differ diff --git a/Cours Audit & Sécurité réseau/Ressources/Cours 6/4-Exo_Nat.doc b/Cours Audit & Sécurité réseau/Ressources/Cours 6/4-Exo_Nat.doc new file mode 100644 index 0000000..85df1a5 Binary files /dev/null and b/Cours Audit & Sécurité réseau/Ressources/Cours 6/4-Exo_Nat.doc differ diff --git a/Cours Audit & Sécurité réseau/Ressources/Cours 7/.~lock.Iptables.doc# b/Cours Audit & Sécurité réseau/Ressources/Cours 7/.~lock.Iptables.doc# new file mode 100644 index 0000000..48a29b8 --- /dev/null +++ b/Cours Audit & Sécurité réseau/Ressources/Cours 7/.~lock.Iptables.doc# @@ -0,0 +1 @@ +,matt,pocket,13.06.2018 08:26,file:///home/matt/.config/libreoffice/4; \ No newline at end of file diff --git a/Cours Audit & Sécurité réseau/Ressources/Cours 7/Iptables.doc b/Cours Audit & Sécurité réseau/Ressources/Cours 7/Iptables.doc new file mode 100644 index 0000000..c75573a Binary files /dev/null and b/Cours Audit & Sécurité réseau/Ressources/Cours 7/Iptables.doc differ diff --git a/Cours Audit & Sécurité réseau/Sécurité des réseaux - A.Hocine.md b/Cours Audit & Sécurité réseau/Sécurité des réseaux - A.Hocine.md new file mode 100644 index 0000000..7e3942f --- /dev/null +++ b/Cours Audit & Sécurité réseau/Sécurité des réseaux - A.Hocine.md @@ -0,0 +1,138 @@ +*11/06/18 - Cours 6* + +# Rappels sur OSI + +On va travailer essentiellement sur le modèle OSI : +**Couches logicielles** : +7 - Transport +6 - Présentation +5 - Session + +**Couche charnière** : +4 - Transport + +**Couches matérielles** : +3 - Réseau +2 - Liaison +1 - Physique + +1. Physique, signal, des 0 et des 1 +2. Trames ethernet suivant la norme IEEE802.3 : + +| P+D | @mac dest | @mac src | Type | Data | CRC | +| ---------- | --------- | -------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --- | +| 7+1 octets | 6 octets | 6 octets | 2 octets | Data | CRC | +| | | | Code indiquant protocole qui va prendre la suite de l'opération | Datagramme IP : il devrait nous fournir le schéma (au pire ça se trouve sur le web) | CRC | + +Le datagramme IP (codé sur 32 bits) comporte un important entête composé de plusieurs parties. Dans la DATA du datagramme IP on retrouve le segment TCP (codé sur 32 bits). Il a aussi un entête puis la DATA. + +3. C'est le datagramme IP +4. TCP ou UDP, regarde port src et port dst + +### Exercice + +Consignes : voir ressources cours 1 + +1- Adresses mac : +src : 00 80 C8 7A 0A D8 +dst : 00 D0 59 82 2B 86 +2- Entête datagramme : +45 00 00 40 +8B 12 40 00 +40 06 57 17 +AC 10 00 64 = IP source : 172.16.0.100 +AC 10 00 0A = IP dest : 172.16.0.10 +3 - Version : ipdv4 (premier octet du datagramme) +4- Longueur d'entête : 5 (IHL : deuxième octet datagramme) +5- 5 * 4 octets : 20 octets +6- 06 : TCP +7- 0800 +8- Port source : 110E : 4341 +Port destination : 0015 : 21 +9- 6+6+2 = 14 (on compte en général pas P+D) + +## L'entête TCP + +Établissement de la connexion : mode consistant à n'autoriser à entrer sur un réseau uniquement le traffic internet répondant aux requêtes émises depuis le réseau local. Le routeur firewall se charge de bloquer/autoriser le traffic. + +C'est l'échange connu avec les flags en TCP pour établir une connexion : + +- SYN (avec un n° de séquence : codé sur 32 bits) +- ACK-SYN (répond + démande synchro), (numéro d'acquittement = numéro de séquence+1, nouveau numéro de séquence) +- ACK (numéro de séquence +1, numéro d'acquittement = nouveau numéro de séquence +1 ) + +Il faut donc que le paquet ait un numéro de séquence+1 pour entrer dans le réseau + +### Exercice + +Trames capturées par moniteur réseau. Il a ajouté des éléments qui ne nous intéressent pas (propres au moniteur) + +L22 : adresse mac source +L26 : Type +... On entre dans datagramme IP +L42 : Protocole +L46 et 47 : IP sources et destination +L54 : 0 pour les 4 premiers bits puis 0010 indiquent la levée de drapeau (SYN) + +Autre trame : +L 90 : addresses +.. +L124 125 : Les numéros d'acquittance et de séquence + +## La RFC1918 + +Request For Command +Elle détermine pour l'IPv4 les adresses IP publiques et celles privées. Il ya un système de classes. Les privées : + +| Classe | ip/masque | plage | +| ------ | -------------- | ----------------------------- | +| A | 10.0.0.0/8 | 10.0.0.1 à 10.255.255.255 | +| B | 172.16.0.0/12 | 172.16.0.1 à 172.31.255.255 | +| C | 192.168.0.0/16 | 192.168.0.1 à 192.168.255.255 | + +Si y a des adresses privées, c'est donc qu'on a de la NAT pour pouvoir permettre de communiquer avec Internet. + +Attention, SNAT en Cisco = Static NAT, ic c'est Source NAT. +DNAT n'est pas Dymanic NAT comme en Cisco mais Destination NAT. + +Construction d'une table NAT/PAT: + +- IPlocale:port de base +- IP:port de destination +- IPpublique:port personnalisée +- IP:port destination + +### Exercice (4) + +1.1 Parce que c'est un réseau privé + +2.1 Parce que le 80 est utilisé pis faut différentier autre serveur http +2.2 Au lieu de laisser par défaut 80 ils vont sélectioner le 4500 + +3.1 + +--- + +*13/06/18 - Cours 7* + +## IPTables + +### NetFilter + +Pre-routing : Agit sur paquet avant routage, pour permettre à un client extérieur d'accéder à un membre du réseau (change adresse IP de destination) . +Post-routing : Agit sur paquet après routage, pour permettre à un membre du réseau local d'accéder à Internet (change adresse IP source). + +### TP + +**iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE** +-t table +-o : sortie +-j cible +Masquerade masque les adresses privées du local. Un peu plus gourmande que commande suivante car elle va chercher l'IP sur internet + +**iptable -t nat -A POSTROUTING -O eth1 -j SNAT --tosource XX.XX.XX.XX** +SNAT précise l'adresse IP source qu'on a côté Internet + + La config réseau du TP est pas claire - abandon du TP après deux heures à essayer de comprendre comment configurer le réseau des VM. + +Il est conseillé de se faire un bloc-note avec les commandes. Pour l'exam ? diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e388b2b --- /dev/null +++ b/readme.md @@ -0,0 +1,31 @@ +# Cours M1 + +Cours pour l'année de M1 à Sciences-U Lyon. + +Concentration sur les cours avec un exam, donc si certains sont tout pourris c'est normal. + +## Participer + +Plus ce dépôt croisera de notes d'élèves, plus il sera complet et intéressant. Toute participation est donc la bienvenue, pour cela vous pouvez : + +- Cloner le dépôt et faire des pull request. + +- Demander à être ajoutés en tant que contributeurs au projet pour être plus libres + +- M'envoyer vos fichiers à ajouter par mail ou Slack, si vraiment git vous fait peur + + + +Les participations peuvent être sous la forme : + +- d'ajout de vos fichiers dans les différents repository + +- d'ajout d'infos dans les notes existantes pour les compléter + +- de correction des notes existantes + +Le Markdown est le format le plus pratique pour lecture directe sur Github, mais si avez des documents en d'autres formats et la flemme de tout réécrire, on peut parfaitement les ajouter aux dossier et les DL pour les consulter. + + + +Je suis ouvert à toute suggestion pour améliorer le dépôt !