Vous êtes sur la page 1sur 37
Master 2 Réseaux et Systèmes informatiques Sécurité Réseaux Installation et configuration de ZeroShell Présenté
Master 2 Réseaux et Systèmes informatiques Sécurité Réseaux Installation et configuration de ZeroShell Présenté
Master 2 Réseaux et Systèmes informatiques Sécurité Réseaux
Master 2 Réseaux et Systèmes informatiques
Sécurité Réseaux
Installation et configuration de ZeroShell
Installation et configuration de ZeroShell
Présenté par: Mor Niang
Présenté par:
Mor Niang
Prof.: Ahmed Youssef
Prof.:
Ahmed Youssef
PLAN
PLAN
1. Présentation
1. Présentation
2. Fonctionnalités
2.
Fonctionnalités
3. Architecture réseau
3. Architecture réseau
4. Installation
4. Installation
5. Configuration
5. Configuration
1. Présentation
1. Présentation
ZeroShell est une distribution Linux créée dans le but d'être très complète conçue pour fournir
ZeroShell est une distribution Linux créée dans le but d'être très complète conçue
pour fournir des services réseaux sécurisés dans un réseau local . Elle a été
développée par Fulvio Ricciardi pour être totalement administrable via une
interface web. Fournie sous forme de Live CD, elle s'initialise en insérant le CD
dans la machine cible et en la redémarrant . La connexion à l’interface
d’administration se fait via un navigateur web pour ensuite configurer les services
réseaux .
à l’interface d’administration se fait via un navigateur web pour ensuite configurer les services réseaux .
2. Fonctionnalités
2. Fonctionnalités
Les principales fonctionnalités de ZeroShell sont les suivantes:
Les principales fonctionnalités de ZeroShell sont les suivantes:
 Administration web (sécurisée );  Routeur avec routes statiques et dynamiques;  NAT pour
 Administration web (sécurisée );
 Routeur avec routes statiques et dynamiques;
 NAT pour utiliser le réseau local de classe privée adresses cachées sur le WAN avec
des adresses publiques;
 Serveur DHCP pour assigner automatiquement des adresses IP aux postes clients
qui le demandent ;
 Serveur DNS pour définir sa propre zone et les enregistrements associés;
 Serveur et le client NTP (Network Time Protocol) pour maintenir l'accueil des
horloges synchronisées ;
 Client DNS dynamique utilisé pour rejoindre facilement même lorsque l'IP WAN est
dynamique . Une gestion dynamique des enregistrements MX DNS pour acheminer des
e- mails sur le serveur mail SMTP avec IP variable;
 Authentification Kerberos 5 en utilisant un KDC intégrée et l'authentification entre
domaines;
 VPN LAN- to - LAN, pour interconnecter deux réseaux locaux via Internet en encapsulant
 VPN LAN- to - LAN, pour interconnecter deux réseaux locaux via Internet en
encapsulant les trames Ethernet ;
 VPN Host - to - LAN, pour permettre à des postes clients de se connecter au réseau
local via internet ;
 Serveur proxy avec fonction de proxy transparent, intégrant un anti - virus;
 Serveur RADIUS pour l'authentification et la gestion automatique des clés de
chiffrement pour réseaux sans fil supportant de nombreux protocoles;
 Firewall avec des filtres applicables dans les deux routage et de pontage sur tous
les types d'interfaces, y compris VPN et VLAN ; et de classification QoS du trafic de
type partage de fichiers Peer- To - Peer (P2P);
 Captive Portal pour soutenir la connexion Internet sur ​​les réseaux câblés et sans fil .
ZeroShell agit comme une passerelle pour le réseau sur lequel le portail captif est
actif et sur ​​lequel les adresses IP (généralement appartenant à des particuliers) sont
alloués dynamiquement par DHCP. Un client qui accède à ce réseau privé doit
s'authentifier à l'aide d'un navigateur Web en utilisant Kerberos 5 avec un nom
d'utilisateur et mot de passe que avant le pare- feu ZeroShell lui permet d'accéder au
réseau public.
 l'intégration entre Unix et Windows Active Directory sur un seul système
