La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Sécurité TCP/IP HTTPS ,SSL , SSH , IPSEC.

Présentations similaires


Présentation au sujet: "Sécurité TCP/IP HTTPS ,SSL , SSH , IPSEC."— Transcription de la présentation:

1 Sécurité TCP/IP HTTPS ,SSL , SSH , IPSEC

2 Problématique Besoin de sécuriser les communications Web
Qualités de la sécurité d’une communication Besoin de confidentialité : pas lu par un tiers Besoin d’intégrité : pas de modification Besoin d’authentification : identité d’un objet Besoin de non répudiation : ne pas nier ses actions

3 HTTPS HTTPS signifie Hypertext Transfer Protocol Scure qui est une encapsulation du protocole HTTP au travers du protocole SSL. HTTP SSL HTTPS Fonctionnement du protocole HTTP Le protocole HTTP décrit de quelle façon un navigateur web interroge un serveur web et lui demander le contenu d’une URL.

4 Format des requêtes HTTP
Méthode URL Version http  Entête de requête Corps de la requête Méthode GET : Requête pour demander une ressource située à l'URL spécifiée. HEAD : Cette méthode ne demande que des informations sur la ressource, sans demander la ressource elle même. POST : Envoi de données au programme situé à l'URL spécifiée (le corps de la requête peut être utilisé). PUT : Cette méthode permet d'ajouter une ressource sur le serveur(envoyer des données au serveur). DELETE : Suppression de la ressource située à l'URL spécifiée URL : identifie la ressource(Uniform Ressource Location), c'estàdire l'adresse de la page sur le serveur. Version : version du protocole HTTP (HTTP/1.1) Entête de requête: pour donner plus d’informations. Il est constitué des couples champ : valeur Connection: KeepAlive : ne pas couper la connection après la réponse Accept: text/html, image/jpeg, image/png, text/*, image/*, */* :le client peut recevoir tous ces formats

5 Format des requêtes HTTP
AcceptEncoding: le client peut recevoir tous ces encodages xgzip, xdeflate, gzip, deflate, identity AcceptLanguage:le client peut recevoir ces langues fr, en Host: Corps de la requête: Pour terminer la requête, on envoie le corps de requête. Il peut contenir, par exemple, le contenu d'un formulaire HTML envoyé en POST.

6 Format des requêtes HTTP
Exemple: Soit la requête suivante : http ://hypothetical.ora.com/ Ce qui provoque l’envoie du message suivant par le navigateur : GET / HTTP/1.0 Connection : Keep Alive UserAgent : Mozilla/3.0Gold (WinNT;I) Host : hypothetical.ora.com Aspect : image/gif,image/xxbitmap, image/jpeg,text/html

7 Réponse HTTP Une réponse HTTP est un ensemble de lignes envoyé au navigateur par le serveur. Elle comprend: une ligne de statut: c'est une ligne précisant la version du protocole utilisé et l'état du traitement de la requête à l'aide d'un code et d'un texte explicatif. La ligne comprend trois éléments devant être séparé par un espace: La version du protocole utilisé Le code de statut qui précise si la requête a abouti ou s'il y a une erreur La signification du code Exp: HTTP/ OK HTTP / NOT FOUND La version du protocole est HTTP/1.1

8 Format des requêtes HTTP
Les Code_etat les plus utilisés sont : 200 : La requête HTTP a été traitée avec succès. 201 : La requête a été correctement traitée et a résulté en la création d'une nouvelle ressource. 202 : La requête a été acceptée pour traitement, mais son traitement peut ne pas avoir abouti. 204 : Le serveur HTTP a correctement traité la requête mais il n'y a pas d'information à envoyer en retour. 301 : La ressource demandée possède une nouvelle adresse (URl). 302 : La ressource demandée réside temporairement à une adresse (URI) différente. 400 : Le navigateur web a effectué une requête GET conditionnelle et l'accès est autorisé, mais le document n'a pas été modifié. 401 : La requête nécessite une identification de l'utilisateur. 403 : Le serveur HTTP a compris la requête, mais refuse de la traiter.

