Vous êtes sur la page 1sur 23

Mise en place d’un

système
d'authentification
dans un Cloud
Présenté par: Encadré par:

NAHRI Mouad BELMEKKI El Mostafa


TABLE DES MATIÈRES

Vue d'ensemble Mise en place du Cloud


Analyse des problèmes
Dashboard Horizon
Objectif visé Le module Keystone
Cloud Computing Fonctionnement du KEYSTONE
Tendances du marché Choix des protocoles d’authentification
Fonctionnement de KERBEROS
Diagramme du cycle de Enjeux et problèmes non résolus de Kerberos
développement
Calendrier du projet
Vue d'ensemble

Le Cloud Computing n’est finalement qu’une option d’externalisation supplémentaire. De


ce fait, il induit de nombreuses questions quant à la sécurité et aux responsabilités. Avec,
pour certains, la conviction que sa sécurité est impossible à garantir. La culture du risque
va devoir se développer. Ce qui incarne La sécurité du Cloud comme un défi aux multiples
facettes.

Comment donc établir des bases fiables et des normes pour sécuriser leur infrastructure?
Analyse des problèmes

Avoir une infrastructure Cloud modulaire et compatible avec du matériel


01 standard disponible, déployer, de façon centralisée, tous les outils dont
vous avez besoin, quand vous en avez besoin.

Fournir l’authentification du client, établir une sécurité aux données, la


02 découverte des services et l’autorisation partagée par implémenter l’API
d’identité d’Openstack.

Keystone est le composant responsable de l’authentification sur une


plateforme OpenStack. Par défaut, l’authentification nécessite l’envoi
03 d’un login et d’un mot de passe par un appel d’API. Les mots de passe
sont généralement stockés en clair dans un fichier texte, souvent non
chiffré : autant dire que ce n’est pas une méthode très sécurisée.
Objectif visé

Notre projet consiste à faire la mise en place d’une


infrastructure Cloud, et d’analyser les mécanismes de
sécurité de son système d’authentification, et de le
renforcer par un protocol de sécurité d’authentification.
Cloud Computing

Dans le but de faciliter le déploiement, l’administration et


l’utilisation des systèmes informatiques dans les grands centres de
données ou entreprises, un nouveau concept, le cloud computing, a
été développé. Trois types de services permettent de mettre en
oeuvre la facilité d’accès et l’homogénéité de gestion des ressources
apportées par ce concept: ce sont les services IaaS, PaaS, SaaS . Ces
différents services du cloud computing visent à offrir
respectivement à travers le réseau l’accès à des ressources
physiques (stockage, systèmes d’exploitation) sous forme virtuelle,
des environnements de développement pré configurés et adaptés au
travail de test et d’exécution d’applications et enfin des applications
prêtes à l’usage mises à la disposition des utilisateurs finaux.
SaaS (Software as a Service)
Le logiciel en tant que service ou software as a service (SaaS) est un modèle
d'exploitation commerciale des logiciels dans lequel ceux-ci sont installés sur
des serveurs distants plutôt que sur la machine de l'utilisateur. Les clients ne
paient pas de licence d'utilisation pour une version, mais utilisent librement le
service en ligne ou, plus généralement, payent un abonnement.

CRM EMAIL PAYROLL ERP


PaaS (Plateforme as a service)
La Plateforme en tant que Service (PaaS) est un modèle de Cloud
Computing, au même titre que les SaaS, les DaaS et les IaaS. Un fournisseur
de services Cloud propose des outils hardware et logiciels en tant que
service via internet, permettant à l’utilisateur de développer des
applications. Le hardware et le software sont hébergés sur l’infrastructure
du fournisseur. Ainsi, les utilisateurs n’ont pas besoin d’installer leur propre
hardware et leurs logiciels en interne pour développer ou lancer de
nouvelles applications.

AWS Microsoft Azure Google App Engine Salesforces Platform


IaaS (Infrastructure as a service)

L'Infrastructure as a Service (IaaS) est l'une des trois principales catégories


de services de Cloud Computing. Comme tous les services de Cloud
computing, on accède aux ressources informatiques dans un
environnement virtualisé le "Cloud" à travers une connexion publique,
généralement Internet. Dans le cas de l'IaaS, la ressource, le matériel
informatique est virtualisée. Le service peut inclure des offres telles que
l'espace serveur, des connections réseau, la bande passante, les adresses IP
et les load balancers. Les ressources hardware physiques sont sous la
responsabilité du fournisseurs de services Cloud, proviennent d'une
multitude de serveurs et de réseaux généralement distribués à travers de
nombreux data centers. Parallèlement, l'accès aux composants virtualisés
est fournie à l'entreprise afin que celle-ci puisse construire ses propres
plateformes IT.
Tendances du marché
Les services d'IaaS et de PaaS affichent des taux de croissance de 47 %. Les services SaaS
d'entreprise sont en croissance de 31 %. Les services d'infrastructure de cloud privé hébergé
affichent eux une croissance de 30 %.