d'authentification et d'autorisation en utilisant LDAP et Kerberos 5.
2.1. LDAP et NIS
2.1. LDAP et NIS

LDAP: Lightweight Directory Access Protocol NIS: Network Information Service

Zeroshell utilise LDAP pour mémoriser les données relatives aux zones de serveur DNS,

les attributs pour le serveur RADIUS et les autorisations pour les utilisateurs et les hôtes.

Zeroshell répond également aux demandes des clients NIS garantissant ainsi un soutien pour les demandes d'autorisation pour les anciens hôtes qui n'ont pas de LDAP.

Son but est de distribuer les informations contenues dans des fichiers de configuration contenant par exemple les noms d'hôte, les comptes utilisateurs sur un réseau. Un serveur NIS stocke et distribue donc les informations administratives du réseau, qui se comporte ainsi comme un ensemble cohérent de comptes utilisateurs, groupes, machines. NIS comporte un serveur, une bibliothèque d'accès client et des commandes

d'administration. Cependant NIS est inadapté pour les grandes organisations qui, en

raison de leur nature peuvent être organisés de façon hiérarchique.

2.2. Authentification Kerberos
2.2. Authentification Kerberos

Un des principaux problème dans un réseau local est celui de l’authentification avec

certitude, les usagers qui souhaitent accéder aux services offerts: local et à distance des

sessions de connexion sur les hôtes Unix ou postes de travail Windows, l'accès aux serveurs IMAP ou POP3 pour vérifier e-mail , ne sont que quelques exemples où l'utilisateur doit être authentifié avant d'obtenir l'accès. D'autre part, même les serveurs offrant de tels services doivent prouver leur identité aux utilisateurs: en effet, il serait

fâcheux si un faux serveur, est entré dans un réseau local par un intrus.

Pour résoudre ces problèmes, Zeroshell utilise le protocole Kerberos 5 authentification mutuelle. Il s'agit d'un protocole robuste et de plus en plus répandue, qui, grâce à

l'utilisation des billets (ticket) et authentificateurs, est en mesure de fournir à l'utilisateur

un accès authentifié aux services et à garantir l'authenticité de la même.

Un autre avantage de l'utilisation de Kerberos 5 est le Single Sign-On (SSO): l'utilisateur saisit les informations d'identification (nom d'utilisateur et mot de passe) une seule fois par session de travail en obtenant un ticket qui lui permet d'accéder aux différents services d'une manière transparente et sans avoir à se ré-authentifier.

2.3. VPN
2.3. VPN

VPN: Virtual Private Network

VPN est une extension des réseaux locaux et préserve la sécurité logique que l'on peut

avoir à l'intérieur d'un réseau local. Il correspond en fait à une interconnexion de réseaux

locaux via une technique de « tunnel ».

ZeroShell nous offre un certain nombre de ce type de réseau:

- Host-to-LAN: La mobilité croissante des utilisateurs d'une organisation ainsi que la nécessité de ces utilisateurs d'accéder à leur réseau local comme s'ils étaient physiquement connectés, même si loin de leurs bureaux, a conduit au développement du

VPN. En faisant cela, le client de l'emplacement distant apparaît à l'intérieur du pare-feu

et peut ainsi dialoguer avec les machines du réseau local sans courir le risque d'être

filtrés. - LAN-to-LAN: La présence de succursales au sein d'une organisation, combinés avec le coût élevé des lignes de communication spécialisées a conduit à la nécessité d'utiliser Internet comme un moyen d'échange de données. Ce type de réseau est un tunnel crypté

qui relie deux réseaux locaux (géographiquement séparées) par l'Internet. les deux réseaux locaux apparaissent séparés par un seul segment de réseau.

2.4. Firewall
2.4. Firewall

Zeroshell, en utilisant le Netfilter et Iptables Linux, peut être configuré pour agir comme un

