SlideShare une entreprise Scribd logo
Hadoop Single-Sign-On HSSO
BECHIR BEN TAIEB (RT3)
WAFA KADER (RT3)
SAHAR DRIDI (RT4)
SECURIDAY 2015
BIG DATA SECURITY
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
1
Table des matières
I. Présentation de l'atelier............................................................................................... 2
II. Présentation des outils utilisés..................................................................................... 3
1. CentOS 6.6................................................................................................................. 3
2.LightHadoop................................................................................................................3
3.JDK.............................................................................................................................. 3
4.Shibboleth .................................................................................................................. 3
5.Tomcat 6..................................................................................................................... 4
6.HUE.............................................................................................................................4
III. 3. Topologie des réseaux................................................................................................... 6
IV. 4. Configuration des outils ............................................................................................... 7
V. 5. Un scénario de test .................................................................................................... 17
VI. 6. Conclusion .................................................................................................................. 19
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
2
I. Présentation de l'atelier :
Dans une époque de "Big Data" , les entreprises collectent , analysent et prennent des
décisions basées sur un flux énorme de données , ce qui rend la sécurité de toute
information de plus en plus importante . Mais aussi , sécuriser ne doit pas pour autant
endurcir la tâche aux employés . En effet , devoir ,à chaque tâche , introduire son login et
mot de passe devient pénible au fil du temps , surtout avec la possibilité d'oublier l'un d'eux
ou bien les deux . La meilleure solution serait une seule authentification : le Single-Sign-On.
Etant un framework dédié au traitement et l'analyse des données massives , on a procédé
sur Hadoop pour faciliter la tâche aux utilisateurs au sein d'une entreprise et leur permettre
d'accéder aux différents services suite à une seule saisie de leur login et mot de passe . Ainsi,
plus besoin de se souvenir de multiples informations non nécessaires , mais plutôt on aura
une meilleure concentration sur le travail .
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
3
II. Présentation des outils utilisés :
1. CentOS 6.6
CentOS (Community enterprise Operating System) est une distribution GNU/Linux destinée
aux serveurs. Utilisée par 20 % des serveurs web Linux, elle est l'une des distributions Linux
les plus populaires pour les serveurs web. Elle est le clone gratuit de la distribution Red Hat
dont le support est payant. Depuis novembre 2013, elle est la troisième distribution la plus
utilisée sur les serveurs web. Dans le monde, les communautés de CentOS et de fedora sont
très proches et CentOS rencontre de plus en plus de succès chez les professionnels
Contrairement à Ubuntu ,CentOS ne dispose pas des dernières versions des logiciels qui font
le succès de Linux auprès des utilisateurs . Cette distribution est particulièrement adaptée à
l'exécution de logiciels tels que les bases de données MySQL ,PostgreSQL, le serveur web
Apache et autres serveurs de messagerie tels que Postfix, les logiciels commerciaux Oracle et
Domino .
2. LightHadoop
LightHadoop est une machine virtuelle "légère" contenant tous les composants nécessaire
pour faire fonctionner Hadoop.
3.JDK
L'écriture des applets et des applications Java nécessite l'utilisation d'outils de
développement tel que le kit JDK(Java Development Kit). Ce dernier comprend
l'environnement JRE, le compilateur Java et les API Java. Il s'agit des outils nécessaires pour
programmer en java , tester ses programmes .
4.Shibboleth
Shibboleth est une implémentation open source, gratuite pour la gestion des identités,
fournissant un mécanisme unique de sign-on sur le Web à travers différentes frontières
organisationnelles. C’est un système fédéré, pour garantir l'accès aux ressources à travers
les domaines de sécurité.
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
4
Le principe de la fédération d’identités est de déléguer l’authentification web des
utilisateurs à un service d’authentification dans l’organisme d’origine de l’utilisateur. Le
protocole utilisé est SAML 2, utilisé également par d’autres solutions logicielles de ce type.
5.TOMCAT6
Apache Tomcat est un conteneur web libre de servlets et JSP Java EE. Issu du projet Jakarta,
c'est un projet principal de l’Apache Software Foundation. Il implémente les spécifications
des servlets et des JSP du Java CommunityProcess, et est paramétrable par des fichiers XML
et de propriétés, ainsi qu'il inclut des outils pour la configuration et la gestion. C’est un
serveur léger, gratuit, libre, multiplateforme et assez complet pour ce que nous allons
aborder.
Parmi ses concurrents, on trouve JBoss Application Server (ou WildFly) qui est un serveur
d'applications Java EE Libre entièrement écrit en Java, publié sous licence GNU LGPL.
6. HUE
Hue (Hadoop User Experience) offre une interface graphique Web pour les utilisateurs
Hadoop pour simplifier le processus de création, le maintien et l'exécution de nombreux
types d'emplois Hadoop. Hue est composé de plusieurs applications qui interagissent avec
des composants Hadoop, et dispose d'un SDK ouvert pour permettre de nouvelles
applications à créer. Applications incluses dans Hue :
 FileBrowser: Graphical interface for browsing files stored in MapR-FS.
 Beeswax: Beeswax - Create and execute Hive queries.
 Impala App: Create and execute Impala queries.
 Oozie App: Create, submit, and schedule Oozie workflows and bundles.
 Pig App: Create and execute Pig scripts.
 HBase Browser: Explore and modify HBase tables and data.
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
5
 Table Browser: Access Hive metadata.
 Search App: Query Solr and Solr Cloud.
 Job Browser: View and access MapReduce jobs.
 Job Designer: Create and execute MapReduce jobs.
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
6
III. Topologie des réseaux :
Lors d'une tentative de connexion à Hue , celui-ci réagit comme un SP (Service Provider)
avec un service consommateur d'assertion et communique avec l'IDP pour authentifier
l'utilisateur. En effet , l'assertion sert à indiquer à l'IDP si le client est déjà authentifié.
Hue fournit deux URLs pour la communication avec l'IDP
/saml2/metadata
/saml2/acs
L'IDP contacte l'URL des métadonnées pour avoir des information sur le SP. L'URL ACS est le
consommateur d'assertion de l'idP auquel sont redirigés les clients authentifiés .
La communication entre le SP et L'IdP se fait avec l'aide du protocole de sécurité SAML.
Le schéma suivant résume le déroulement de la communication.
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
7
IV. Configuration des outils
 Installation de oracle jdk :