2016 a été une année charnière assure Synergy Research Group sur le marché du cloud
computing : les dépenses consacrées aux services cloud ont dépassé celles utilisées pour
construire des clouds publics et privés. Et cette tendance se poursuit en 2017 : les marchés des
services de cloud computing progressent trois fois plus vite que ceux du matériel et des logiciels
d'infrastructure de cloud computing.
100 % 100 % 100 %

80 % 80 % 80 %

60 % 60 % 60 %

40 % 40 % 40 %

20 % 20 % 20 %

0% 0% 0%

T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4

2015 2016 2017


Diagramme du cycle de développement

Mise en situation et 04
Tests et livraison
documentation
Analyse de la problématique et Avant de livrer le projet, nous
étude générale des mécanismes passons par l’étape des tests.
de l’ensemble.

01 03
Mise en place du Implémentation du
Cloud nouveau protocol
la mise en place de l’infrastructure le choix du protocol KERBEROS et
cloud par l’ensemble des modules l'implémentation de ce protocol dans
OpenStack. 02 le système d’authentification.
Mise en place du Cloud

OpenStack est un ensemble de logiciels


open source permettant de déployer des
infrastructures de cloud computing
(infrastructure en tant que service). La
technologie possède une architecture
modulaire composée de plusieurs projets
corrélés (Nova, Swift, Glance, Neutron...)
qui permettent de contrôler les différentes
ressources des machines virtuelles telles
que la puissance de calcul, le stockage ou
encore le réseau inhérents au centre de
données sollicité.
Dashboard Horizon

Horizon est l'implémentation


canonique du tableau de bord
OpenStack (dashboard), qui
fournit une interface utilisateur
Web aux services OpenStack,
notamment Nova, Swift,
Keystone, etc.

Permettant le démarrage et
gestion d’instances virtuelles,
gestion de réseaux et sous
réseaux, création de volume de
stockage, orchestration…
Le module Keystone

Le service d'identité d'OpenStack


s'appelle Keystone. Il fournit un
annuaire central contenant la liste
des services et la liste des
utilisateurs d'Openstack ainsi que
leurs rôles et autorisations. Au sein
d'Openstack tous les services et tous
les utilisateurs utilisent Keystone
afin de s'authentifier les uns avec les
autres. Keystone peut s'interfacer
avec d'autre service d'annuaire
comme LDAP. Il supporte plusieurs
formats d'authentification comme
les mots de passe et autres.
Fonctionnement du KEYSTONE

Les trois principaux concepts de la


gestion des utilisateurs sont les
suivants : User, Tenants, Rôles. Le rôle Chaque service possède sa propre
définit les autorisations qu’un politique de control d’accès (elle se
utilisateur peut effectuer dans un trouve dans /etc/[Services
Tenant donné. Avec Keystone on CodeName]/policy.json),
peut associer plusieurs rôles à un
utilisateur dans différents tenant, et Elle permet de contrôler ce qu’un
un utilisateur peut avoir plusieurs rôle peut effectuer sur un service
rôles dans un même tenant. donné.
Choix des protocoles
d’authentification

RADIUS est un moyen d'accéder au Kerberos vérifie vos informations


d'identification et vous donne un «ticket»
réseau. Vous donnez vos
que vous pouvez utiliser pour prouver à
informations d'identification, et elles d'autres systèmes / services que vous
seront vérifiées avant que vous êtes vous. Le ticket expirera et ne
soyez autorisé à accéder au réseau. contiendra pas vos informations
d'identification.
Vous devez être sur le réseau pour que
cela fonctionne.
KERBEROS protocol

Kerberos est un protocole d'authentification réseau


qui repose sur un mécanisme de clés secrètes
(chiffrement symétrique) et l'utilisation de tickets, et
non de mots de passe en clair, évitant ainsi le risque
d'interception frauduleuse des mots de passe des
utilisateurs. Créé au Massachusetts Institute of
Technology, il porte le nom grec de Cerbère, gardien
des Enfers. Kerberos a d'abord été mis en œuvre sur
des systèmes Unix.
Fonctionnement de KERBEROS
Kerberos est différent des autres méthodes d'authentification basées sur la combinaison nom d'utilisateur/mot de
passe car, au lieu d'authentifier chaque utilisateur auprès de chaque service réseau, il utilise un cryptage symétrique
et un tiers digne de confiance connu sous le nom de Centre de distribution de tickets (ou KDC de l'anglais Key
Distribution Center) afin d'authentifier les utilisateurs auprès d'un ensemble de services réseau. Une fois
l'authentification auprès du KDC effectuée, il renvoie à l'ordinateur de l'utilisateur un ticket spécifique à cette session
de sorte que tout service kerberisé puisse rechercher le ticket sur l'ordinateur de l'utilisateur plutôt que de demander
à l'utilisateur de s'authentifier à l'aide d'un mot de passe.