9 Entête de la réponse il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la réponse. Exp: Date: Tue, 22 Jun :18:15 GMT Server: Apache/ (Unix) Debian GNU/Linux PHP/4.1.2 mod_ssl/2.8.9 OpenSSL/0.9.6g DAV/1.0.3 infos sur le server LastModified: Tue, 22 Jun :15:43 GMT date de dernière modification de la ressource demandée

10 Le corps de la réponse Le corps de la réponse: composé des lignes du document demandé Exp: <html> <body> <h1> page html </h1> <p> contenant une image <br> et une seule <img src="balle.gif"> </p> </body>

11 Protocole HTTPS Le but de HTTPS est de sécuriser les accès à un service web afin d’en préserver la confidentialité. Principe: Les HTTP n’ont aucune garantie de confidentialité, n’est assurée lors de ces accès, c’est simple pour un pirate d’intercepter les requêtes et les réponses. Donc nous avons pas une certitude que nous consultant le site que nous croyons.

12 Protocole HTTPS HTTP: HTTPS
Le protocole « http » n’est soumis à aucun chiffrement. C’est pourquoi le protocole « https » pour « http » ‘secured’ a été inventé. Quand vous surfez sur un site ou certaines pages de sites, notamment les pages de transaction des sites marchands ou sur les sites bancaires, vous observerez que la racine de la page commence par « https ».

13 Protocole HTTPS Afin de palier à ces inconvénients, HTTPS est mis en œuvre. Il permet d’encapsuler et de crypter le trafic HTTP, donc il sera impossible qu’un pirate qui intercepte ces données de les décrypter. Il permet de s’assurer que le serveur auquel on accède est bien celui que l’on croit. Les échanges sont crypter et décrypter à l’aide d’un couple de clés informatiques qui sont propres à un serveur W3 Clé privée: connue que par ce serveur Clé public: connue par le monde entier

14

