Master 2 Réseaux et Systèmes informatiques Sécurité Réseaux Installation et configuration de ZeroShell Présenté par: Mor Niang Prof.: Ahmed Youssef PLAN 1. Présentation 2. Fonctionnalités 3. Architecture réseau 4. Installation 5. Configuration 1. Présentation 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. 2. Fonctionnalités Les principales fonctionnalités de ZeroShell sont les suivantes: 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 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 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 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 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 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 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 T: pour afficher la table de routage F: pour afficher les règles du pare-feu I: pour gérer les adresses IP 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 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 Par défaut: Username: admin Password: zeroshell 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. 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. 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. 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. 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 Après avoir créé notre partition et notre profil, nous allons configurer les adresses IP de notre réseau. 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 pour valider. Nous allons ensuite ajouter une passerelle par défaut (Default Gateway), 192.168.1.154 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 pour valider. Une fois tout ceci fait, il nous affichera les routes statiques: 9 affiche la table de routage 10 affiche le journal (les logs) 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. 1 on clique sur DHCP 2 on clique sur New, une nouvelle fenêtre apparaitra. 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 (Domain Name System) 7 on clique sur Save pour enregistrer le serveur DHCP 5.4. Surfer sur Internet Pour permettre aux clients internes d’utiliser la connexion Internet, nous devons activer le NAT (Network Adresse Translation). 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 l’ajoute dans la liste NAT Enabled Interfaces, avec le bouton . 4 on clique sur Save pour valider. 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. 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 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). 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 modifications. NB: on peut aussi modifier l’apparence de la page d’authentification avec des thèmes, couleurs et images. 8 Une fois tout ceci fait, on peut déjà se connecter avec l’utilisateur que nous avons créé précédemment. ZeroShell nous offre également la possibilité de voir tous les utilisateurs connectés, et de pouvoir les gérer. 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 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 on clique sur Save pour enregistrer les modifications.
© Copyright 2024 Paperzz