Introduction à la sécurité

Définition:
La sécurité informatique est l'ensemble des moyens techniques, organisationnels, juridiques et humains nécessaires et mis en place pour conserver, rétablir, et garantir la sécurité des systèmes informatiques
. Elle est intrinsèquement liée à la sécurité de l'information et des systèmes d'information.......
.
--> .
1.1.1. Disponibilité
Si l'entreprise dépend de données ou de services informatiques, elle doit avoir l'assurance que ces derniers soient disponibles quand elle en a besoin

Les différents moyens d’augmenter le taux de disponibilités sont :
•La mise en cluster :n Cluster est une grappe d’ordinateurs formant des noeuds. Ces noeuds sont capables de fonctionner indépendamment les uns des autres. Il existe deux types de cluster. Les clusters de calculs permettent d’effectuer une tâche répartie sur tous les serveurs pour bénéficier de la somme de puissance de calcul. Le cluster de haute disponibilité permet de rediriger un traitement sur le premier noeud disponible.
La disponibilité des données :Les technologies RAID permettent de mettre en place une disponibilité accrue des données sur un serveur. Plusieurs types de raid existent mais le raid 1 et le raid 5 sont les principaux utilisés. Le raid 1 (mirroring) effectue une copie bit à bit des données écrites d’un disque sur un ou plusieurs autres disques. Le raid 5 (disk array with block-interleaved distributed parity) permet d’écrire sur plusieurs disques avec un bit de parité. Le bit de parité n’étant jamais sur le même disque, si un des trois disques tombe en panne, il est possible de recalculer la partie manquante.
La redondance matérielle :il est nécessaire qu’un serveur gère la redondance matérielle et le remplacement « à chaud », c'est-à-dire sans éteindre le serveur (hot swapping). Cela permet d’assurer une continuité du service le temps de la réparation. …
L’équilibrage de charge (Load Balancing) :Le load balancing consiste en la répartition des tâches sur plusieurs machines de manière à ce que ce soit celle dont la charge est la moins importante qui effectue le calcul
•La sauvegarde :Les sauvegardes doivent êtres programmées pour s’effectuer périodiquement, et idéalement sur un site distant, afin de prévenir une catastrophe naturelle ou un vol.
1.1.2. Intégrité
Le contrôle d’intégrité consiste à vérifier qu’une information reçue doit être identique à l’information transmise. L'entreprise doit prendre toutes les mesures nécessaires pour empêcher que les données ne soient modifiées pendant la transmission, que ce soit de façon délibérée ou accidentelle. L’intégrité des données peut être protégée par les firewalls, les anti-virus et la sauvegarde des données.
La cryptographie permet également d’assurer l’intégrité des données en empêchant la lecture des données par une personne n’en possédant pas les droits
Les algorithmes de hachage les plus utilisés actuellement sont :

MD5 : C’est un algorithme qui crée une empreinte de 128 bits. Il nous permet de vérifier l’intégrité d’un document mais d’une manière plus sécurisée qu’un banal contrôle de parité. Le MD5 génère sa clef lors de l’envoi d’un message et la transmet avec le message afin que le récepteur puisse recalculer la clef du message et la comparer à celle envoyé.

•SHA-1 (Secure Hash Algorithm) est une fonction de hachage cryptographique elle produit un résultat de 160 bits. Il prend 2^64 bits en entrée, soit deux millions de Téra octets. Le SHA-1 fonctionne de la même manière que le MD5.

