Authentification hybride

31
Authentification hybride SALAH KHMIRI (RT3) AMAMOU NESRINE (RT3) JOUA RIADH (GL4) BOUTARAA AMIRA (RT3) SAMALI HADHEMI (RT3)

Transcript of Authentification hybride

Page 1: Authentification hybride

Authentification hybride

SALAH KHMIRI (RT3)

AMAMOU NESRINE (RT3)

JOUA RIADH (GL4)

BOUTARAA AMIRA (RT3)

SAMALI HADHEMI (RT3)

Page 2: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

1

Table des matières 1. Presentation de l’atelier ........................................................... Erreur ! Signet non défini.

a. l’authentification .................................................................. Erreur ! Signet non défini.

b. c’est quoi un portail captif .................................................... Erreur ! Signet non défini.

2. Presentation des outils ...................................................................................................... 2

a. pfsense .......................................................................................................................... 2

b. Freeradius ...................................................................................................................... 3

c. LDAP .............................................................................................................................. 4

d. Wikid .............................................................................................................................. 5

3. Topologie du reseau .......................................................................................................... 6

4. Configuration des outils .................................................................................................... 6

5. Un scénario de test (la partie la plus importante) .................. Erreur ! Signet non défini.6

6. Conclusion ............................................................................... Erreur ! Signet non défini.8

Page 3: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

2

I. Présentation de l’atelier :

L’atelier Hybrid Authentification représente un type d’authentification double (two-

way authentification) qui se base sur un portail captif et un serveur d’authentification.

Authentification avec un login et un mot de passe en premier lieu et avec un SMS, un mail

ou un jeton/token en deuxième lieu pour valider l'authenticité de l'entité en question.

L'authentification ?

L'authentification est la procédure qui consiste, pour un système informatique, à vérifier

l'identité d'une personne ou d'un ordinateur afin d'autoriser l'accès de cette entité à

des ressources (systèmes, réseaux, applications…).

Il existe plusieurs manières pour s’authentifier entre autres:

Authentification par un mot de passe : Il s'agit de la méthode la plus simple et la plus répandue. Elle souffre principalement du risque d'écoute (et donc d'interception des mots de passe) des réseaux coopératifs. Avantage : Pas de risque de piratage par emplacement de machine. Inconvénient : Le mot de passe circule en clair sur le réseau.

Authentification par un contrôle de l'adresse de l'expéditeur

Cette méthode a l'avantage de permettre la connexion distante sans mot de passe, en se basant simplement sur deux hypothèses: premièrement les deux machines ne sont pas publiques, et il est impossible de produire de fausses adresses. Avantage : Le mot de passe ne circule pas. Inconvénient : Plusieurs méthodes connues de piratage (sequence number guessing, DNS reverse attack).

Il existe d’autres manières pour s’authentifier : Avec carte, empreinte digital, ou

encore la reconnaissance par la disposition de vos veines dans votre main ou l’image

de votre rétine.

Dans cet atelier on va combiner l’authentification avec un Login/mot de passe et par

contrôle de l'adresse de l'expéditeur afin d’augmenter le niveau de sécurité de l’accès aux

informations.

Page 4: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

3

C’est quoi un portail captif ?

La technique des portails captifs consiste à forcer les clients HTTP d'un réseau de

consultation à afficher une page web spéciale avant d'accéder à Internet normalement.

Cela est obtenu en interceptant tous les paquets quelles que soient leurs destinations

jusqu'à ce que l'utilisateur ouvre son navigateur web et essaie d'accéder à Internet. Le

navigateur est alors redirigé vers une page web qui peut demander une authentification

et/ou un paiement ou tout simplement demander. Cette technique est souvent employée

pour les accès Wi-Fi et peut aussi être utilisée pour l'accès à des réseaux filaires (ex. hôtels,

campus etc.).

Les différentes solutions :

Pfsense, distribution BSD incluant une fonction de portail captif. Licence BSD

ALCASAR, solution libre architecturée autour de la distribution Linux Mageia et de

plusieurs logiciels libres (Coovachilli, FreeRADIUS, MariaDB, Dnsmasq, Apache, etc.) -

Licence GPLv3

ChilliSpot, portail captif open-source dont le développement est arrêté (dernière

version (1.1.0) sortie le 24/10/2006) - Licence (GNU GPL)

Coovachilli, portail captif open-source (fork de ChilliSpot). Licence GNU GPL

PepperSpot portail captif open-source (fork de ChilliSpot). Licence GPLv2

Talweg, portail captif open-source basé sur la bibliothèque netfilter, avec de

nombreux modules d'authentification.