pare-feu protégeant le réseau local contre les attaques et les scans de ports. Zeroshell peut

fonctionner à la fois comme un filtre de paquets, à savoir le filtrage basé sur les conditions (règles) situé sur les en-têtes de paquets, et en tant que Stateful Packet Inspection (SPI), à savoir le filtrage des paquets en fonction de leur corrélation avec les connexions déjà ouvertes ou d'autres paquets déjà transités.

Exemples de critères de filtre de paquets:

Source IP: représente l'adresse IP source du paquet;

Destination IP: représente l'adresse IP de destination du paquet;

Source MAC: indique l'adresse MAC source du paquet.

Exemples de critères Stateful Packet Inspection:

NEW: il s'agit d'un paquet appartenant à une nouvelle connexion dans la couche 4;

ESTABLISHED: il s'agit d'un paquet appartenant à une connexion déjà établie;

RELATED: c'est un paquet corrélé à une connexion déjà établie;

INVALID: il s'agit d'un paquet mal formé.

3. Architecture réseau
3. Architecture réseau
3. Architecture réseau
4. Installation
4. Installation

Pré-requis:

- Une machine (serveur ZeroShell) avec au moins deux (2) cartes réseau;

- Un CD d’installation de ZeroShell

- Une connexion Internet (pour tester toutes les fonctionnalités)

- Un réseau local

On télécharge d’abord le fichier d’installation, qui est un fichier compressé de type .iso à

l’adresse suivante : http://www.zeroshell.net/eng/download/. Dans notre cas, nous a pris la version ZeroShell-1.0.beta16.iso (la dernière en ce jour). Ensuite, on crée un CD Bootable, c’est-à-dire un CD de démarrage. Enfin, on insère le CD pour lancer l’installation qui sera de façon automatique.

À la fin du lancement, nous aurons un écran comme suit:

N: pour afficher les interfaces réseau P: pour changer le mot de passe de l’administrateur

N: pour afficher les interfaces réseau

P: pour changer le mot de passe de l’administrateur

T: pour afficher la table de routage F: pour afficher les règles du pare-feu

I: pour gérer les adresses IP

I: pour gérer les adresses IP ETH0: cette interface a l’adresse 192.168.0.75 obtenue de façon automatique

ETH0: cette interface a l’adresse 192.168.0.75 obtenue de façon automatique lors de l’installation de ZeroShell. On peut toute fois la modifier. ETH1: cette interface n’a pas encore d’adresse. Cependant, on lui en attribuera une en interface graphique.

5. Configuration
5. Configuration

Pour la configuration des différents services, sur un poste client, nous utiliserons un

navigateur web (Internet Explorer, Mozilla Firefox, Safari…) pour accéder à l’interface graphique avec l’adresse https://. 192.68.0.75

à l’interface graphique avec l’adresse https:// . 192.68.0.75 Par défaut: Username: admin Password: zeroshell

Par défaut:

Username: admin Password: zeroshell

5.1. Création d’une partition pour stocker notre configuration
5.1. Création d’une partition pour
stocker notre configuration

Il est très important d’enregistrer nos fichiers de configuration dans une partition de notre disque dur. Pour se faire, nous allons créer une nouvelle partition.

de configuration dans une partition de notre disque dur. Pour se faire, nous allons créer une

1

on clique sur Setup pour accéder au menu.

2 on clique sur Profiles pour voir les différents profils (s’il en existe).

3 on choisit le disque dur sur lequel on veut créer la partition.

4 on clique sur New partition pour créer une nouvelle partition. Une nouvelle fenêtre apparaitra dans laquelle nous indiquerons les informations de la partition.

laquelle nous indiquerons les informations de la partition. 5 on spécifie la taille de la partition

5 on spécifie la taille de la partition ou utiliser le disque en entier (option par défaut)

6 on choisit le type de système de fichier (ext3 dans notre cas)

7 on renseigne le nom de la partition et on clique sur Create Partition.

Une fois notre partition créée, nous allons ajouter un profil à cette dernière.