1.1.3. Confidentialité
La confidentialité consiste à ne rendre l'information compréhensible que par son destinataire. Le principal outil permettant la confidentialité est la cryptographie. Suivant la confidentialité désirée, il est possible de crypter un transfert de donnée, notamment grâce à IPSEC ou à SSL, Il existe principalement trois types de chiffrement.
•Les chiffrements à clef privée : la clé de chiffrement, est identique à la clé de déchiffrement.
•les chiffrements à clef public : les clés de chiffrement et de déchiffrement sont distinctes.
•les mixtes : tirer au hasard une clé secrète, chiffrer le message avec un algorithme à clé privée en utilisant cette clé, puis chiffrer cette clé aléatoire elle-même avec la clé publique du destinataire.
La bonne gestion du contrôle d’accès (ACL) et des authentifications
1.1.4. Non répudiation
L'entreprise doit s'assurer que l'autre partie engagée dans une transaction ne puisse nier qu'une transaction a eu lieu. Cela à deux valeurs. Lors de transactions, il est important de s’assurer, pour le récepteur que l’expéditeur est le bon (non répudiation d'origine), et vice-versa (non répudiation de remise), cela garantie la qualité du message. Les signatures et les certificats numériques sont de plus en plus utilisés pour assurer la non répudiation des transactions.

1.2.Les vulnérabilités
1.2.1. Les menaces et leurs origines
Origines physiques : elles peuvent être d'origine naturelle ou criminelle :oDésastre naturel (inondation, séisme, incendie)oEnvironnement (intempéries, taux d'humidité de l'air, température) ;oPanne matérielle ;oPanne du réseau ;oCoupure électrique ;
•Origines humaines : elles peuvent être intentionnelles ou fortuites :oErreur de conception (bogue logiciel, mauvais dimensionnement du réseau) ;
oInstallation de software ‘troués’ ;oNavigation web non maîtrisée ;oModification d’une configuration ;oManque de prudence face aux mails inconnus ;
oCrédulité : Attaques fishing et Social Engineering ;
Origines opérationnelles : elle sont lié à un état du système à un moment donné :oBogue logiciel : Buffer Overflow ;oDysfonctionnement logiciel ;
oProblèmes de configuration ;

1.2.2. Le manque de politique efficace
La politique de sécurité d’une entreprise doit s'articuler autour de 5 axes :
Sensibiliser aux risques pesant sur les systèmes d’information et aux moyens disponibles pour s'en prémunir.
Créer une structure chargée d'élaborer, de mettre en oeuvre des règles, consignes et procédures cohérentes pour assurer la sécurité des systèmes informatiques.
•Promouvoir la coopération entre les différents services et unités de l'établissement pour l'élaboration et la mise en oeuvre des règles consignes et procédures définies.
Susciter la confiance dans le système d'information de l'établissement.
•Faciliter la mise au point et l'usage du système d'information pour tous les utilisateurs autorisés de l'établissement.

1.2.3. La Faiblesse de configuration
Un des premiers problèmes de sécurité vient de la faiblesse des configurations appliquées aux différents matériaux. Les administrateurs réseaux préfèrent souvent une configuration d’un serveur, d’un routeur, ou d’un point d’accès wifi qui fonctionne bien et qui est faite rapidement. Inclure de la sécurité dans un équipement peut prendre du temps,

1.2.4. Les Faiblesses technologiques
Les équipements informatiques doivent être en concordance avec la politique de sécurité que l’on s’est fixée. Il ne faut donc pas hésiter à renouveler un matériel qui, même s’il fonctionne encore, n’est pas prêt à évoluer. Un matériel nouveau offrira toujours plus de sécurité mais aussi plus de performance.
1.3.Les motivations d’intrusions
Il existe différents types de pirates informatiques. Chacun de ces types de pirates possède des motivations différentes.

Les Hackers :Les hackers sont avant tout des passionnés d’informatique. Ils veulent comprendre le fonctionnement des systèmes et tester à la fois les capacités des outils et leurs connaissances. La plupart des hackers affirment s’introduire dans les systèmes par passion pour l’informatique et non dans l’objectif de détruire ou de voler des données. Ils profitent généralement de leur passage pour indiquer à l’administrateur réseau qu’une faille se trouve dans leur système.

Les Crackers :Ce type de pirate est plutôt un criminel informatique dont le but principal est de détruire, voler des données, mettre hors service des systèmes informatiques ou de s’approprier un système informatique en vue de demander une rançon.

Les script-kiddies (lamers) :Ce sont de jeunes pirates qui agissent uniquement à l’aide des logiciels prêts à utiliser. Ils sont dans une logique de destruction, de gain financier ou souhaitent juste épater leurs amis..

1.4.Les types d’attaques

1.4.1. Reconnaissance :Un pirate commence toujours par s’informer un maximum sur sa cible. Pour cela, il va chercher à ‘cartographier’ le réseau. Il existe plusieurs manières pour effectuer de la reconnaissance.
*La première méthode pour s’informer sur une entreprise est d'utiliser un ensemble de techniques non
intrusives, qui ne sont donc pas détectables.
*Un moyen simple est d’utiliser les ressources publiques telles que le web ou Usenet (newsgroup).
*L’écoute d’une connexion réseau et la technique qui permet d’avoir le plus de résultat, puisque d’après certaines informations récupérées, il est possible en comparant certaines valeurs de savoir par exemple quels systèmes d’exploitations sont utilisés (en observant par exemple la taille initial de la fenêtre TCP). Cette technique s’appelle l’OS fingerprint.

La reconnaissance semi-active est un ensemble de méthodes également non intrusives. Elle est dite semi active car malgré le faite qu’elles ne soient pas dangereuses, elles sont détectables par des IDS.
L’outil traceroute permet de voir par où passent les paquets et ainsi savoir quels matériels réseaux sont sur le chemin d’accès au serveur. Le scan de port est une technique très utilisée, les outils permettant cette attaque pullulent sur le web.
Les techniques de reconnaissance active sont bien plus intrusives. Elles sont clairement détectables et reconnaissables. Elles doivent mettre en alerte l’administrateur réseau car il y a un risque potentiel d’attaque à la suite si les résultats sont satisfaisants pour le pirate. L’exploitation de certaines propriétés de protocoles tels que SNMP, SMB ou RPC permettent de récupérer de nombreuses informations. Il existe également des outils de détections automatisées de vulnérabilités tels que Nessus, qui permettent de lister les trous de sécurité existant.

1.4.2. Accès :Les tentatives d’accès se déroulent une fois que le pirate a accumulé suffisamment d’informations lui permettant de mener à bien son attaque. Il se peut tout de fois que celui-ci ait un accès physique dans les locaux ou aux serveurs. Dans le cas d’une réelle intention de nuire, il sera donc très simple d’interrompre le bon fonctionnement des machines en effectuant une coupure de courant, en éteignant la machine, ou encore en volant ou cassant du matériel.
De nombreux types d’attaques ‘distantes’ sont envisageables pour obtenir un accès sur la machine :
•L’usurpation d'identité : se faire passer pour une machine « ami »
•L’hijacking (détournement de session) consiste à intercepter une session TCP initiée entre deux machines afin de la détourner. Dans la mesure où le contrôle d’authentification s’effectue uniquement à l’ouverture de la session, un pirate réussissant cette attaque parvient à prendre possession de la connexion pendant toute la durée de la session. Beaucoup d’attaques viennent de l’intérieur des entreprises.
•L’élévation de privilèges consiste à exploiter une vulnérabilité d'une application en envoyant une requête spécifique, non prévue par son concepteur, ayant pour effet un comportement anormal conduisant parfois à un accès au système avec les droits de l'application.
•L’utilisation de vers ou de chevaux de Troie
•L’utilisation d’exploits après avoir détecté une faille quelconque.

1.4.3. Déni de service :Les attaques DoS (Denial of Service) visent à troubler le bon fonctionnement d'un service en le rendant incapable de répondre aux utilisateurs. Une machine serveur offrant un service à ses clients doit traiter plusieurs requêtes, Lorsque ce service est perturbé, il y a dénis de service.
Il existe plusieurs types d’attaques DOS.
•Exploitation de faiblesses des protocoles TCP/IP.
•Exploitation de vulnérabilité des logiciels serveurs
•Exploitation de vulnérabilités de scripts (php, perl, …) sur les sites web
•Arrêt du service

1.5.Techniques d’attaque
Voici quelques techniques fréquemment utilisées par les pirates.
Le ‘social engineering’ Il s’agit ainsi d’une technique consistant à obtenir des informations de la part des utilisateurs par téléphone, courrier électronique, courrier traditionnel ou contact direct.

Le « Spoofing IP »consiste à remplacer l’adresse IP de l’expéditeur d’un paquet IP par l’adresse IP d’une autre machine. Cette technique permet ainsi à un pirate d’envoyer des paquets anonymement, de manière plus sûre que de passer par un proxy car les logs de celui-ci gardent l’adresse ip d’origine. L’adresse ip n’est toutefois pas modifiée dans le paquet mais masquée. Le spoofing est notamment utilisée pour passer un firewall.

Le « Source Routing »est une méthode de détournement de paquets consistant à utiliser l'option source routing du protocole IP. Cela permet de spécifier le chemin à suivre pour les paquets IP, à l'aide d'une série d'adresses IP indiquant les routeurs à utiliser. En exploitant cette option, le pirate peut indiquer un chemin de retour pour les paquets vers un routeur sous son contrôle. C’est par exemple cette méthode qui permet lors d’un spoofing de récupérer les paquets émis par la cible.
Il existe deux méthodes de source routing.
•La strict permet de définir la totalité des routeurs par lequel va passer le paquet.
•Le source routing relatif consiste à imposer seulement certains passages.
Le source routing est utilisé par exemple lors d’un traceroute. La plupart des équipements réseaux désactivent maintenant cette fonctionnalité.

Dans l’attaque « Man In the Middle »,l'attaquant se situe entre le client et l'application Internet réelle et enregistre toutes les communications entre les systèmes. Ce type d'attaque est valide pour les communications HTTP et HTTPS

Le « Smurf » ou « Attaque par réflexion »:La machine attaquante falsifie d’abord son adresse IP pour se faire passer pour la machine cible. Elle envoie alors un ping sur un serveur de broadcast. Il le fera suivre à toutes les machines qui sont connectées qui renverront chacune une réponse au serveur qui fera suivre à la machine cible. Celle-ci sera alors inondée sous les paquets et finira par se déconnecter.

« L’ARP cache Poisonning » ou « ARP Spoofing »est une attaque « Man in the Middle ». Elle consiste à s'interposer entre deux machines du réseau et de transmettre à chacune un paquet ARP falsifié indiquant que l’adresse MAC de l'autre machine a changé, l'adresse ARP fournie étant celle de l'attaquant. Les deux machines cibles vont ainsi mettre à jour leur Cache ARP. De cette manière, à chaque fois qu'une des deux machines souhaitera communiquer avec la machine distante, les paquets seront envoyés au pirate.

« Pharming » ou « DNS cache poisonning »:Les serveurs DNS possèdent un cache permettant de garder pendant un certain temps la correspondance entre un nom de machine et son adresse IP. Le DNS Cache Poisoning consiste à corrompre ce cache avec de fausses informations. Pour cela le pirate doit avoir sous son contrôle un nom de domaine et le serveur DNS ayant autorité sur celui-ci

2.Politique de sécurité
2.1. Le processus perpétuel de sécurisation (Security Wheel)
La sécurité est un processus en perpétuelle évolution. Il fait toujours faire évoluer son système et ses techniques car si à un moment donné, le niveau de sécurité est estimé satisfaisant, il baisse au fur et à mesure que le temps passe.
Le « Security Wheel » se découpe en quatre parties cycliques auquel s’ajoute une cinquième qui n’est a réalisée qu’une seule fois :

Sécuriser le réseau :Il faut mettre en place la politique de sécurité définie en tenant compte des utilisateurs, du budget alloué et des points clefs. Il faut être capable de mesurer le niveau de sécurité du réseau. Il est nécessaire de pouvoir évaluer la complexité du réseau en connaissant sa topologie et l’emplacement des ressources critiques.
Surveiller et répondre aux attaques :Une fois le réseau sécurisé, il est nécessaire de constamment le surveiller afin d’intercepter le plus rapidement possible toutes les menaces potentielles. Si un problème apparaît, il faut rapidement prendre les bonnes décisions pour le stopper.
Tester l’état de la sécurité en place :Afin de détecter de nouvelles vulnérabilités, on peut utiliser le scan pour examiner régulièrement les configurations de tous les composants du réseau.

Analyser et améliorer la sécurité :Il faut ensuite analyser toutes les mesures effectuées dans les autres parties du cycle de sécurité afin d’identifier les ressources qui nécessitent des modifications. Il faut bien entendu suivre attentivement l’évolution des nouvelles menaces et en tenir compte dans la politique de sécurité.

2.2.Objectifs et Considérations :
Les objectifs des politiques de sécurité sont :
•Savoir quelles ressources protégées
•Evaluer les risques ainsi que leurs conséquences
•Mettre en place différentes solutions face à ces risques
•Sensibiliser le personnel aux problèmes de sécurité informatique
•Surveiller et détecter vulnérabilités/intrusions
Chaque entreprise présente un diagramme organisationnel qui lui est propre ce qui entraîne une politique de sécurité différente pour chacune d’entre elles.

2.3.Méthodes

2.3.1. MARION :C’est une méthode d’audit de sécurité (ou analyse de risques) . Elle permet par le biais de questionnaires d’évaluer la sécurité d’une entreprise et de déterminer des solutions aux problèmes présents. Chacun d’eux débouchent sur une note de 0 à 4 (27 indicateurs répartis en 6 catégories) évaluant l’entreprise par rapport à un standard jugé satisfaisant, mais aussi par rapport aux autres entreprises ayant auparavant utilisées cette méthode

2.3.2. MELISA : Il s’agit d’une méthode lourde à appliquer car composée d’un thesaurus imposant de questions. Elle est donc destinée soit à de très grosses entreprises, soit à des institutions militaires.

2.3.3. COBRA :Elle est vendue sous forme d’un logiciel, permettant à l’entreprise de procéder à l’audit elle-même sans passer par des consultants externes onéreux. Un autre avantage de cette méthode est la génération automatique du questionnaire permettant l’audit pour chaque entreprise selon ses propres critères.

2.3.4. MEHARI : Cette methode permet d’évaluer les risques au regard d’objectifs fixés, et non plus par un niveau standard. Ensuite elle prend en compte l’évaluation de plusieurs sites, de plusieurs systèmes liés. Le coût d’impact calculé pour cette méthode correspond au minimum, contrairement à MARION. Enfin, les mesures de sécurité sont choisies en fonction de leur efficacité aux vues des différents scénarios de sinistres pour l’entreprise.

3.Cryptographie

3.1. Chiffrement :Un chiffrement fiable repose sur trois éléments principaux :
•La qualité de l'algorithme mathématique : l'algorithme peut être public, cela n'empêchera pas qu'il soit robuste.
•La qualité de l'implémentation de l'algorithme : On s'attaque de plus en plus à l'implémentation du chiffrement (son utilisation) qu'à l'algorithme lui même (utilisation de buffer overflow par exemple).
•La bonne gestion des clefs de chiffrements. Si les clefs sont connues, il n'y a plus de sécurité.
Deux types de chiffrements sont couramment utilisés.

3.1.1. Chiffrement symétrique
Le chiffrement symétrique également appelé à clef secrète, est basé sur un algorithme qui utilise une seule clef pour chiffrer ou déchiffrer un message. Cela implique que la personne qui crypte le message ait envoyé par un moyen sécurisé cette même clef au destinataire afin qu'il puisse déchiffrer le message. Ce type de système possède donc un inconvénient important puisque l'on doit pouvoir mettre en place une méthode de distribution des clefs sécurisée.
Cette méthode utilise peu de ressources et peu de bande passante. Deux méthodes sont utilisées pour le cryptage. L’encodage bits à bits, ou le découpage en plusieurs mots de taille identique.
Il existe de nombreux algorithmes de chiffrement symétrique, voici les plus utilisés :
DES (Data Encryption Standard) : utilise des clefs de 56 bits Il devait en compter à l'origine 112, mais la NSA a demandée de le ramener à sa taille actuelle. Cet algorithme datant de 1977 est obsolète et ne permet plus un chiffrement des données sécurisé. Il est également réputé pour être plutôt lent en comparaison de la sécurité qu'il offre. De nombreuses attaques permettent de réduire le nombre de combinaison à tester.
•3DES (Triple Data Encryption Standard) : Cet algorithme est un dérivé de DES qui permet de crypter sur 168 bits en appliquant trois clefs distinctes (A B C) sur le message, ou 112 bits en n'utilisant que deux clefs (A B A).
•RC6 (Ron's Code ou Rivest's Cipher 6) : Cet algorithme offre de nombreux avantages car il est hautement paramétrable. Il est en effet possible de choisir une longueur de blocs variable, un nombre de ronds variable, et une longueur de clef variable également. Cela permet à l'utilisateur de choisir le rapport qui lui convient entre performance et sécurité. .

3.1.2. Chiffrement asymétrique
Principe de fonctionnement
Le chiffrement asymétrique aussi appelé chiffrement à clés publiques est un principe issu du travail de
Whitflied Diffie et Martin Hellman en 1976.
Le fonctionnement de ce type de chiffrement repose sur l’emploi de 2 types de clef fonctionnant par paire :
•Une clé publique pour le chiffrement
•Une clé privée (secrète) pour le déchiffrement

Chiffrement d’un message
Mécanisme d’identification
Le fait que la clef publique soit disponible librement est aussi le principal inconvénient du cryptage asymétrique puisque qu’il ne permet pas d’authentifier avec certitude l’expéditeur du message. Et garantir la provenance des informations chiffrées.
En effet, B souhaite transmettre à A des données chiffrées tout en lui garantissant la provenance de ces dernières alors :
Etape 1 : A crée une paire de clefs asymétriques composée d’une clef publique et d’une privée
Etape 2 : A transmet sa clef publique à Alice ou la publique
Etape 3 : B possède maintenant la clef publique de Bob
Etape 4 : B va signer numériquement les données qu’elle va transmettre à Bob, pour ce faire Alice va :
•Créer une paire de clefs asymétriques
•Transmettre sa clef publique à Bob, son destinataire
•Chiffrer son message avec sa propre clef privée (signature numérique par chiffrement) avant de le chiffrer à nouveau grâce à la clef publique de Bob (chiffrement réel du message)
Etape 5 : Bob reçoit le message d’Alice et va donc le déchiffrer avec sa propre clef privée. Mais le message n’est pas encore lisible puisqu’il a été chiffré 2 fois de suite.
Etape 6 : Bob applique la clef publique d’Alice sur le message afin de le déchiffrer, cet étape lui garanti que le message provient bien d’Alice.
Etape 7 : Le message est en clair, Bob peut alors le lire en étant sûr qu’il provient de la bonne personne et qu’il a transité de façon chiffrée.

3.2.Signature
3.2.1. Hashage
Généralités sur le hachage
Avant toute chose il faut bien faire la distinction entre un texte haché et un texte crypté.Un texte crypté est un texte chiffré que l’on peut afficher en clair après.Une fonction de hachage permet donc d’obtenir un condensat (ou haché) composé d’un nombre réduit de caractères à partir duquel on ne peut retrouver le texte d’origine.
Le condensat représente le texte qui a été haché.
Il n’existe qu’un et un seul haché correspondant au texte en clair d’origine ce qui implique que toute modification du document d’origine entraîne la modification de son condensat.
Il existe deux principaux algorithmes employés pour les fonctions de hachage :
MD5 (MD signifiant Message Digest). MD5 crée une empreinte digitale de 128 bits à partir d'un texte de taille arbitraire en le traitant par blocs de 512 bits.
SHA (pour Secure Hash Algorithm) crée des empreintes d'une longueur de 160 bits.
Signature par hachage
Cette technique est très fréquente dans le monde Open Source.Le condensat représente dans ce cas là une empreinte numérique du document. Si le document n’a subit aucune altération alors le condensat sera identique à celui fournit.Cette méthode de signature numérique par hachage peut être substituée par des méthodes plus évoluées comme l’utilisation de certificats.

3.2.2. Certificats et PKI
Une architecture basée sur une PKI (Private key Infrastructure) est un ensemble de matériels et de logiciels qui délivrent un service assurant l'intégrité, la confidentialité et la non-répudiation des transactions effectuées. Un PKI, ou IGC (Infrastructure de Gestion de Clefs) utilise des certificats numériques qui gèrent leurs distributions et leurs cycles de vie.
Un PKI est composé de 5 parties distinctes :
•L'autorité de certification (CA) : C'est elle qui gère la vie des certificats en signant les demandes et les listes de révocation.
•L'autorité d'enregistrement (RA) : Elle permet de créerles demandes de certificats et gère les vérifications à effectuer (s'assurer que la personne qui fait la demande est bien la personne du sujet de la demande. C'est cette autorité qui soumet les demandes de certifications au CA.
•L'autorité de dépôt (Repository) : Elle stock et distribue les certificats et les listes de révocation. Un annuaire LDAP est une très bonne autorité de dépôt. Un dispositif physique peut également être cette autorité (carte à puce, ...).
•L'autorité de séquestre (KE) : Cette autorité gère le stockage des clefs qui ont permis de générer les certificats. Ce service est présent car il est obligatoire (d'un point de vue légal) de pouvoir déchiffrer des données chiffrées.
•L'entité finale (EE) : Elle enregistre les utilisateurs. Cette entité reste toutefois optionnelle.

Les certificats :
Un certificat est un fichier public qui contient des informations sur son propriétaire, comme une carte d'identité ou un passeport. On peut par exemple y retrouver son nom (son URI dans le cas d'un service), son prénom et son adresse e-mail. On y trouve également sa durée de validité, et l'organisme émetteur.
La création des certificats comprend 5 étapes :
•création d'une bi-clef de l'AC•Signature du certificat de l'AC•Création des bi-clefs des utilisateurs et des services•Création des demandes de certificats des utilisateurs et des services•Signature des certificats par l'AC.