Zeroshell, distribution Linux incluant une fonction de portail captif

Pour cet atelier on a choisi la solution: Pfsense. Nous reviendrons plus tard pour

présenter cet outil.

II. Présentation des outils utilisés:

Page 5: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

4

Pfsense :

PfSense est un pare-feu/routeur open-source basé sur FreeBSD et distribué sous licence

BSD. Il peut être installé sur un simple ordinateur personnel comme sur un serveur. PfSense

s'administre entièrement depuis une interface web moderne et facile à utiliser donnant

accès à l'intégralité des fonctionnalités. On peut ainsi établir des tables de routage, des

règles pour le pare-feu, faire des VLAN, activer un service DHCP, et bien d'autres.

Fonctionnalités

Support des VLAN taggés

Routage IPv4 et (depuis la version 2.1) IPv6, NAT

Filtrage du trafic entrant et sortant pour tout type de trafic (ICMP, UDP, TCP…)

Limitation des connexions pour un pair

Log du trafic avec génération de graphiques

Log sur serveur syslog externe

Load Balancing, Failover

Agrégation de ports, IP virtuelles

Proxy transparent

Serveur ou client PPPoE

VPN (client ou serveur) IPsec, PPTP, OpenVPN

DNS Dynamique

Portail captif

Contrôle d'accès par adresses MAC ou authentification RADIUS

Serveur ou relay DHCP / DNS

Nouveautés

PfSense 2.1 est basé sur FreeBSD 8.3 qui apporte de nombreux correctifs de

sécurité.

Support de l'IPv6. Il est capable de router, filtrer (règles de pare-feu), établir un

tunnel, fournir des services de découverte (Router Advertisement).

L'interface Web fonctionne désormais avec JQuery.

Support des packages PBI. Ils permettent d'installer des plugins ou logiciels

additionnels de manière simple sans se soucier des dépendances.

FreeRADIUS :

Page 6: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

5

RADIUS (Remote Authentication Dial-In User Service) est un protocole d'authentification standard, basé sur un système client/serveur chargé de définir les accès d'utilisateurs distants à un réseau.

FreeRADIUS est un serveur RADIUS libre. C’est l’un des serveurs RADIUS les plus rapides,

modulaires et riches en fonctionnalités disponibles aujourd'hui. FreeRADIUS est, entre

autres, utilisé par des fournisseurs d’accès à l’internet pour authentifier leurs clients et leur

communiquer une configuration IP. Il est considéré comme le serveur le plus utilisé dans le

monde.

LDAP :

LDAP (LightWeight Directory Access Protocol) est à l'origine un protocole permettant de

gérer des annuaires, c'est-à-dire d'accéder à des bases d'informations sur les utilisateurs

d'un réseau par l'intermédiaire de protocoles TCP/IP. Il a cependant évolué pour représenter

une norme pour les systèmes d'annuaires, incluant un modèle de données, un modèle de

nommage, un modèle fonctionnel basé sur le protocole LDAP, un modèle de sécurité et un

modèle de réplication.

Il en est actuellement à la version 3 dans laquelle il propose des mécanismes de chiffrement

(SSL, ...) et d'authentification (SASL) permettant de sécuriser l'accès aux informations

stockées dans la base.

JXplorer :

Page 7: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

6

C’est un client qui permet de gérer les annuaires LDAP. JXplorer est écrit en Java. Il est très

flexible et peut être étendu et adapté dans un certain nombre de façons.

JX est disponible en deux versions; la version gratuite open source sous licence de style OSI Apache 2, ou dans le JXWorkBench ensemble des entreprises avec des outils de construction dans les rapports, administratives et de sécurité.

Wikid :

L’authentification forte est un processus comporatnt au moins deux facteurs

d’authentification pour vérifier l’identité d’une entité essayant d’accéder à des services dans

un ordinateur ou dans un réseau.

Les différents facteurs d'authentification:

Ce que l'entité connaît : un mot de passe, un code NIP, une phrase secrète, etc

Ce que l'entité détient : une carte magnétique, une clé USB, une carte à puce, un

smartphone, etc. => c’est un élément physique appelé authentifieur ou Token.

Ce que l'entité est: empreinte digitale, empreinte rétinienne, structure de la main,

structure osseuse du visage, etc.

Ce que l'entité sait faire ou fait: signature manuscrite, reconnaissance de la voix, un type

de calcul connu de lui seul, un comportement, etc.

Dans la majorité des cas, l'entité est une personne physique - individu - personne morale,

mais elle peut être un objet comme, par exemple, une application web utilisant le

protocole SSL, un serveur SSH, un objet de luxe, une marchandise, un animal, etc.