On configure les variables d'environnementJAVA_HOME et JRE_HOME pour qu'elles
pointent vers le répertoire d'installation
 Installation et configuration de apache tomcat
On télécharge apache tomcat version 6 ou supérieur. On le décompresse dans /usr/local/src
et on le renomme en tomcat6
# cd /usr/local/src
# curl -L -O http://apache.tradebit.com/pub/tomcat/tomcat-
6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz
# tar -xvzf apache-tomcat-6.0.32.tar.gz
# mv apache-tomcat-6.0.32 tomcat6
On instancie ces variables d'environnement comme suit:
# export CATALINA_HOME=/usr/local/src/tomcat6
# export CATALINA_BASE=/usr/local/src/tomcat6
Et on configure la mémoire de la JVM .Ceci dépend généralement de la mémoire du serveur
On édite le fichier /usr/local/src/tomcat6/bin/catalina.sh en ajoutant, à la fin ,la variable
JAVA_OPTS comme suit:
Dans le fichier /usr/local/src/conf/server.xml, la valeur par défaut du paramètre
autoDeploy est égale à vrai. Ceci indique que tomcat vérifie périodiquement de nouvelles
mises à jour d'application. Si une mise à jour est trouvée, un redéploiement est exécuté. Or,
ceci n'est pas préférable. On met alors autoDeploy à faux.
On lance tomcat
TOMCAT_HOME/bin/catalina.sh start
Pour vérifier que tomcat fonctionne correctement , on teste le lien suivant dans le
navigateur http://localhost:8080
On doit voir la page suivante:
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
8
Ceci indique que le serveur tomcat a bien démarré.
 Installation et configuration de Shibboleth
On télécharge Shibboleth version 2.4 ou supérieure à partir du site officiel de Shibboleth
# curl -O http://www.shibboleth.net/downloads/identity-
provider/2.4.0/shibboleth-identityprovider-2.4.0-bin.zip
On extrait shibboleth-identityprovider-2.4.0-bin.zip et changer les droits du script install.sh
pour qu'il soit exécutable puis on copie le dossier endorsed/ situé dans shibboleth-
identityprovider-2.4.0 dans le dossier /usr/local/src/tomcat6 et on configure la variable
JAVA_ENDORSED_DIRS
# unzip shibboleth-identityprovider-2.4.0-bin.zip
# cd shibboleth-identityprovider-2.4.0
# chmodu+x install.sh
# cp -r endorsed/ /usr/local/src/tomcat6
# export JAVA_ENDORSED_DIRS=/usr/local/src/tomcat6/endorsed
On exécute l'installeur et on poursuit tout en conservant les paramètres par défaut
# ./install.sh
Un mot de passe pour le keystore vous sera demandé. Mettez un mot de passe et notez le .
On instanciela variable d'environnement IDP_HOME comme suit:
# export IDP_HOME=/opt/shibboleth-idp
On passe ensuite à la modification du fichier .bash_profile en y ajoutant ces deux lignes :
IDP_HOME=/opt/shibboleth-idp
export IDP_HOME
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
9
Pendant certaines opérations , l'IdP et le SP pourront communiquer ensemble au même
moment d'envoi de message via le navigateur de l'utilisateur . Pour gérer ceci , l'IdP a besoin
d'un autre port (qu'on appelle connecteur tomcat) différent decelui utilisé par l'utilisateur .
Pour ce faire , il suffit de suivre ces étapes :
Télécharger tomcat6-dta-ssl-1.0.0.jar dans
/usr/local/src/tomcat6/lib/folder
Ajouter la définition du connecteur ci-dessous dans le fichier
/usr/local/src/conf/server.xml
(Remarque : Dans keystorePass on met le mot de passe entré lors de l'installation de
shibboleth-idp)
Créer et modifier le fichier /usr/local/src/tomcat6/conf/Catalina/localhost/idp.xml
# vi /usr/local/src/tomcat6/conf/Catalina/localhost/idp.xml
On copie ces quelques lignes dans notre nouveau fichier idp.xml
Maintenant, l'installation et la configuration basiques de l'IdP sont mises en place.
Pour tester le fonctionnement de l'IdP il faut :
Arrêter tomcat et le relancer après pour assurer le déploiement de l'IdP.war
# /usr/local/src/tomcat6/bin/catalina.sh stop
# /usr/local/src/tomcat6/bin/catalina.sh start
Ensuite, tester l'url suivantehttp://hostname:8080/idp/profile/Status
Si tout s'est bien passé , on obtient une page "ok"
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
10
On passe alors à l'activation de SSL pour notre IdP :
Il suffit d'exécuter ces commandes pour créer un nouveau dossier où enregistrer les
certificats .
Il vous sera demandé d'introduire un mot de passe .
# mkdir /home/yourHomeDir/idpcerts/
# keytool -genkey -alias tomcat -keyalg RSA -keystore
/home/yourHomeDir/idpcerts/idpself.keystore
Vous devez aussi indiquer à Shibboleth l'emplacement du nouveau keystore en ajoutant un
nouveau connecteur.
On copie ces lignes dans le fichier /usr/local/src/tomcat6/conf/server.xml
La variable keystoreFile correspond à l'emplacement où on a enregistré le nouveau keystore
et la variable keystorePass aura le mot de passe .
Pour tester, ouvrir ce lien :https://idp.example.org/idp/profile/Status
Si la configuration est correcte , on obtient une page "ok"
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
11
Dans /opt/shibboleth-idp/conf ,on configure le fichier attribute-filter.xml pour rendre l'UID
disponible. Pour cela ,on insère ce qui suit sous "<!--Release the transient ID to anyone -->":
On configure le fichier relaying-party.xml pour que Shibboleth communique avec hue:
sous:"<!-- MetadataProvider the combining other MetadataProviders -->"
 Installation et configuration de Apacheds