créée, nous allons ajouter un profil à cette dernière. 8 on choisit notre partition nouvellement créée.

8 on choisit notre partition nouvellement créée. 9 on clique sur Create Profile. Une nouvelle fenêtre apparaitra, comme suit:

10 on renseigne les différentes informations relatives à notre profil 11 on clique sur Create.

10 on renseigne les différentes informations relatives à notre profil 11 on clique sur Create.

relatives à notre profil 11 on clique sur Create. 12 On choisit notre nouveau profil 13

12 On choisit notre nouveau profil 13 on clique sur Activate pour l’activer. Ceci va redémarrer le système ZeroShell.

5.2. Configuration réseau
5.2. Configuration réseau

Après avoir créé notre partition et notre profil, nous allons configurer les adresses IP de notre réseau.

nous allons configurer les adresses IP de notre réseau. 1 on clique sur Network pour afficher

1 on clique sur Network pour afficher nos interfaces réseau.

ETH00 est l’interface de notre réseau local avec une adresse par défaut 192.168.0.75. 2 on choisit l’interface ETH01 pour lui attribuer une adresse IP, 192.168.1.5 3 on clique sur Add IP. Une nouvelle fenêtre apparaitra.

4 on entre l’adresse et le masque de sous réseau. 5 on clique sur OK

4 on entre l’adresse et le masque de sous réseau.

5 on clique sur OK pour valider.

Nous allons ensuite ajouter une passerelle par défaut (Default Gateway), 192.168.1.154

une passerelle par défaut (Default Gateway), 192.168.1.154 6 on clique sur GATEWAY pour ajouter la passerelle.

6 on clique sur GATEWAY pour ajouter la passerelle. Une nouvelle fenêtre apparaitra.

7 on indique l’adresse IP de la passerelle par défaut. 8 on clique sur OK

7 on indique l’adresse IP de la passerelle par défaut. 8 on clique sur OK pour valider.

Une fois tout ceci fait, il nous affichera les routes statiques:

fois tout ceci fait, il nous affichera les routes statiques: 9 affiche la table de routage

9 affiche la table de routage 10 affiche le journal (les logs)

5.3. DHCP
5.3. DHCP

ZeroShell peut aussi être un serveur DHCP (Dynamic Host Configuration Protocol ), les clients du réseau local n’auront pas besoin d’adresses IP statiques.

(Dynamic Host Configuration Protocol ), les clients du réseau local n’auront pas besoin d’adresses IP statiques.

1 on clique sur DHCP

2 on clique sur New, une nouvelle fenêtre apparaitra.

DHCP 2 on clique sur New, une nouvelle fenêtre apparaitra. 3 on choisit l’interface sur laquelle

3 on choisit l’interface sur laquelle on veut activer le DHCP 4 on clique sur OK pour valider

5 on spécifie la plage d’adresses 6 on renseigne la passerelle et les serveurs DNS

5 on spécifie la plage d’adresses 6 on renseigne la passerelle et les serveurs DNS (Domain Name System)

7 on clique sur Save pour enregistrer le serveur DHCP

5.4. Surfer sur Internet
5.4. Surfer sur Internet

Pour permettre aux clients internes d’utiliser la connexion Internet, nous devons activer le NAT (Network Adresse Translation).

nous devons activer le NAT (Network Adresse Translation). 1 on clique sur Router. 2 on clique

1 on clique sur Router.

2 on clique sur NAT pour faire la translation d’adresse. Une nouvelle fenêtre apparaitra.

3 on choisit l’interface parmi la liste Avaible Interfaces (ETH01 dans notre cas), puis on

3 on choisit l’interface parmi la liste Avaible Interfaces (ETH01 dans notre cas), puis on

l’ajoute dans la liste NAT Enabled Interfaces, avec le bouton 4 on clique sur Save pour valider.

notre cas), puis on l’ajoute dans la liste NAT Enabled Interfaces, avec le bouton 4 on

.

5.5. Portail Captif
5.5. Portail Captif