WiKID est un système d'authentification forte qui utilise un fort encryptage

asymétrique pour fournir en toute sécurité des codes d'accès uniques aux jetons/tokens

logiciels fonctionnant sur PC ou Smartphones. Les clés publiques / privées sont générées sur

vos appareils (on ne peut ni les voir ni les stocker). Les utilisateurs peuvent avoir plus d'un

jeton sur la même licence et chaque jeton peut travailler avec plusieurs serveurs ou

domaines wikid.

Wikid réduit considérablement les vols d'identité en ligne, les expéditions de phishing et

autres fraudes en ligne.

Avantages :

Facile à utiliser

Page 8: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

7

Beaucoup moins cher que d'autres solutions

Prend en charge tous les principaux protocoles d'authentification réseaux et Google

Apps SSO.

Les utilisateurs peuvent s'inscrire eux-mêmes : réduction de la charge de travail.

WiKID est conçu pour le cloud computing et la multi-tenancy.

III. Topologie du réseau :

IV. Configuration des outils:

1. Installation et configuration de Pfsense :

Télécharger l’image ISO de Pfsense sur: https://www.pfsense.org/download/index.html

La dernière version est 2.1.2.

Il existe deux version 64bits et 32bits, Pour notre atelier on va travailler avec la version 32

bits.

On lance VMware et on crée une nouvelle machine virtuelle qu’on nomme Pfsense.

Page 9: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

8

La figure suivante présente les paramètres de la machine.

Un réseau ponté ou Bridged : la machine hôte étant reliée à un réseau Ethernet

(LAN), la configuration en réseau ponté permet à la machine virtuelle d'accéder

directement au LAN, donc elle est considérée comme une nouvelle machine

avec sa propre adresse IP.

Un réseau NAT : la machine virtuelle a accès au LAN à travers la machine hôte. Il

traduit les adresses des machines virtuelles appartenant à un réseau privé en

adresses de la machine hôte. Donc la machine virtuelle envoie ses requêtes sur

le LAN en utilisant l’adresse IP de la machine hôte.

Page 10: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

9

Après avoir lancé la machine, un menu s’affiche donc on choisit la première option

(l’option par défaut) pour Installer Pfsense.

Puis on appuie sur la touche i pour démarrer l’installation.

Après avoir choisi l’option "Accept these Settings", l’installation commence.

Page 11: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

10

Une fois l’installation terminée, on redémarre la machine en choisissant l’option "Reboot".

Page 12: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

11

On choisit de configurer les Vlans plus tard.

Pour les interfaces, on donne em0 comme nom pour l’interface WAN et em1 pour l’interface

LAN.

On accepte pour continuer.

Un menu s’affiche, pour assigner des adresses IP à nos interfaces on choisit l’option 2.

On commence par configurer l’interface LAN:

Page 13: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

12

-On associe à cette interface l’adresse IP suivante 192.168.91.15.

-24 bits pour le masque.

-192.168.91.1 pour la passerelle/Gateway.

Remarque :

On a choisi l’adresse IP de l’interface LAN comme ci-dessus pour que Pfsense soit dans le

même sous réseau que notre machine physique.

Sur la machine physique on lance la commande ipconfig dans l’invite de commande pour

obtenir l’adresse de Gateway.

Ensuite, on revient à Pfsense et on active le DHCP server pour le LAN puis on choisit la

plage d’adresses :

Voici le menu avec les 2 interfaces LAN, WAN et leurs adresses IP.

Page 14: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

13

On désire maintenant procéder à la configuration de Pfsense via son interface graphique.

Configuration de Pfsense :

Par défaut, le username est «admin», le password est «pfsense».

On choisit General Setup sous l’onglet sous system et on la paramètre comme suit :

Page 15: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

14

Ensuite, Advanced sous System :

Page 16: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

15

Ensuite, l’assignation des interfaces sous l’onglet Interfaces (LAN et WAN).

Maintenant, c’est le moment pour configurer notre portail captif. Tout est détaillé dans la

page « Captive portal » sous l’onglet Services :

Page 17: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

16

Ensuite vient la méthode d'authentification. 3 possibilités s'offrent à nous :

Sans authentification, les clients sont libres

Via un fichier local

Via un serveur RADIUS

Pour des raisons de sécurités, nous avons mis en place un serveur RADIUS. Pour plus de

détail sur l'installation de Radius, reportez-vous à la partie consacrée à la sécurisation du

portail.

Page 18: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

17

Choix du protocole d’authentification

RADIUS (Remote Authentification Dial-In User Service) est un protocole client-serveur

permettant de centraliser des données d'authentification. C’est le standard utilisé