On commence par télécharger la dernière version d'Apacheds (version binaire) depuis le site
officiel , la rendre exécutable puis l'exécuter:
# chmoda+x apacheds-2.0.0-M19-32bit.bin
# ./apacheds-2.0.0-M19-32bit.bin
On conserve avec les options par défaut
Maintenant , on exécute ApacheDS :
# /etc/init.d/apacheds-1.5.2 start
On télécharge Apache Directory Studio qu'on décompresse dans /opt en changeant son
nom.
# tar –xvzf ApacheDirectoryStudio-linux-x86-1.5.3.v20100330.tar.gz
# mv ApacheDirectoryStudio-linux-x86-1.5.3.v20100330 /opt/apachedirstudio
On change de répertoire et on exécute l 'Apache Directory Studio en suivant ces
commandes :
# cd /opt/ apachedirstudio
# ./ApacheDirectoryStudio
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
12
Après , on crée une nouvelle connexion LDAP en utilisant le LDAP server. Dans notre cas , il
s'agit de Apache Directory Studio.
Pour ce faire , il faut :
Aller sur File -> New -> LDAP Connection
Dans la fenêtre qui s'ouvre , on introduit le nom de la connexion, dans le champ hostname ,
on introduit le nom d'hôte sur lequel Apache Directory Server est exécuté et dans le champ
port : 10389 , et on clique Next
Dans la fenêtred'authentification , sélectionner Simple authentification en tant que méthode
d'authentification , dans le champ user , entrer uid=admin , ou=system, et dans le champ
bindpassword le mot de passe (secret).
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
13
Si la connexion est réussie , on doit voir le Directory Information Tree (DIT) dans le
navigateur du LDAP
Pour ajouter un nouveau utilisateur , un clic droit sur "ou=users" et on sélectionne New
entry .
Dans la fenêtre qui s'ouvre , aucun changement de paramètres n'est nécessaire . Cliquer sur
Next
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
14
Après avoir ajouté un mot de passe , on trouve une nouvelle entrée dans le navigateur
uid=votreUid.
On ajoute un nouveau attribut userPassword . Dans l'éditeur qui s'ouvre, on introduit un
nouveau mot de passe et puis ok .Voila un nouveau utilisateur créé.
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
15
 Installation et configuration de Hue
Tout d'abord, on ajoute le repository de hue pour pouvoir le télécharger sous
/etc/yum.repos.d . On crée un fichier appelé cloudera et on y ajoute ce qu'y suit:
[cloudera-cdh4]
name=Cloudera's Distribution for Hadoop, Version 4
baseurl=http://archive.cloudera.com/cdh4/redhat/6/i386/cdh/4/
gpgkey = http://archive.cloudera.com/cdh4/redhat/6/i386/cdh/RPM-GPG-KEY-
cloudera
gpgcheck = 1
On installe maintenant Hue
#yuminstall Hue Hue-server
On installe les packagse suivants:
#yum install swig
#yum install open-ssl
On installe pip pour pouvoir installer des libraires python
#yuminstallpip
On installe djangosaml2 et pysaml2 ; des librairies qui supportent SAML
pip install pysaml2
pip install djangosaml2
On installe le package xmlsec1
#yuminstall xmlsec1 xmlsec1-openssl
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
16
Remarque: xmlsec1 doit être exécutable par l'utilisateur de Hue
On passe maintenant à la configuration de Hue. Le ficher de configuration est
/etc/hue/conf/hue.ini
Hue doit être configuré comme un SP et utilisé SAML Authentification Backend
#nano /etc/hue/conf/hue.ini
Sous [libsaml] on modifie les champs suivant:
xmlsec_binary=/opt/bin/xmlsec1 (c'est le chemin de xmlsec1 ceci peut varier pour connaitre
le chemin exacte on exécute la commande: which xmlsec1)
metadata_file=/tmp/metadata.xml
key_file=/tmp/key.pem
cert_file=/tmp/cert.pem
Les fichiers key_file et cert_file sont copiés à partir de /opt/shibboleth-idp/credentials et
convertis au format .pem:
#cp /opt/shibboleth-idp/credentials/idp.key /tmp/
#cp /opt/shibboleth-idp/credentials/idp.key /tmp/
#mv /tmp/idp.key /tmp/key.pem
#mv /tmp/idp.crt /tmp/cert.pem
Toujours dans hue.ini sous [[auth]] , on ajoute la ligne suivante :
backend=libsaml.backend.SAML2Backend
On relance maintenant hue
#hue service hue restart
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
17
V. Scénario de test :
Dans le navigateur ,on accède à hue avec le lien suivant localhost:8888 . On est redirigé
automatiquement à Shibboleth pour l'authentification:
On entre notre login et mot de passe qui appartiennent à ApacheDirectory. Si
l'authentification est réussie ,on est ramené à hue.
La redirection est visible sur la barre de lien du navigateur
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
18
On accède à Hue
Si l'authentification échoue, on est appelé à ressaisir le login et mot de passe:
Hadoop Single-Sign-On HSSO
SECURIDAY 2015BIG DATA SECURITY
19
VI. Conclusion
Dans ce tutoriel, il s'agit de mettre en place une maquette de faisabilité de Shibboleth, et
expliquer les grands principes. Chaque fois qu'un nouvel utilisateur se connecte à une
application, celle-ci le redirige vers le fédérateur d’identité, qui lui présente un formulaire
d'authentification s'il ne le reconnaît pas, puis dans tous les cas une fois l'utilisateur connu,
redirige celui-ci vers l'application, muni d'un ticket de service.
À son tour, l'application se connecte sur le serveur CAS et lui communique le ticket de
service de l'utilisateur. Le fédérateur Shibboleth renvoie alors à son tour à l'application
l'identifiant unique de l'utilisateur qui est désormais authentifié. C'est ce mécanisme qui
fonde le SSO Shibboleth, et qui permet une authentification unique quel que soit le nombre
d'applications visitées.
De plus, on a intégré le framework Hadoop dans ce système afin de garantir la sécurité des
applications dédiées au Big Data.
Donc , le SSO est une source de confort et de gain de temps pour l'utilisateur comme pour
l'administrateur, ce qu’il a fait de lui une des priorités des entreprises françaises (d’après
une étude de Pierre Audoin Consultants).
Même les grands noms de l'informatique s'y sont mis:
 Google: avec un compte Gmail, on peut avoir accès aux mails, à un compte YouTube