Le portail captif (captive portal) consiste à forcer les clients HTTP d'un réseau à afficher une page web spéciale (le plus souvent dans un but d'authentification) avant d'accéder à Internet normalement.

Avant d’activer cette fonction, nous allons d’abord créer des utilisateurs.

fonction, nous allons d’abord créer des utilisateurs. 1 on clique sur Users. 2 on clique sur

1 on clique sur Users.

2 on clique sur Add pour pouvoir ajouter un nouvel utilisateur. Une nouvelle fenêtre apparaitra.

1 on renseigne les informations de l’utilisateur (nom d’utilisateur, répertoire, groupe…) 2 on lui attribue

1 on renseigne les informations de l’utilisateur (nom d’utilisateur, répertoire, groupe…) 2 on lui attribue un mot de passe 3 on clique sur Submit pour valider la création.

NB: Quand on ajoute un nouvel utilisateur, une clé privée et un certificat lui sont générés automatiquement par une Autorité de Certificat (Autority Certificate CA).

privée et un certificat lui sont générés automatiquement par une Autorité de Certificat (Autority Certificate CA).
1 on clique sur Captive Portal. 2 on active la passerelle par défaut. 3 on

1 on clique sur Captive Portal.

2 on active la passerelle par défaut.

3 on choisit l’interface du réseau local (ETH00 dans notre cas).

4 on clique sur Save pour valider.

5 on clique sur Authentication pour activer l’authentification des utilisateurs. Une

nouvelle fenêtre apparaitra.

6 on coche Status pour activer l’authentification. 7 on clique sur Save pour valider les

6 on coche Status pour activer l’authentification.

7 on clique sur Save pour valider les modifications.

NB: on peut aussi modifier l’apparence de la page d’authentification avec des thèmes,

Une fois tout ceci fait, on peut déjà se connecter avec l’utilisateur que nous avons créé précédemment.

Une fois tout ceci fait, on peut déjà se connecter avec l’utilisateur que nous avons créé

ZeroShell nous offre également la possibilité de voir tous les utilisateurs connectés, et de pouvoir les gérer.

ZeroShell nous offre également la possibilité de voir tous les utilisateurs connectés, et de pouvoir les
5.5. HTTP Proxy
5.5. HTTP Proxy

Les pages Web sont de plus en plus souvent les moyens par lesquels les vers et les virus

se propagent sur Internet. Pour palier à ce problème, des techniques sont adaptées

telles que le proxy. Un des plus gros problèmes lorsque on utilise un serveur proxy est la configuration de tous les navigateurs Web pour l'utiliser. Il est donc nécessaire de spécifier son adresse IP ou nom d'hôte et le port TCP sur lequel il répond (généralement le port 8080). Cela

pourrait être lourd dans le cas des réseaux locaux avec de nombreux utilisateurs, mais

pire encore, les utilisateurs pourront supprimer cette configuration pour avoir Internet. Pour résoudre ce problème, Zeroshell utilise un proxy transparent qui consiste à capturer automatiquement les demandes des clients . Zeroshell est en mesure de saisir

ces requêtes web, pour se faire il doit être configuré comme une passerelle réseau, afin

que le trafic Internet client passe au travers.

ZeroShell permet également de bloquer l’accès à certaines pages web, c’est ce qu’on appelle Black List ou Liste Noire. Exemple:

www.exemple.com: bloque la page d’accueil du site alors que www.exemple.com/* bloque tout le contenu.

1 on clique sur HTTP Proxy pour accéder à l’interface de configuration. 2 on ajoute

1 on clique sur HTTP Proxy pour accéder à l’interface de configuration.

2 on ajoute les différentes adresses IP aux quelles on veut restreindre l’accès. Une

nouvelle fenêtre apparaîtra.

1 on renseigne l’action à effectuer, l’interface réseau, l’adresse IP source et/ou de destination. 2

1 on renseigne l’action à effectuer, l’interface réseau, l’adresse IP source et/ou de destination. 2 on clique sur Save pour enregistrer les modifications.