aujourd’hui car très malléable et très sécurisé.

Ensuite, vient la configuration de Radius, le serveur d’authentification (voir sa configuration

dans la partie consacrée).

Dès la connexion au réseau dans lequel on a mis en place un portail captif, cette page

d’authentification s’affichera :

Si le login est bon, il pourra alors surfer sur Internet !

Page 19: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

18

2. Installation de FreeRadius :

Dans notre machine Ubuntu, on ouvre le terminal et on passe au mode root avec la

commande " sudo -s ":

Puis on exécute la commande suivante afin d’installer freeRadius en compatibilité avec

LDAP :

3. Installation de LDAP :

Avant tout, on doit installer le démon du serveur LDAP (slapd) sur le serveur. Pour cela, il

suffit d'installer les paquets slapd et ldap-utils (c’est un paquet contenant des utilitaires de

gestion de LDAP) avec la commande suivante :

La fenêtre suivante s’affiche :

On choisit un mot de passe administrateur puis on clique sur <OK>

Page 20: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

19

Confirmation du mot de passe :

Configuration de freeRadius et de LDAP :

On lance les commandes suivantes pour modifier le fichier de configuration

clients.conf :

Puis, on cherche les lignes suivantes dans le fichier:

Page 21: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

20

Et on les modifie comme suit : - on décommente toutes les lignes de cette partie du fichier c’est à dire on

enlève les # - on remplace shortname par le nom de l’utilisateur

Ensuite on lance la commande suivante pour reconfigurer le serveur LDAP

Les fenêtres suivantes s’affichent :

On choisit l’option <NO> pour configurer l’OpenLDAP :

Choisir le nom de domaine :

Page 22: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

21

Choisir le nom de votre société :

Saisir le mot de passe administrateur :

Page 23: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

22

Confirmer le mot de passe :

Page 24: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

23

Choisir la base de données :

On choisit l’option <No> pour que la base de données ne soit pas effacée lorsque le slapd est

purgé :

Page 25: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

24

On choisit l’option <Yes> pour effacer les anciennes bases de données :

On choisit l’option <No> pour ne pas autoriser le protocole LDAPv2 :

Page 26: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

25

Configuration terminée

Maintenant on va effectuer quelques changements sur les fichiers de configuration :

On exécute les commandes suivantes pour modifier le fichier ldap :

On cherche la partie suivante du fichier :

Et on la modifie comme suit: - On décommente les dernières 4 lignes de cette partie du fichier - On remplace le champs server par l’adresse IP du ldap - On remplace le champs identity par l’utilisateur du ldap - On remplace le champs password par le mot de passe de l’utilisateur du ldap - On remplace le champs basedn par l’emplacement des utilisateurs du ldap

On exécute la commande suivante pour modifier le fichier default :

Dans ce fichier default, dans la partie authorize{ on voit bien que le mot "files" est

décommenté, ce qui veut dire que freeRadius autorise l'utilisation d'un fichier pour

authentifier les utilisateurs. Or dans cet atelier, on veut utiliser le LDAP donc on doit

Page 27: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

26

mettre le mot "files" en commentaire et chercher dans cette même partie le mot "ldap" et

le décommenter.

On ajoute un # devant files

On enlève le # devant ldap pour autoriser l’utilisation du LDAP

De même dans la partie authenticate{ on cherche les 3 lignes suivantes et on les

décommente en enlevant les # :

On exécute la commande suivante pour modifier le fichier inner-tunnel :

Et on réalise les mêmes modifications faites au fichier default

Astuce: tu peux utiliser CTRL+F pour trouver ces lignes. Maintenant on a la bonne configuration pour utiliser ldap avec freeradius.

4. Installation de JXplorer :

Dans notre machine Ubuntu, on ouvre le terminal et on passe au mode root avec la

commande " sudo -s " afin d’installer JXplorer avec la commande suivante :

Page 28: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

27

5. Installation de Wikid

V. Scénario de test :

Si un ouvre le navigateur et on essaie de se connecter à un site voici la page qui

apparait :

Page 29: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

28

Page 30: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

29

Pour se déconnecter :

Pour connaitre les utilisateurs connectés

Page 31: Authentification hybride

Authentification hybride |SECURIDAY 2014 ACCESS CONTROL

30

VI. Conclusion :

Pour la plupart des gens, le principal inconvénient de la double authentification est la

multiplication des gestes et la perte de temps qu’elle induit. Pourtant, entrer un code de

vérification prend quelques secondes , mais vous protègera énormément surtout que les

mots de passe ne suffisent plus pour nous protéger des cyber-criminels.