avec la même adresse mail.
 Facebook: le compte Facebook est valable aussi pour Instagram.
Par ailleurs, comme toute technologie, le SSO présente un nombre important de limites.
Tout d'abord, la compatibilité avec toutes les applications est loin d'être garantie. On a
besoin de développer, pour les applications non supportées, une interface permettant au
SSO d'authentifier automatiquement l'utilisateur, ce qui représente un travail qui n'est pas
des moindres.
Aussi l'intégration complète est difficile dans le SI. Les inconvénients de la mise en place
d´une telle solution sont avant tout les inconvénients d´une mise en conformité du SI de
l´entreprise .
Il y'a aussi la contrainte coût et lourdeur. L´affiliation d´une application à un système de SSO
à un coût non négligeable, en termes de budget mais également au niveau des accès
serveur.
Pour finir, le SSO peut également nuire à la sécurité. Il donne accès à une multitude de
ressources une fois l'utilisateur authentifié. C'est pour cette raison qu’il est préférable de
coupler les solutions de SSO, avec un système d'authentification forte. Un autre risque est
également que si le serveur d´authentification tombe, l´application de SSO tombe. Il est
donc préférable de mettre en place un serveur de secours.

Contenu connexe

Tendances

A la découverte de redo
A la découverte de redoA la découverte de redo
A la découverte de redo
Thierry Gayet
 
JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)
Fourat Zouari
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
Soukaina Boujadi
 
JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)
Fourat Zouari
 
JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)
Fourat Zouari
 
Utilisation de dkms
Utilisation de dkmsUtilisation de dkms
Utilisation de dkms
Thierry Gayet
 
Commande rapide linux
Commande rapide linuxCommande rapide linux
Commande rapide linux
patsiii
 
Commandes usuelle linux
Commandes usuelle   linuxCommandes usuelle   linux
Commandes usuelle linux
Fabrice Sonzahi
 
Serveur node red
Serveur node redServeur node red
Serveur node red
FerchichiYassine
 
20100221 my phingtool - blog
20100221   my phingtool - blog20100221   my phingtool - blog
20100221 my phingtool - blog
PHPPRO
 
Reporting avec JasperServer & iReport
Reporting avec JasperServer & iReportReporting avec JasperServer & iReport
Reporting avec JasperServer & iReport
Lilia Sfaxi
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sources
Thierry Gayet
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
Khalid ALLILI
 

Tendances (13)

A la découverte de redo
A la découverte de redoA la découverte de redo
A la découverte de redo
 
JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)JBoss clustering et tuning (lab 2/3)
JBoss clustering et tuning (lab 2/3)
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)JBoss clustering et tuning (lab 1/3)
JBoss clustering et tuning (lab 1/3)
 
JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)
 
Utilisation de dkms
Utilisation de dkmsUtilisation de dkms
Utilisation de dkms
 
Commande rapide linux
Commande rapide linuxCommande rapide linux
Commande rapide linux
 
Commandes usuelle linux
Commandes usuelle   linuxCommandes usuelle   linux
Commandes usuelle linux
 
Serveur node red
Serveur node redServeur node red
Serveur node red
 
20100221 my phingtool - blog
20100221   my phingtool - blog20100221   my phingtool - blog
20100221 my phingtool - blog
 
Reporting avec JasperServer & iReport
Reporting avec JasperServer & iReportReporting avec JasperServer & iReport
Reporting avec JasperServer & iReport
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sources
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 

En vedette

Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Microsoft
 
Hadoop live online training
Hadoop live online trainingHadoop live online training
Hadoop live online training
Harika583
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Microsoft
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Benoît de CHATEAUVIEUX
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
Joseph Glorieux
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Hatim CHAHDI
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
Khanh Maudoux
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
ALTIC Altic
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
Minyar Sassi Hidri
 
Intro To Hadoop
Intro To HadoopIntro To Hadoop
Intro To Hadoop
Bill Graham
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
Arrow Group
 
Tendances et nouveaux modèles du commerce en ligne
Tendances et nouveaux modèles du commerce en ligneTendances et nouveaux modèles du commerce en ligne
Tendances et nouveaux modèles du commerce en ligne
Frederic CAVAZZA
 
2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen
2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen
2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen
Galsungen
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
Varun Narang
 
Point de Vue Sopra Consulting sur le Big Data
Point de Vue Sopra Consulting sur le Big DataPoint de Vue Sopra Consulting sur le Big Data
Point de Vue Sopra Consulting sur le Big Data
Nicolas Peene
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
fredcons
 
Big data and Hadoop
Big data and HadoopBig data and Hadoop
Big data and Hadoop
Rahul Agarwal
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with Hadoop
Philippe Julio
 

En vedette (18)

Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
Avec Hadoop, Excel et… 1€, réalisez votre premier Mobile BigData Tracker en m...
 
Hadoop live online training
Hadoop live online trainingHadoop live online training
Hadoop live online training
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à HadoopCasablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Intro To Hadoop
Intro To HadoopIntro To Hadoop
Intro To Hadoop
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Tendances et nouveaux modèles du commerce en ligne
Tendances et nouveaux modèles du commerce en ligneTendances et nouveaux modèles du commerce en ligne
Tendances et nouveaux modèles du commerce en ligne
 
2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen
2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen
2014 Présentation pour la soutenance du probatoire "Big Data"de galsungen
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
 