Cycle de vie du certificat :
•Création :Un certificat numérique naît lorsqu'une demande de certificat a abouti. Pour cela, une demande est effectuée auprès du RA. Cette demande est un fichier contenant les informations nécessaires à la création du certificat (CSR
•Utilisation :Une durée de vie à été spécifiée lors de la création du certificat. Cette durée ne peut dépasser celle du certificat root.Elle peut être de durée plus ou moins longue mais dépend principalement de l'utilité de ce certificat.
•Fin de vie :Deux possibilités sont envisageables pour la fin de vie d'un certificat. Le certificat peut soit avoir sa durée de validité terminée, soit être révoqué. Dans ce cas, l'identifiant du certificat est ajouté à la liste des certificats révoqués. Cela permet d'annuler la validité des applications.

4.1.L’architecture AAA
L’architecture AAA, construit autour de 3 notions (Authentification, Authorization, Accouting), fournit des services de contrôle d‘accès à travers de multiples technologies de réseaux et de plateformes.

Authentication :L’authentification correspond à l’identification de l’utilisateur, que ce soit une personne physique ou un service. Le contrôle de cette information consiste à vérifier un secret partagé entre l’utilisateur et le serveur d’authentification. Elle peut être de plusieurs types :
Statique : information connue du seul individu, dont l'exemple classique et omniprésent est le mot de passe.
Dynamique : on passe alors par un challenge (demandes d’informations d’identifications diverses)
entre le serveur et l’utilisateur, ce qui permet d’avoir une information différente à chaque nouvelle authentification
Physique : par une caractéristique physique unique de l'individu, telle que définie par les techniques de la biométrie : reconnaissance vocale, empreintes, iris...
Authorization :La notion d’autorisation est le fait de déterminer quels sont les droits de l’utilisateur. Dans certaines implémentations, l’identification et l’autorisation sont regroupées en une seule étape.
Accounting :Cette notion peut être rapprochée à celle du monitoring, elle regroupe l’ensemble des mesures de la consommation d’un utilisateur, en termes d’échange réseau, de ressources système,... le but étant de récolter un certain nombre d’informations sur l’utilisateur. Cela permet de connaître à la fois les services demandés par l’utilisateur et la quantité de ressources requises.
Les trois points définis ci-dessus sont importants pour une bonne gestion et une bonne sécurité d’un
réseau. Ils devraient être disponibles au point d’entrée d’un réseau. L’image ci-dessous illustre une implémentation de l’architecture AAA :