15 Le navigateur avec lequel on accède à ce serveur doit récupérer la clé public de ce serveur.
Celleci lui est transmise par le serveur W3, encapsulée dans un certificat X509 (c'est un fichier informatique). Ce certificat contient alors la clé public validée(signée) par un organisme reconnu appelé autorité de certification CA. Fonctionnement: phase 1: Choix de la méthode de chiffrement phase 2: Présentation du certificat serveur phase 3: Échange de la clef de session générée et application de la méthode de chiffrement choisie phase 4: Échange sécurisé des données HTTP Le port utilisé pour ce type de connexion est 443.

16 Certificats X509 lancer certmgr.msc

17 Avantages et inconvénients
Les principaux avantages que fournit HTTPS par rapport HTTP: Cryptage des données Intégralité des données Confidentialité des données Garantie d’avoir un hôte récepteur de confiance Le seul inconvénient réel est l’obligation de chiffrer l’intégralité des données de la page web. Quand on dit que la quasitotalité des navigateurs supportent HTTPS ceci veut dire que ces navigateurs supportent SSL, signalé par un cadenas dans la barre d’adresse.

18 Le protocole SSL (Secure Socket Layer)
Généralité: SSL = Secure Socket Layer SSL est un système qui permet d’échanger les informations entre deux ordinateurs d’une façon sûre. SSL assure trois choses: Confidentialité: Intégrité: Authentification: SSLv2 SSLv3 SSLv1 TLSv1

19 Caractéristiques Indépendant du protocole de communication
Suit le modèle client/serveur Connexion privée et sûre Extrémités authentifiées

20 Architecture SSL dans le modèle OSI: il se situé entre la couche application et la couche de transport SSL fonctionne sous plusieurs protocoles TCP : HTTP, LDAP, POP3, FTP…………………… SSL est composé de: Générateurs de clés Fonctions de hachage Algorithmes de chiffrement Protocoles de négociation et de gestion de session Certificats

21 Pourquoi utiliser SSL plutôt qu'un autre système ?
SSL est standardisé. Il existe une version libre de SSL: OpenSSL ( que vous pouvez utiliser dans vos programmes sans payer de royalties. OpenSSL est opensource: tout le monde peut contrôler et vérifier le code source (Le secret réside dans les clés de chiffrement, pas dans l'algorithme lui-même). SSL a été cryptanalysé: ce système a été plus analysé que tout ses concurrents. SSL a été passé en revue par de nombreux spécialistes en cryptographique. On peut donc le considérer comme sûr. Il est répandu: on peut facilement créer des programmes qui dialogueront avec d'autres programmes utilisant SSL.

22 Historique SSL 1.0 1994 http Netscape
SSL 2.0 Février Netscape The SSL Protocol Version 2.0: utilisation d'un certificat serveur au format X.509 v3. SSL 3.0 Novembre 1996 Netscape The SSL Protocol Version 3.0 le client doit pouvoir d'une part exploiter sa clé privée et d'autre part fournir son certificat au format X.509 v3. TLS 1.0 Janvier 1999 IETF RFC 2246 (Internet Engineering Task Force) Extensions TLS Juin 2003 IETF RFC 3546 Extensions TLS Avril 2006 IETF RFC 4366

23 Les ports et applications utilisant SSL et TLS
Protocole : NSIIOPS Port TCP : 261 Description : IIOP Name Service sur SSL et TLS Protocole : HTTPS Port TCP : 443 Description : HTTP sur SSL et TLS Protocole : DDM-SSL Port TCP : 448 Description : DDM-SSL Protocole : SMTPS Port TCP : 465 Description : SMTP sur SSL et TLS Protocole : NNTPS Port TCP : 563 Description : NNTP sur SSL et TLS Protocole : SSHELL Port TCP : 614 Description : SSL Shell Protocole : LDAPS Port TCP : 636 Description : LDAP sur SSL et TLS Protocole : FTPS-DATA Port TCP : 989 Description : FTP données sur SSL et TLS Protocole : FTPS Port TCP : 990 Description : FTP controle sur SSL et TLS Protocole : TELNETS Port TCP : 992 Description : Telnet sur SSL et TLS Protocole : IMAPS Port TCP : 993 Description : IMAP4 sur SSL et TLS Protocole : IRCS Port TCP : 994 Description : IRC sur SSL et TLS Protocole : POP3S Port TCP : 995 Description : POP3 sur SSL et TLS

24 Implémentations de SSL et TLS
Implémentations dans les navigateurs web La majeure partie des implémentations de SSL et TLS se trouve dans les navigateurs et serveurs web. Le serveur Apache, notamment, peut exploiter SSL grâce une implémentation basée sur OpenSSL. OpenSSL Implémenté en C, OpenSSL est une boîte à outils de chiffrement comportant deux bibliothèques (une de cryptographie générale et une implémentant le protocole SSL), ainsi qu'une commande en ligne. OpenSSL supporte SSL 2.0, SSL 3.0 et TLS 1.0. OpenSSL est distribué sous une licence de type Apache. GnuTLS Le projet GnuTLS propose une implémentation du protocole TLS conforme aux spécifications de l'IETF. GnuTLS supporte TLS 1.1, TLS 1.0, SSL 3.0 et les extensions TLS. Il permet l'authentification via les certificats X509 et PGP. A la différence d'OpenSSL, GnuTLS est compatible avec les licences GPL.

25 Fonctionnement SSL Le protocole SSL et TLS est subdivisé en quatre sous protocoles : Handshake Protocol Change Cipher Spec Protocol Alarm Protocol Record Protocol -

26 SSL Handshake protocol
Client envoi e:ClientHello Highest SSL version supported 32-byte random number SessionID List of supported encryption methods List of supported compression methods Serveur envoie ServerHello SSL version that will be used Encryption method that will be used Compression method that will be used Authentification du serveur, envoie du Certificat public key certificate Issuing authority’s root certificate Lorsque le client reçoit le cetificat , il décide s’il est un serveur de confiance ou non .

27 ChangeCipherSpec Protocol
un protocol spécial avec un seul message ChangeCipherSpec signale au Record toute modification des paramètres de sécurité, Constitué d’un message (1 octet) À l’envoie du méssage ChangeCipherSpec message, tts les méssages suivants seront cryptés ChangeCipherSpec est tjrs suivi par Finished message

28 La communication SSL ("record")
SSL Record protocol: Une fois négociés, ils chiffrent toutes les informations échangées et effectuent divers contrôles. Avec SSL, l’expéditeur de données: – découpe les données en paquets – compresse les données – signe cryptographiquement les données – chiffre les données – les envoie

29 Celui qui réceptionne les données: – déchiffre les données – vérifie la signature des données – décompresse les données – réassemble les paquets de données

30 Le protocole Alert Le protocole Alert peut être invoqué :
par l’application, par exemple pour signaler la fin d’une connexion par le protocole Handshake suite à un problème survenu au cours de son déroulement par la couche Record directement, par exemple si l'intégrité d'un message est mise en doute

31 Comment SSL fait il pour protéger les communications ?
Il utilise: – un système de …………………….pour générer la clé de session. – un …………….utilisant les clés de session pour chiffrer les données. – un système de ………………pour s'assurer que les messages ne sont pas corrompus. SSL doit assurer la confidentialité , intégrité et authentification: quels sont les algos utilisés dans chaque fonction?

32 Le rôle des certificats:
Lors d'une négociation SSL, il faut s'assurer de l'identité de la personne avec qui on communique. Comment être sûr que le serveur auquel vous parlez est bien celui qu'il prétend être ? C'est là qu'interviennent les certificats. Au moment de vous connecter sur un serveur web sécurisé, ce dernier vous enverra un certificat contenant sa clé public, le nom de l'entreprise, son adresse, etc. C'est une sorte de pièce d'identité.

33 Comment vérifier l'authenticité de cette pièce d'identité ?
Ce sont les PKI (Public Key Infrastructure), des sociétés externes (auxquelles vous faites implicitement confiance), qui vont vérifier l'authenticité du certificat. (La liste de ces PKI est incluse dans votre navigateur. Il y a généralement VeriSign, Thawte, etc.)  outils option avancé afficher les certificats Ces PKI signent cryptographiquement les certificats des entreprises (et ils se font payer pour ça).

34 Les attaques et faiblesses de SSL:
SSL est théoriquement vulnérable aux attaques par force brute en cas d'utilisation de clés 40 bits, il est donc conseillé d'utiliser des clés de 128 bits. SSL est très vulnérable aux attaques par le milieu (man in the middle): l'attaquant intercepte (physiquement) la requête du client et se fait passer pour le serveur auprès de lui, tout en se faisant passer pour un client auprès du serveur légitime. Il reçoit donc la totalité du flux supposé protégé. SSL version 2 est faible dans le sens où il n'impose pas l'authentification client (ce serait d'ailleurs difficilement gérable en pratique).

35 Conclusion – Le protocole SSL est actuellement le seul protocole de sécurisation déployé et utilisé à grande échelle, son grand avantage étant sa transparence par rapport au protocole TCP. Il garantit l'authentification, la confidentialité et l'intégrité des données. – Avec son architecture modulaire, il ne se limite pas à des applications traditionnelles, puisque il intègre les réseaux sans fil comme le WAP (Wirless Transport Layer)

36 protocole SSH (Secure Shell) Accés Distant sécurisé
SSH est un protocole pour sécuriser l’accés distant à une machine à travers un réseau. SSH est le remplaçant de : telnet, rsh, rlogin et peut remplacer ftp. Utilise le cryptage. – Il permet d’exécuter des commandes à distance en toute sécurité -La transmission est compressée

37 Origine problèmes de telnet : Les données envoyées sont claires
Un tiers peut consulter le traffic Utilisation de la cryptographie dans les flux applicatifs ! SSH (Secure SHell)

38 Historique Creé par Tatu Ylönen en 1995, un étudiant de Helsinki University of Technology Free SSH1 version développé par SSH Communications Security Corp., Finland SSH 2 version Open SSH Deux distributions sont disponibles: Version commerciale freeware (

39 Avantages • chiffrement de la session et mot de passe unique (OTP) • le client SSH est disponible sur un très grand nombre de plateformes • la sécurité est assurée depuis le client jusqu'au serveur (end-to-end security)

40 Fonctions Shell de commande sécurisé Forwarding de port
Transfert sécurisé de fichier

41 1.Secure Command Shell Permet d’éditer les fichiers.
Consulter le contenu des répertoires. Créer un compte utilisateur Changer la permission n’importe quelle opération de commande prompt peut etre effectuée à distance en toute sécurité

42 2.SSH: port forwarding Le Port Forwarding (ou transfert de port) permet d'utiliser une liaison SSH pour transporter des protocoles non sécurisés (POP, NNTP, ...). On peut alors construire un VPN basé sur des liaisons SSH. Permet de sécuriser les données des applications TCP/IP

43 2.SSH: port forwarding

44 2.SSH: port forwarding

45 3.Transfert de fichier sécurisé
Secure File Transfer Protocol (SFTP) est un sous système de protocole SSH. SFTP crypte le username/password et les données à transférer . Utilise le meme port de SSH du serveur , on a pas besoin d’ouvrir d’autre port sur le firewall ou le routeur Une utilisation ideale de SFTP est de renforcer les serveurs hors firewall d'être accessible par un utilisateur distant

46

47 Versions SSH Quels sont les algos utilisés dans les deux versions?
Le protocole SSH existe en deux versions majeures : – Version 1Shell ou ligne de commande. Cette version souffrait de problèmes de sécurité dans la vérification de l'intégrité des données . – Version 2: plus sûr cryptographiquement,  Shell (console) sur un ordinateur distant. Quels sont les algos utilisés dans les deux versions?

48 Architecture: SSH utilise une architecture client serveur pour assurer
l’authentification, le chiffrement et l’intégrité des données transmises dans un réseau.

49 couche transport SSH (SSHTRANS)
– L’authentification du serveur – La confidentialité et l’intégralité des données – Que le client communique avec le bon serveur – Le chiffrement symétrique de la communication entre client/serveur

50 La couche d’authentification SSH (SSHAUTH):
De certifié l’identité du client auprès du serveur fournit un tunnel unique authentifié pour la connexion SSH

51 La couche de connexion SSH (SSHCONN):
- Ses services comprennent tout ce qu’il faut pour gérer plusieurs sessions interactives ou non : multiplexage de plusieurs flux (ou canaux), gestion des transferts X, de port et d’agent, etc.

52 Fonctionnement

53 Fonctionnement 1. le client et le serveur échangent en clair leurs numéros de version du protocole SSH. 2. Le serveur commence par envoyer au client la liste des méthodes de cryptage supportées, la liste des méthodes d'authentification supportées, des indicateurs d'extensions de protocole (par exemple, la méthode de compression, etc.) et un cookie sur 64 bit que le client devra renvoyer. Ce cookie a comme but de protéger le serveur contre une attaque par déni de service. 3. Le client envoie à son tour la liste des méthodes de cryptage supportées, liste des méthodes d'authentification supportées et une copie du cookie du serveur. 4. Le client et le serveur choisissent les meilleurs algorithmes supportés par les deux. 5. Le client et le serveur calculent séparément un identifiant de session à partir des valeurs DiffieHellman échangées entre les deux entités.

54 Fonctionnement 6. Le serveur envoie sa clé publique au client et signe avec sa clé privée les valeurs échangées précédemment. 7. Le client vérifie la signature du serveur et passe ensuite en mode crypté. 8. Le serveur répond au client par un message de confirmation crypté. 9. Les deux parties, le client et le serveur, sont maintenant en mode crypté avec utilisation de l'algorithme et de la clé sélectionnés. 10. Le client envoie maintenant la demande d’un service (par exp, sshuserauth ou sshconnection). 11. Le serveur précise les méthodes d’authentification qu’il peut accepter (publickey, password, etc.). 12. Finalement, le client envoie sa méthode d’authentification que le serveur accepte ou rejette. Dans la plupart des implémentations SSH et suivant la politique du serveur, le client a le droit à trois essais pour s’authentifier.

55 Les services de sécurité
Authentication de l’utilisateur Authentication de d'hôte Cryptage de données Integrité de données

56 Integrité de données Chaque hôte participant à la communication doit effectuer un comptage des paquets de manière secrète. Ce comptage permet ensuite de calculer le code d’authentification de chaque message (ou Message Authentication Code : MAC) en utilisant l’algorithme MAC négocier en début de communication.

57 Cryptage de données Le cryptage se fait au moyen d’un algorithme de cryptage négocié lors de l’échange des clefs entre le client et le serveur. Lorsque le cryptage est effectif, toutes les données d’un paquet sont cryptées sauf le code d’authentification du message. Le cryptage se fait toujours après la compression

58 Client ssh :Le plus connu est sans doute putty
Implémentation et utilisation avancée de SSH dans un environnement Windows Serveur SSH: Copssh: Client ssh :Le plus connu est sans doute putty

59

60

61 Les avantages: SSH constitue une approche puissante et pratique pour protéger les communications sur un réseau d’ordinateurs. A travers son mécanisme d’authentification, SSH permet d’effectuer sous un tunnel sécurisé des connexions à distance, des transferts de fichiers, le transfert de ports TCP/IP et d’autres fonctionnalités importantes. Ainsi, il présente comme avantages : La création d’un VPN au niveau d’échange La notion du Transfert (tunneling)

62 Les inconvénients SSH est vulnérable aux attaques par déni de service, héritant ainsi les faiblesses de TCP/IP sur lequel il repose. En outre et suivant l’environnement, SSH est sensible à certaines méthodes d’attaques, comme l’analyse et le détournement de trafic.

63 Le protocole IPSEC 1. Introduction
IPsec est une norme qui définit une extension de sécurité pour le protocole internet (IP) : Ecoute de paquet Usurpation d’adresse permettre la sécurisation des réseaux basés sur ce protocole. Confidentialité : Authentification: Intégrité : Protection contre le rejeu La sécurisation se faisant au niveau d’IP, IPsec peut être mis en œuvre sur tous les équipements du réseau et fournir un moyen de protection unique pour tous les échanges de données. IPsec =IP Security Protocol

64 Historique Norme développée à l’IETF depuis1992
Première version en 1995 Version améliorée, avec gestion dynamique des paramètres de sécurité, en novembre 1998 Optionnel dans IP4 Obligatoire dans IPV6

65 2. La sécurisation des données échangées
Où intervient IPsec ? IPsec s’insère, dans la pile de protocoles TCP/IP, au niveau d’IP. IPsec peut être mis en œuvre sur tous les équipements utilisant le réseau et assurer une protection soit de bout en bout, entre les tiers communicants, soit lien par lien, sur des segments de réseau.

66 Quels services de sécurité sont fournis ?
IPsec vise à prévenir les diverses attaques rendues possibles par le protocole IP. IPsec peut fournir des services de sécurité suivants : Confidentialité des données et protection partielle contre l’analyse du trafic. Authenticité des données et contrôle d’accès continu. Protection contre le rejeu

67 Avantage : Possibilité d’utilisation uniquement sur des communications spécifiques (sans perturber les autres communications). IPSec est au-dessous de la couche de transport (TCP, UDP); il est donc transparent aux applications (possibilité d’accroître la sécurité sans modifier les applications de plus haut niveau). Une fois mis en place, IPSec est transparent aux utilisateurs.

68 Comment sont fournis ces services ?
Les services de sécurité sont fournis au moyen de deux extensions du protocole IP : AH (Authentication Header) est conçu pour assurer l’authenticité des datagrammes IP sans chiffrement des données (sans confidentialité). sert à valider l’intégrité des messages et à prouver l’identité de l’expéditeur, ainsi que d’éviter les rejeux. ESP(Encapsulating Security Payload) :a pour rôle premier d’assurer la confidentialité mais peut aussi assurer l’authenticité des données.

69 3. Les deux modes de fonctionnement IPSec
Le mode transport : protège uniquement le contenu du paquet IP sans toucher à l’entête ; ce mode n’est utilisable que sur les équipements terminaux (postes clients, serveurs). AH, ESP ou les deux. Le mode tunnel : permet la création de tunnels par “encapsulation” de chaque paquet IP dans un nouveau paquet. Ainsi, la protection porte sur tous les champs des paquets IP arrivant à l’entrée d’un tunnel, y compris sur les champs des entêtes (adresses source et destination). AH ou ESP.

70 AH: Tunnel and Transport Mode
Original Transport Mode Cover most of the original packet Tunnel Mode Cover entire original packet

71 ESP: Tunnel and Transport Mode
Good for host to host traffic Tunnel Mode Good for VPNs, gateway to gateway security


Télécharger ppt "Sécurité TCP/IP HTTPS ,SSL , SSH , IPSEC."

Présentations similaires


Annonces Google