Point de Vue Sopra Consulting sur le Big Data
Point de Vue Sopra Consulting sur le Big DataPoint de Vue Sopra Consulting sur le Big Data
Point de Vue Sopra Consulting sur le Big Data
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Big data and Hadoop
Big data and HadoopBig data and Hadoop
Big data and Hadoop
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with Hadoop
 

Similaire à Atelier hadoop-single-sign-on

Hady bah l3
Hady bah l3Hady bah l3
Hady bah l3
MamadouHadyBah
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5
Mame Cheikh Ibra Niang
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
Soumia Brabije
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
Christian Charreyre
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
Atsé François-Xavier KOBON
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
PriscilleGANKIA
 
Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzer
Mohamet Lamine DIOP
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
Nicolas Georgeault
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
Khalid ALLILI
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
Mohamed Ben Bouzid
 
Cloud rasberryfinal
Cloud rasberryfinal Cloud rasberryfinal
Cloud rasberryfinal
yacine sebihi
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Christophe Furmaniak
 
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Véronique Gambier
 
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Véronique Gambier
 
Panorama de l'offre de logiciels libres pour bibliothèque v2
Panorama de l'offre de logiciels libres pour bibliothèque v2Panorama de l'offre de logiciels libres pour bibliothèque v2
Panorama de l'offre de logiciels libres pour bibliothèque v2
Marc Maisonneuve
 
Mdl ocsinventory 20100330
Mdl ocsinventory 20100330Mdl ocsinventory 20100330
Mdl ocsinventory 20100330
robertpluss
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
Ines Ouaz
 

Similaire à Atelier hadoop-single-sign-on (20)

Hady bah l3
Hady bah l3Hady bah l3
Hady bah l3
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
 
Mysql
MysqlMysql
Mysql
 
Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzer
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Cloud rasberryfinal
Cloud rasberryfinal Cloud rasberryfinal
Cloud rasberryfinal
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
 
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
 
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
Panoramadeloffredelogicielslibrespourbibliothque 150123082251-conversion-gate...
 
Panorama de l'offre de logiciels libres pour bibliothèque v2
Panorama de l'offre de logiciels libres pour bibliothèque v2Panorama de l'offre de logiciels libres pour bibliothèque v2
Panorama de l'offre de logiciels libres pour bibliothèque v2
 
Mdl ocsinventory 20100330
Mdl ocsinventory 20100330Mdl ocsinventory 20100330
Mdl ocsinventory 20100330
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Architecture android
Architecture androidArchitecture android
Architecture android
 

Plus de sahar dridi

Supervision réseaux métro ethernet et cloudification
Supervision réseaux métro ethernet et cloudificationSupervision réseaux métro ethernet et cloudification
Supervision réseaux métro ethernet et cloudification
sahar dridi
 
Atelier configuration d une maquette voip
Atelier configuration d une maquette voip Atelier configuration d une maquette voip
Atelier configuration d une maquette voip
sahar dridi
 
Security alarm application droidcon tunisia challenge 2015
Security alarm application droidcon tunisia challenge 2015Security alarm application droidcon tunisia challenge 2015
Security alarm application droidcon tunisia challenge 2015
sahar dridi
 
présentation Faille include
présentation Faille include présentation Faille include
présentation Faille include
sahar dridi
 
Rapport dridi sahar_tunisie_telecom
Rapport dridi sahar_tunisie_telecomRapport dridi sahar_tunisie_telecom
Rapport dridi sahar_tunisie_telecom
sahar dridi
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_web
sahar dridi
 
Rapport de Projet professionnel personnel.pdf
Rapport de Projet professionnel personnel.pdfRapport de Projet professionnel personnel.pdf
Rapport de Projet professionnel personnel.pdf
sahar dridi
 

Plus de sahar dridi (7)

Supervision réseaux métro ethernet et cloudification
Supervision réseaux métro ethernet et cloudificationSupervision réseaux métro ethernet et cloudification
Supervision réseaux métro ethernet et cloudification
 
Atelier configuration d une maquette voip
Atelier configuration d une maquette voip Atelier configuration d une maquette voip
Atelier configuration d une maquette voip
 
Security alarm application droidcon tunisia challenge 2015
Security alarm application droidcon tunisia challenge 2015Security alarm application droidcon tunisia challenge 2015
Security alarm application droidcon tunisia challenge 2015
 
présentation Faille include
présentation Faille include présentation Faille include
présentation Faille include
 
Rapport dridi sahar_tunisie_telecom
Rapport dridi sahar_tunisie_telecomRapport dridi sahar_tunisie_telecom
Rapport dridi sahar_tunisie_telecom
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_web
 
Rapport de Projet professionnel personnel.pdf
Rapport de Projet professionnel personnel.pdfRapport de Projet professionnel personnel.pdf
Rapport de Projet professionnel personnel.pdf
 