4.3.TACACS / TACACS+
4.3.1. TACACS
TACACS (Terminal Access Controller Access Control System, respectivement système de contrôle d'accès de Terminal Access Controller) est un protocole d’authentification mis au point par Cisco. Il permet à un serveur d’accès à distance de transmettre les données d’authentification à un serveur d’authentification via TCP.
Ce protocole est généralement déployé dans des réseaux UNIX.
Les données échangées entre le serveur d’accès et le client sont contenues dans des paquets TACACS, eux-mêmes encapsulés dans les champs de données TCP, comme vous le montre l’image ci-après :
•Version : précise la version de TACACS.
•Type : type de paquet (encoded request ou response type).
•Nonce : indice permettant de faire le lien entre une réponse et une requête.
•Username length : Longueur du nom d’utilisateur.
•Password length : Longueur du mot de passe.
•Data : Contient les informations d’authentification de l’utilisateur.
La session de connexion et de déconnection est simple:
1. Le NAS reçoit le couple nom d’utilisateur/mot de passe d’un utilisateur et renvoie ces informations vers le serveur TACACS. (Phase d’authentification).
2. Lorsque les informations sont validées, le serveur TACACS renvoie une réponse positive.
3. Le NAS envoi une demande de déconnexion.
4. Le serveur TACACS renvoie une réponse positive et déconnecte l’utilisateur.
ACACS n’offre pas la possibilité de chiffrer les données d'identification. C’est donc pourquoi une version postérieure de TACACS à vu le jour sous le nom de XTACACS (eXtended TACACS), permettant également la gestion de rapports (monitoring). Ces deux versions ont à présent été remplacées par TACACS+.

4.3.2. TACACS +
TACACS+ a été développé à l’origine par BBN, puis repris par Cisco. Il n’est pas compatible avec ses précédentes versions. Il utilise également la couche de transport TCP. Il met en oeuvre la notion de session pour ses communications entre le client et le serveur. Ce dernier peut être un échange d’authentification, d’autorisation, ou de rapports, éventuellement chiffrés (l’identifiant des sessions est alors utilisé pour chiffrer l’intégralité des paquets). Voici ci-dessous un exemple d’implémentation de TACACS+ :
TACACS+ implémente les trois fonctions AAA séparément :

Authentication : Mécanismes d’authentification TACACS+
Ce protocole peut aussi bien utiliser des techniques d’authentification classiques (login/mot de passe)
ou bien des procédés plus évolués à base de challenge avec authentification réciproque, par exemple.
Le service d'authentification TACACS+ est par ailleurs assez flexible pour pouvoir envoyer des messages sur l'écran de l'utilisateur (changement de mot de passe à cause de la politique de gestion de leur durée de vie par exemple).

Authorization :Mécanismes d’autorisation TACACS+
Lors d’un accès à un service particulier, le client ouvre une session d’autorisation. Cette session consiste juste en l’échange d’une paire de messages (Requête / Réponse). La requête décrit l’authentification pour l’utilisateur ou le processus qui demande l’accès au service.La réponse du serveur contient un ensemble d’attributs pouvant restreindre ou modifier les actions du client, plutôt qu’une simple réponse affirmative de type oui/non.

Accounting : Mécanismes de rapport TACACS+
Les échanges utilisés lors de la gestion de rapports sont similaires à ceux employés lors de l’autorisation (Requête / Réponse). Le protocole TACACS+ propose de plus l’émission de paquets UPDATE servant à confirmer qu’un service est en cours d’utilisation.

Les attributs
Les serveurs d'authentification TACACS+ supportent, de la même manière que RADIUS, des AvP qui permettent de définir tous les paramètres d'autorisation que l'on désire mettre en oeuvre.
Les points d’accès distants permettent aux terminaux, aux stations de travail, aux PCs et aux routeurs, de communiquer en utilisant des protocoles sur les lignes séries comme le PPP (Point-to-Point Protocol), le SLIP (Serial Line Internet Protocol), le CSLIP (Compressed SLIP) ou l'ARAP
(AppleTalk Remote Access Protocol).

Formats des paquets
L’image ci-dessous illustre le format des paquets TACACS+ :
•Version : Version du protocole TACACS.
•Type : Type du paquet (encoded request ou response type).
•Flags : permet l’utilisation de fanions pour indiquer par exemple que les données dans le champ Data sont chiffrées ou non.
•Seq_no : Indice permettant d’ordonner les paquets TACACS.
•Session_id : un nombre aléatoire généré pour la session en cours.
•Length : La longueur totale du paquet
•Data : Dépend du type de message, soit les données contiennent une demande d’authentification, soit une réponse du serveur à cette requête.

Etablissement d’une connexion
Ci-après vous est présenté le processus de connexion dans une implémentation TACACS+ :
1. Le serveur d’accès distant reçoit un paquet « Authentication (start) » contenant le couple nom d’utilisateur/motdepassepuisle renvoie vers le serveur TACACS (Phase d’Authentification).
2. Lorsque les informations sont validées et que le serveur n’en nécessite pas d’avantage, il répond avec un « Reply (finnished) ».
3. Au contraire, si le serveur désire avoir d’avantage d’informations sur l’utilisateur distant, Le
NAS envoi un « Authorization (request) ».
4. Le serveur répond avec un « Response (Pass) » incluant les informations d’authentification demandées (temps autorisé à répondre, etc).
5. Le NAS envoi un « Accounting (start) » pour indiquer que l’utilisateur est bien identifié sur le réseau. (Phase Accounting phase).
6. Le serveur TACACS+ envoi un « Reply (Success) » pour indiquer que le message
« accounting » est bien enregistré.
7. Lors de la déconnexion de l’utilisateur distant, le NAS envoi un « Accounting (Stop) » incluant des informations telles que le temps de la connexion, la date et l’heure, le nombre d’octets transférés, raisons de la déconnexion...
8. Le serveur TACACS+ envoi un « Reply (Success) » pour indiquer que le message
« accounting » est une nouvelle fois bien enregistré.

4.4. LDAP

4.4.1. La notion d’annuaire :Un annuaire est une base de donnée spécialisée, dont la fonction première est de retourner un ou plusieurs attributs d'un objet grâce à des fonctions de recherche multicritères.

4.4.2. Généralités :LDAP définit un modèle de sécurité à travers de nombreux mécanismes dans le but d’assurer la confidentialité des données sensibles et la fiabilité du serveur hébergeant le service. Les risques qu’encours ces serveurs sont multiples, plus particulièrement les accès non autorisés, les modifications de données ou de configurations altérées, l’interception de données ou de mots de passes sur le réseau, ou encore l’utilisation de faux annuaires afin de tromper le client (attaque Man in the middle).
4.4.3. Authentification LDAP :LDAP définit trois différentes méthodes permettant l’authentification d’un utilisateur.

Authentification anonyme :Accès sans authentification permettant d’atteindre les données sans restrictions d’accès (acceptable en partageant des données publiques).
Authentification de base :L'authentification de base est semblable à celle sous HTTP. L'authentification est accomplie par l'utilisation d'un DN (nom distingué) et d'un mot de passe. Ces données sont envoyées soit en clair ou soit chiffrées en utilisant le codage Base64.
Couche simple d'authentification et de sécurité (SASL) :Couche supplémentaire permettant à LDAP d’utiliser des méthodes d’authentification externes. Cette méthode est la plus sûre et la plus flexible puisqu’elle supporte divers protocole d’authentification tel que Kerberos, GSSAP, …
SASL :Simple Authentification and Security Layer (SASL) est définie par le RFC 2222 et permet d’ajouter des mécanismes d’authentification à des protocoles orientés connexion (~ plug-in). SASL est implanté dans LDAPv3.

4.5. KERBEROS

4.5.1. Généralités :Kerberos permet de vérifier l'identité respective de plusieurs « entités » (un utilisateur, une application, un serveur d’application…), sur un réseau quelconque, n'offrant aucune sécurité particulière. Il ne tient compte ni du système d'exploitation, ni de l'adresse des machines sur le réseau et part d'un principe simple : le mot de passe ne doit jamais circuler sur le réseau, que ce soit en clair ou sous une forme chiffrée quelconque.
De même, l'authentification Kerberos est unique. Une seule authentification donne accès à tous les services Kerberos tout en étant transparente pour l'utilisateur final. C'est le principe du SSO, Single Sign On, ou authentification unique. Enfin, Kerberos permet de garantir l'intégrité des données, leur confidentialité, et assurer la non-répudiation.

4.5.2. Principe
Kerberos repose sur un principe original. Il est architecturé autour de deux éléments essentiels
: l'AS (Authorization Service) et le TGS (Ticket Granting Service), respectivement le serveur d'authentification et le service de distribution de ticket. Ces deux éléments sont deux entités logiques distinctes, mais sont très souvent modélisés par la même entité physique, appelée KDC (Key Distribution Center). C'est le cas dans Windows 2000.
L’illustration ci-dessous présente l’implémentation de Kerberos au sein d’un réseau :
Lors d’une tentative d’authentification d’un utilisateur, ce dernier envoie une demande au KDC (AS- REQ) durant laquelle, l'utilisateur va saisir son mot de passe, qui sera transformé, puis utilisé comme clé de chiffrement pour chiffrer la demande d'authentification. A aucun moment, donc, le mot de passe ou une représentation de ce mot de passe ne transitera sur le réseau. Le KDC reçoit cette demande. Il est le seul à connaître le mot de passe de l'utilisateur. Grâce à ce mot de passe, il va pouvoir déchiffrer la demande d'authentification. Si le déchiffrement réussi, c'est que l'utilisateur a chiffré sa demande avec le bon mot de passe ; il vient donc de prouver son identité.
Le KDC renvoie alors une réponse positive (AS-REP, appelé également TGT), comprenant une clé de session, qui servira à valider tous les échanges entre l'utilisateur et le KDC. Si le déchiffrement échoue, le KDC renvoie une erreur (KRB-ERROR). Une fois authentifié, l'utilisateur utilisera sa clé de session pour communiquer avec le KDC et demander des tickets qui serviront de preuve auprès des services sur lesquels l'utilisateur souhaite s'authentifier (FTP, Telnet…).
La validité des tickets Kerberos est en partie basée sur un horodatage, typiquement valide pendant 5 minutes.

4.5.3. Faiblesses
• Chaque service réseau doit être adapté à Kerberos.
•Kerberos nécessite que toutes les machines utilisant le protocole soient synchronisées au niveau horaire.
5.Design d’architecture réseau sécurisée
5.1.Equipements
5.1.1. Commutateur :Le commutateur, ou switch, est un matériel d’interconnexion agissant au niveau de la couche 2 (liaison) du modèle OSI. Il sert à segmenter un réseau en domaines de collisions ainsi qu’à renouveler le signal.
5.1.2. Routeur :Le routeur est un équipement de couche 3 permettant l’interconnexion de réseaux en n’envoyant les données qu’aux hôtes destinataires de ces dernières.

5.1.3. Firewall :Un firewall, aussi appelé pare-feu ou coupe-feu en français, est un système permettant de protéger un réseau ou un ordinateur contre des intrusions provenant d’un tiers (personne mal intentionnée, vers etc.).
Les firewalls existent sous forme logicielle (par exemple IPTables sous linux, ou Zone Alarm sous Windows) ou matérielle (par exemple Cisco PIX). Nous nous pencherons plus particulièrement sur les firewalls matériels.
Un firewall sécurise un réseau en analysant les paquets de donnée transmis à partir d’une de ses interfaces vers une autre.

5.1.4. Proxy
Description :Un proxy, ou serveur mandataire, Il existe différents types de proxies comme les serveurs proxy web, proxy ftp, proxy socks etc. bien que l’utilisation la plus courante soit le proxy web.
Un serveur proxy possède plusieurs fonctions permettant d’accroître la sécurité d’un réseau comme nous le verrons ci-après.

Authentification
Un serveur mandataire joue le rôle d’intermédiaire nécessaire à toute requête transitant du réseau interne vers des ressources externes, il est parfois possible et utile de l’utiliser à des fins d’authentification. Les utilisateurs devront ainsi s’identifier par un couple classique de login / mot de passe afin d’accéder à un contenu extérieur ou à Internet.

Relais :Le rôle premier d’un serveur proxy est de servir de relais entre 2 réseaux. Ainsi son utilisation la plus courante, sous forme de proxy web, permet à un ordinateur d’établir des connexions sur le port 80 en passant par un tiers.

Filtrage :Un proxy peut également être utilisé pour son rôle de filtrage (ou tracking en anglais). Dans ce cas là, il sert à assurer un suivi des requêtes vers Internet effectuées par les utilisateurs en les consignant dans des journaux d’activité (ou logs).
Cache :Un autre rôle d’un proxy est de servir de cache. De façon plus explicite une mémoire cache sert à conserver localement des informations qui ont une certaine probabilité de servir à nouveau.

5.1.5. IDS/IPS
Généralités concernant les IDS
Un IDS est un système permettant d’analyser les activités d’un réseau et de détecter les risques d’intrusions ou trafic suspect.
On distingue 2 types distincts d’IDS :

Un N-IDS est un équipement réseau qui analyse (sniffing) les communications sur le réseau afin de fournir des journaux d’activités (logs) et des comptes-rendus concernant ce qui a été analysé comme intrusion, ou non.
Un H-IDS est un démon (ou daemon) qui s’exécute en permanence sur un hôte analysant les accès fichiers, les journaux système, les paquets échangés avec le reste du réseau…

Techniques de détection : Les IDS s’appuient sur deux méthodes principales d’analyse que sont la reconnaissance de motifs et la détection d’anomalies.

Limites d’un IDS
•Le bombardement (flood) : l’IDS est surchargé de travail, il ne peut gérer tout le trafic qu’il doit traiter si bien qu’une partie des communications ne peut être analysée.
•L’encodage d’URL : cette méthode consiste à encoder les caractères de l’URL sous forme hexadécimal permettant à l’agresseur d’adresser la requête qu’il souhaite.

•Formatage de la chaîne : tous les systèmes n’interprétant pas les espaces de la même façon, on les remplace par des tabulations
•Modification du motif d’attaque : si un type d’attaque connu (motif) consiste à exécuter
« Etape 1, Etape 2, Etape 3 » et que l’ordre peut-être intervertit alors l’attaque peut ne pas être détectée (motif ne concordant pas avec celui de référence utilisé par l’IDS).
•Multiplication des sessions : comme précédemment il s’agit de tromper l’IDS en modifiant la méthode d’attaque. Ainsi en exécutant chaque étape de l’attaque sous une nouvelle session l’IDS peut ne pas faire le lien entre elles.
Cette liste n’est pas exhaustive (ce n’est pas le but du cours), de nombreuses autres méthodes existent que vous ne manquerez pas de trouvez sur Internet en cherchant un peu.

Actions d’un IDS
les méthodes pouvant être utilisées pour signaler et bloquer les intrusions.
•Reconfiguration d’équipements tiers (firewall, ACL sur les routeurs) : un ordre est envoyé à l’équipement concerné pour une reconfiguration immédiate dans le but de bloquer une intrusion.
•Envoi d’une trappe SNMP : envoi d’une alerte à une console tierce.
•Envoi d’un e-mail : Envoi d’un e-mail à une ou plusieurs boîtes aux lettres pour notifier d’une intrusion détectée.
•Journalisation (log) de l’attaque : sauvegarde des détails de l’alerte.
•Sauvegarde des paquets suspicieux : Sauvegarde de l’ensemble des paquets réseaux capturés qui ont déclenchés l’alerte.
•Démarrage d’une application : lancement d'un programme pour exécuter une tâche spécifique
(par exemple : envoi d’un message sms).
Envoi d’un "ResetKill" : Construction d'un paquet TCP FIN pour forcer la fin d’une connexion(uniquement valable sur des techniques d’intrusions utilisant le protocole de transport TCP).

0 com:

Enregistrer un commentaire

Suggérer des améliorations à apporter au blog, des articles, des commentaires ou des liens sur la sécurité informatique.Merci