Lorsqu'un utilisateur faisant partie d'un réseau kerberisé se connecte sur son poste de travail, son principal est
envoyé au KDC dans une demande de ticket d'émission de ticket ou TGT (de l'anglais Ticket-granting Ticket) de la
part du serveur d'authentification (ou AS de l'anglais Authentication Server). Cette demande peut être envoyée par le
programme de connexion afin qu'elle soit transparente pour l'utilisateur ou elle peut être soumise par le programme
kinit une fois l'utilisateur connecté.

Le KDC vérifie la présence du principal dans sa base de données. Si le principal y figure, le KDC crée un TGT, le
cryptés à l'aide de la clé de l'utilisateur, puis le renvoie à ce dernier.

Le programme de connexion ou le programme kinit présent sur l'ordinateur client décrypte ensuite le TGT à l'aide
de la clé de l'utilisateur (qu'il obtient à partir du mot de passe). La clé de l'utilisateur est utilisée seulement sur
l'ordinateur client et n'est pas envoyée sur le réseau.
Avertissement !
Telle est la raison pour
laquelle l'utilisation d'un
Le système Kerberos service non-kerberisé est
peut être compromis fortement déconseillée.
chaque fois qu'un Parmi de ces services
utilisateur présent sur le figurent Telnet et FTP.
réseau s'authentifie L'utilisation d'autres
auprès d'un service non- protocoles cryptés tels
kerberisé en envoyant un que les services sécurisés
mot de passe en texte en OpenSSH ou SSL est
clair. certes acceptable, mais
n'est pas idéale.
Overview de KERBEROS
Enjeux et problèmes non résolus de
Kerberos
Un problème non résolu est le problème de
proxy. Comment un utilisateur authentifié
Le problème de vie de ticket est une question peut-il permettre à un serveur pour saisir
de choisir le compromis approprié entre la d'autres services réseau en son nom ? Un
Sécurité et la commodité. Si la vie d'un ticket exemple où ce serait important est l'utilisation
est longue, alors si un ticket et sa clé de session d'un service qui accédera aux fichiers
associée sont dérobés ou mal placés, ils protégés directement d'un serveur de fichiers.
peuvent être utilisés pendant une plus longue
Est un autre exemple de ce problème ce que
période. Une telle informations peuvent être
nous appelons expédition d'authentification.
dérobées si un utilisateur oublie de se
Si un utilisateur est enregistré dans un poste
déconnecter d'un poste de travail public.
Alternativement, si un utilisateur a été de travail et des logins à un serveur distant, il
authentifié sur un système qui permet des serait gentil si l'utilisateur avait accès aux
plusieurs utilisateurs, un autre utilisateur avec mêmes services disponibles localement, tout
l'accès à enraciner pourrait pouvoir trouver les en exécutant un programme sur le serveur
informations requises pour utiliser les tickets distant. Ce qui fait ce difficile est que
dérobés. Le problème avec donner à un ticket l'utilisateur ne pourrait pas faire confiance au
une vie courte, cependant, est que quand elle serveur distant, ainsi l'expédition
expire, l'utilisateur devra obtenir un neuf qui d'authentification n'est pas désirable dans des
exige de l'utilisateur d'entrer le mot de passe
tous les cas. Nous n'avons pas actuellement
de nouveau.
une solution au problème.
Calendrier des tâches

04 JUILLET 14 JUILLET 19 JUILLET 26 JUILLET 27 JUILLET AOÛT

Documentation Mise en place de Examination du Implémentation Test des Continuation


et feedback l’infrastructure choix entre du protocole performances des tests et
du Cloud Radius et Kerberos renforcement de
Analyse de la Kerberos Lancement des sécurité
La mise en place Choix tombé sur
problématique et Documentation tests et essai de
du Cloud par le protocole élaboration des
étude générale sur les les trouver les failles
l’ensemble des Kerberos pour mécanismes et
différents enjeux dans les
des mécanismes raison d’usage de résultats.
modules de protocoles mécanismes de
de l’ensemble. tickets Granting.
d’OpenStack. d’authentificatio sécurité du Cloud
n Radius vs
Kerberos.
Merci pour votre
attention !