Atelier hadoop-single-sign-on

  • 1. Hadoop Single-Sign-On HSSO BECHIR BEN TAIEB (RT3) WAFA KADER (RT3) SAHAR DRIDI (RT4) SECURIDAY 2015 BIG DATA SECURITY
  • 2. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 1 Table des matières I. Présentation de l'atelier............................................................................................... 2 II. Présentation des outils utilisés..................................................................................... 3 1. CentOS 6.6................................................................................................................. 3 2.LightHadoop................................................................................................................3 3.JDK.............................................................................................................................. 3 4.Shibboleth .................................................................................................................. 3 5.Tomcat 6..................................................................................................................... 4 6.HUE.............................................................................................................................4 III. 3. Topologie des réseaux................................................................................................... 6 IV. 4. Configuration des outils ............................................................................................... 7 V. 5. Un scénario de test .................................................................................................... 17 VI. 6. Conclusion .................................................................................................................. 19
  • 3. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 2 I. Présentation de l'atelier : Dans une époque de "Big Data" , les entreprises collectent , analysent et prennent des décisions basées sur un flux énorme de données , ce qui rend la sécurité de toute information de plus en plus importante . Mais aussi , sécuriser ne doit pas pour autant endurcir la tâche aux employés . En effet , devoir ,à chaque tâche , introduire son login et mot de passe devient pénible au fil du temps , surtout avec la possibilité d'oublier l'un d'eux ou bien les deux . La meilleure solution serait une seule authentification : le Single-Sign-On. Etant un framework dédié au traitement et l'analyse des données massives , on a procédé sur Hadoop pour faciliter la tâche aux utilisateurs au sein d'une entreprise et leur permettre d'accéder aux différents services suite à une seule saisie de leur login et mot de passe . Ainsi, plus besoin de se souvenir de multiples informations non nécessaires , mais plutôt on aura une meilleure concentration sur le travail .
  • 4. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 3 II. Présentation des outils utilisés : 1. CentOS 6.6 CentOS (Community enterprise Operating System) est une distribution GNU/Linux destinée aux serveurs. Utilisée par 20 % des serveurs web Linux, elle est l'une des distributions Linux les plus populaires pour les serveurs web. Elle est le clone gratuit de la distribution Red Hat dont le support est payant. Depuis novembre 2013, elle est la troisième distribution la plus utilisée sur les serveurs web. Dans le monde, les communautés de CentOS et de fedora sont très proches et CentOS rencontre de plus en plus de succès chez les professionnels Contrairement à Ubuntu ,CentOS ne dispose pas des dernières versions des logiciels qui font le succès de Linux auprès des utilisateurs . Cette distribution est particulièrement adaptée à l'exécution de logiciels tels que les bases de données MySQL ,PostgreSQL, le serveur web Apache et autres serveurs de messagerie tels que Postfix, les logiciels commerciaux Oracle et Domino . 2. LightHadoop LightHadoop est une machine virtuelle "légère" contenant tous les composants nécessaire pour faire fonctionner Hadoop. 3.JDK L'écriture des applets et des applications Java nécessite l'utilisation d'outils de développement tel que le kit JDK(Java Development Kit). Ce dernier comprend l'environnement JRE, le compilateur Java et les API Java. Il s'agit des outils nécessaires pour programmer en java , tester ses programmes . 4.Shibboleth Shibboleth est une implémentation open source, gratuite pour la gestion des identités, fournissant un mécanisme unique de sign-on sur le Web à travers différentes frontières organisationnelles. C’est un système fédéré, pour garantir l'accès aux ressources à travers les domaines de sécurité.
  • 5. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 4 Le principe de la fédération d’identités est de déléguer l’authentification web des utilisateurs à un service d’authentification dans l’organisme d’origine de l’utilisateur. Le protocole utilisé est SAML 2, utilisé également par d’autres solutions logicielles de ce type. 5.TOMCAT6 Apache Tomcat est un conteneur web libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un projet principal de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java CommunityProcess, et est paramétrable par des fichiers XML et de propriétés, ainsi qu'il inclut des outils pour la configuration et la gestion. C’est un serveur léger, gratuit, libre, multiplateforme et assez complet pour ce que nous allons aborder. Parmi ses concurrents, on trouve JBoss Application Server (ou WildFly) qui est un serveur d'applications Java EE Libre entièrement écrit en Java, publié sous licence GNU LGPL. 6. HUE Hue (Hadoop User Experience) offre une interface graphique Web pour les utilisateurs Hadoop pour simplifier le processus de création, le maintien et l'exécution de nombreux types d'emplois Hadoop. Hue est composé de plusieurs applications qui interagissent avec des composants Hadoop, et dispose d'un SDK ouvert pour permettre de nouvelles applications à créer. Applications incluses dans Hue :  FileBrowser: Graphical interface for browsing files stored in MapR-FS.  Beeswax: Beeswax - Create and execute Hive queries.  Impala App: Create and execute Impala queries.  Oozie App: Create, submit, and schedule Oozie workflows and bundles.  Pig App: Create and execute Pig scripts.  HBase Browser: Explore and modify HBase tables and data.
  • 6. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 5  Table Browser: Access Hive metadata.  Search App: Query Solr and Solr Cloud.  Job Browser: View and access MapReduce jobs.  Job Designer: Create and execute MapReduce jobs.
  • 7. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 6 III. Topologie des réseaux : Lors d'une tentative de connexion à Hue , celui-ci réagit comme un SP (Service Provider) avec un service consommateur d'assertion et communique avec l'IDP pour authentifier l'utilisateur. En effet , l'assertion sert à indiquer à l'IDP si le client est déjà authentifié. Hue fournit deux URLs pour la communication avec l'IDP /saml2/metadata /saml2/acs L'IDP contacte l'URL des métadonnées pour avoir des information sur le SP. L'URL ACS est le consommateur d'assertion de l'idP auquel sont redirigés les clients authentifiés . La communication entre le SP et L'IdP se fait avec l'aide du protocole de sécurité SAML. Le schéma suivant résume le déroulement de la communication.
  • 8. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 7 IV. Configuration des outils  Installation de oracle jdk : On configure les variables d'environnementJAVA_HOME et JRE_HOME pour qu'elles pointent vers le répertoire d'installation  Installation et configuration de apache tomcat On télécharge apache tomcat version 6 ou supérieur. On le décompresse dans /usr/local/src et on le renomme en tomcat6 # cd /usr/local/src # curl -L -O http://apache.tradebit.com/pub/tomcat/tomcat- 6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz # tar -xvzf apache-tomcat-6.0.32.tar.gz # mv apache-tomcat-6.0.32 tomcat6 On instancie ces variables d'environnement comme suit: # export CATALINA_HOME=/usr/local/src/tomcat6 # export CATALINA_BASE=/usr/local/src/tomcat6 Et on configure la mémoire de la JVM .Ceci dépend généralement de la mémoire du serveur On édite le fichier /usr/local/src/tomcat6/bin/catalina.sh en ajoutant, à la fin ,la variable JAVA_OPTS comme suit: Dans le fichier /usr/local/src/conf/server.xml, la valeur par défaut du paramètre autoDeploy est égale à vrai. Ceci indique que tomcat vérifie périodiquement de nouvelles mises à jour d'application. Si une mise à jour est trouvée, un redéploiement est exécuté. Or, ceci n'est pas préférable. On met alors autoDeploy à faux. On lance tomcat TOMCAT_HOME/bin/catalina.sh start Pour vérifier que tomcat fonctionne correctement , on teste le lien suivant dans le navigateur http://localhost:8080 On doit voir la page suivante:
  • 9. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 8 Ceci indique que le serveur tomcat a bien démarré.  Installation et configuration de Shibboleth On télécharge Shibboleth version 2.4 ou supérieure à partir du site officiel de Shibboleth # curl -O http://www.shibboleth.net/downloads/identity- provider/2.4.0/shibboleth-identityprovider-2.4.0-bin.zip On extrait shibboleth-identityprovider-2.4.0-bin.zip et changer les droits du script install.sh pour qu'il soit exécutable puis on copie le dossier endorsed/ situé dans shibboleth- identityprovider-2.4.0 dans le dossier /usr/local/src/tomcat6 et on configure la variable JAVA_ENDORSED_DIRS # unzip shibboleth-identityprovider-2.4.0-bin.zip # cd shibboleth-identityprovider-2.4.0 # chmodu+x install.sh # cp -r endorsed/ /usr/local/src/tomcat6 # export JAVA_ENDORSED_DIRS=/usr/local/src/tomcat6/endorsed On exécute l'installeur et on poursuit tout en conservant les paramètres par défaut # ./install.sh Un mot de passe pour le keystore vous sera demandé. Mettez un mot de passe et notez le . On instanciela variable d'environnement IDP_HOME comme suit: # export IDP_HOME=/opt/shibboleth-idp On passe ensuite à la modification du fichier .bash_profile en y ajoutant ces deux lignes : IDP_HOME=/opt/shibboleth-idp export IDP_HOME
  • 10. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 9 Pendant certaines opérations , l'IdP et le SP pourront communiquer ensemble au même moment d'envoi de message via le navigateur de l'utilisateur . Pour gérer ceci , l'IdP a besoin d'un autre port (qu'on appelle connecteur tomcat) différent decelui utilisé par l'utilisateur . Pour ce faire , il suffit de suivre ces étapes : Télécharger tomcat6-dta-ssl-1.0.0.jar dans /usr/local/src/tomcat6/lib/folder Ajouter la définition du connecteur ci-dessous dans le fichier /usr/local/src/conf/server.xml (Remarque : Dans keystorePass on met le mot de passe entré lors de l'installation de shibboleth-idp) Créer et modifier le fichier /usr/local/src/tomcat6/conf/Catalina/localhost/idp.xml # vi /usr/local/src/tomcat6/conf/Catalina/localhost/idp.xml On copie ces quelques lignes dans notre nouveau fichier idp.xml Maintenant, l'installation et la configuration basiques de l'IdP sont mises en place. Pour tester le fonctionnement de l'IdP il faut : Arrêter tomcat et le relancer après pour assurer le déploiement de l'IdP.war # /usr/local/src/tomcat6/bin/catalina.sh stop # /usr/local/src/tomcat6/bin/catalina.sh start Ensuite, tester l'url suivantehttp://hostname:8080/idp/profile/Status Si tout s'est bien passé , on obtient une page "ok"
  • 11. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 10 On passe alors à l'activation de SSL pour notre IdP : Il suffit d'exécuter ces commandes pour créer un nouveau dossier où enregistrer les certificats . Il vous sera demandé d'introduire un mot de passe . # mkdir /home/yourHomeDir/idpcerts/ # keytool -genkey -alias tomcat -keyalg RSA -keystore /home/yourHomeDir/idpcerts/idpself.keystore Vous devez aussi indiquer à Shibboleth l'emplacement du nouveau keystore en ajoutant un nouveau connecteur. On copie ces lignes dans le fichier /usr/local/src/tomcat6/conf/server.xml La variable keystoreFile correspond à l'emplacement où on a enregistré le nouveau keystore et la variable keystorePass aura le mot de passe . Pour tester, ouvrir ce lien :https://idp.example.org/idp/profile/Status Si la configuration est correcte , on obtient une page "ok"
  • 12. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 11 Dans /opt/shibboleth-idp/conf ,on configure le fichier attribute-filter.xml pour rendre l'UID disponible. Pour cela ,on insère ce qui suit sous "<!--Release the transient ID to anyone -->": On configure le fichier relaying-party.xml pour que Shibboleth communique avec hue: sous:"<!-- MetadataProvider the combining other MetadataProviders -->"  Installation et configuration de Apacheds On commence par télécharger la dernière version d'Apacheds (version binaire) depuis le site officiel , la rendre exécutable puis l'exécuter: # chmoda+x apacheds-2.0.0-M19-32bit.bin # ./apacheds-2.0.0-M19-32bit.bin On conserve avec les options par défaut Maintenant , on exécute ApacheDS : # /etc/init.d/apacheds-1.5.2 start On télécharge Apache Directory Studio qu'on décompresse dans /opt en changeant son nom. # tar –xvzf ApacheDirectoryStudio-linux-x86-1.5.3.v20100330.tar.gz # mv ApacheDirectoryStudio-linux-x86-1.5.3.v20100330 /opt/apachedirstudio On change de répertoire et on exécute l 'Apache Directory Studio en suivant ces commandes : # cd /opt/ apachedirstudio # ./ApacheDirectoryStudio
  • 13. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 12 Après , on crée une nouvelle connexion LDAP en utilisant le LDAP server. Dans notre cas , il s'agit de Apache Directory Studio. Pour ce faire , il faut : Aller sur File -> New -> LDAP Connection Dans la fenêtre qui s'ouvre , on introduit le nom de la connexion, dans le champ hostname , on introduit le nom d'hôte sur lequel Apache Directory Server est exécuté et dans le champ port : 10389 , et on clique Next Dans la fenêtred'authentification , sélectionner Simple authentification en tant que méthode d'authentification , dans le champ user , entrer uid=admin , ou=system, et dans le champ bindpassword le mot de passe (secret).
  • 14. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 13 Si la connexion est réussie , on doit voir le Directory Information Tree (DIT) dans le navigateur du LDAP Pour ajouter un nouveau utilisateur , un clic droit sur "ou=users" et on sélectionne New entry . Dans la fenêtre qui s'ouvre , aucun changement de paramètres n'est nécessaire . Cliquer sur Next
  • 15. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 14 Après avoir ajouté un mot de passe , on trouve une nouvelle entrée dans le navigateur uid=votreUid. On ajoute un nouveau attribut userPassword . Dans l'éditeur qui s'ouvre, on introduit un nouveau mot de passe et puis ok .Voila un nouveau utilisateur créé.
  • 16. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 15  Installation et configuration de Hue Tout d'abord, on ajoute le repository de hue pour pouvoir le télécharger sous /etc/yum.repos.d . On crée un fichier appelé cloudera et on y ajoute ce qu'y suit: [cloudera-cdh4] name=Cloudera's Distribution for Hadoop, Version 4 baseurl=http://archive.cloudera.com/cdh4/redhat/6/i386/cdh/4/ gpgkey = http://archive.cloudera.com/cdh4/redhat/6/i386/cdh/RPM-GPG-KEY- cloudera gpgcheck = 1 On installe maintenant Hue #yuminstall Hue Hue-server On installe les packagse suivants: #yum install swig #yum install open-ssl On installe pip pour pouvoir installer des libraires python #yuminstallpip On installe djangosaml2 et pysaml2 ; des librairies qui supportent SAML pip install pysaml2 pip install djangosaml2 On installe le package xmlsec1 #yuminstall xmlsec1 xmlsec1-openssl
  • 17. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 16 Remarque: xmlsec1 doit être exécutable par l'utilisateur de Hue On passe maintenant à la configuration de Hue. Le ficher de configuration est /etc/hue/conf/hue.ini Hue doit être configuré comme un SP et utilisé SAML Authentification Backend #nano /etc/hue/conf/hue.ini Sous [libsaml] on modifie les champs suivant: xmlsec_binary=/opt/bin/xmlsec1 (c'est le chemin de xmlsec1 ceci peut varier pour connaitre le chemin exacte on exécute la commande: which xmlsec1) metadata_file=/tmp/metadata.xml key_file=/tmp/key.pem cert_file=/tmp/cert.pem Les fichiers key_file et cert_file sont copiés à partir de /opt/shibboleth-idp/credentials et convertis au format .pem: #cp /opt/shibboleth-idp/credentials/idp.key /tmp/ #cp /opt/shibboleth-idp/credentials/idp.key /tmp/ #mv /tmp/idp.key /tmp/key.pem #mv /tmp/idp.crt /tmp/cert.pem Toujours dans hue.ini sous [[auth]] , on ajoute la ligne suivante : backend=libsaml.backend.SAML2Backend On relance maintenant hue #hue service hue restart
  • 18. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 17 V. Scénario de test : Dans le navigateur ,on accède à hue avec le lien suivant localhost:8888 . On est redirigé automatiquement à Shibboleth pour l'authentification: On entre notre login et mot de passe qui appartiennent à ApacheDirectory. Si l'authentification est réussie ,on est ramené à hue. La redirection est visible sur la barre de lien du navigateur
  • 19. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 18 On accède à Hue Si l'authentification échoue, on est appelé à ressaisir le login et mot de passe:
  • 20. Hadoop Single-Sign-On HSSO SECURIDAY 2015BIG DATA SECURITY 19 VI. Conclusion Dans ce tutoriel, il s'agit de mettre en place une maquette de faisabilité de Shibboleth, et expliquer les grands principes. Chaque fois qu'un nouvel utilisateur se connecte à une application, celle-ci le redirige vers le fédérateur d’identité, qui lui présente un formulaire d'authentification s'il ne le reconnaît pas, puis dans tous les cas une fois l'utilisateur connu, redirige celui-ci vers l'application, muni d'un ticket de service. À son tour, l'application se connecte sur le serveur CAS et lui communique le ticket de service de l'utilisateur. Le fédérateur Shibboleth renvoie alors à son tour à l'application l'identifiant unique de l'utilisateur qui est désormais authentifié. C'est ce mécanisme qui fonde le SSO Shibboleth, et qui permet une authentification unique quel que soit le nombre d'applications visitées. De plus, on a intégré le framework Hadoop dans ce système afin de garantir la sécurité des applications dédiées au Big Data. Donc , le SSO est une source de confort et de gain de temps pour l'utilisateur comme pour l'administrateur, ce qu’il a fait de lui une des priorités des entreprises françaises (d’après une étude de Pierre Audoin Consultants). Même les grands noms de l'informatique s'y sont mis:  Google: avec un compte Gmail, on peut avoir accès aux mails, à un compte YouTube avec la même adresse mail.  Facebook: le compte Facebook est valable aussi pour Instagram. Par ailleurs, comme toute technologie, le SSO présente un nombre important de limites. Tout d'abord, la compatibilité avec toutes les applications est loin d'être garantie. On a besoin de développer, pour les applications non supportées, une interface permettant au SSO d'authentifier automatiquement l'utilisateur, ce qui représente un travail qui n'est pas des moindres. Aussi l'intégration complète est difficile dans le SI. Les inconvénients de la mise en place d´une telle solution sont avant tout les inconvénients d´une mise en conformité du SI de l´entreprise . Il y'a aussi la contrainte coût et lourdeur. L´affiliation d´une application à un système de SSO à un coût non négligeable, en termes de budget mais également au niveau des accès serveur. Pour finir, le SSO peut également nuire à la sécurité. Il donne accès à une multitude de ressources une fois l'utilisateur authentifié. C'est pour cette raison qu’il est préférable de coupler les solutions de SSO, avec un système d'authentification forte. Un autre risque est également que si le serveur d´authentification tombe, l´application de SSO tombe. Il est donc préférable de mettre en place un serveur de secours.