12
Marie-pascale Delamare 1 MISE EN PLACE DU FIREWALL SHOREWALL I. LA MISSION Dans le TP précédent vous avez testé deux solutions de partage d’une ligne ADSL de façon à offrir un accès internet à tous vos utilisateurs. Vous connaissez maintenant les limites de chacune des solutions testées. Votre choix s’est porté sur la mise en place à la fois d’un routeur NAT et d’un serveur mandataire (proxy) pour réaliser ce partage, mais vous avez noté que rien n’empêche les utilisateurs « malins » de contourner votre proxy et de sortir directement sur internet via le routeur NAT gérant la connexion. La solution optimale consiste donc en plus du proxy à filtrer les connexions sortantes, pour ne laisser passer que les services autorisés. De plus votre direction vous confie une nouvelle mission consistant à ouvrir une DMZ, pour publier sur internet un site web que le service développement a déjà réalisé. Seul ce site web devra être accessible depuis l’extérieur. Il vous faut donc filtrer aussi les connexions entrantes. Vous possédez une adresse IP fixe. Après quelques recherches sur internet, vous comprenez que pour filtrer les flux entrants et sortants, vous avez besoin d’un routeur pare-feu. Soucieux de bien faire votre travail, vous décidez de tester le pare-feu gratuit « shorewall ». À partir de votre réseau réel, vous avez élaboré quatre maquettes de tests. La première maquette va vous permettre de filtrer les accès sortants, la seconde vous offrira l’opportunité d’obliger vos utilisateurs à passer par un proxy pour sortir sur Internet. La troisième vous permettra de mettre en place votre DMZ, donc cette fois de gérer les accès entrants. La quatrième vous permettra de gérer à la fois les accès entrants et les accès sortants. Au final, vous devrez pouvoir élaborer une solution complète pour répondre à la problématique de votre entreprise. II. PLATEFORME DE TESTS N°1 : LIMITONS LES ACCÈS SORTANTS III. MATÉRIELS ET LOGICIELS NÉCESSAIRES Un micro-ordinateur Windows XP réel et un pare-feu Linux Virtuel. Les logiciels Shorewall et Iptraf installés sur le pare-feu. Les logiciels clients suivants : Firefox ou Internet Explorer et Outlook ou Thunderbird installés sur le client XP. Une connexion Internet via le routeur de la salle 3. Les adresses IP des DNS de notre fournisseur d’accès à internet. Une boîte aux lettres chez le FAI FREE pour chaque d ‘élève ([email protected] ……. [email protected] mot de passe carcouet).

MISE EN PLACE DU FIREWALL SHOREWALL - BTS …mariepascal.delamare.free.fr/IMG/pdf/tpshorewall.pdf · Votre choix s’est porté sur la mise en place à la fois d’un routeur

  • Upload
    lynhan

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Marie-pascale Delamare 1

MISE EN PLACE DU FIREWALL SHOREWALL

I. LA MISSION

Dans le TP précédent vous avez testé deux solutions de partage d’une ligne ADSL de façon à offrir un accès internet à tous vos utilisateurs. Vous connaissez maintenant les limites de chacune des solutions testées. Votre choix s’est porté sur la mise en place à la fois d’un routeur NAT et d’un serveur mandataire (proxy) pour réaliser ce partage, mais vous avez noté que rien n’empêche les utilisateurs « malins » de contourner votre proxy et de sortir directement sur internet via le routeur NAT gérant la connexion. La solution optimale consiste donc en plus du proxy à filtrer les connexions sortantes, pour ne laisser passer que les services autorisés.

De plus votre direction vous confie une nouvelle mission consistant à ouvrir une DMZ, pour publier sur internet un site web que le service développement a déjà réalisé. Seul ce site web devra être accessible depuis l’extérieur. Il vous faut donc filtrer aussi les connexions entrantes. Vous possédez une adresse IP fixe.

Après quelques recherches sur internet, vous comprenez que pour filtrer les flux entrants et sortants, vous avez besoin d’un routeur pare-feu. Soucieux de bien faire votre travail, vous décidez de tester le pare-feu gratuit « shorewall ».

À partir de votre réseau réel, vous avez élaboré quatre maquettes de tests. La première maquette va vous permettre de filtrer les accès sortants, la seconde vous offrira l’opportunité d’obliger vos utilisateurs à passer par un proxy pour sortir sur Internet. La troisième vous permettra de mettre en place votre DMZ, donc cette fois de gérer les accès entrants. La quatrième vous permettra de gérer à la fois les accès entrants et les accès sortants. Au final, vous devrez pouvoir élaborer une solution complète pour répondre à la problématique de votre entreprise.

II. PLATEFORME DE TESTS N°1 : LIMITONS LES ACCÈS SORTANTS

III. MATÉRIELS ET LOGICIELS NÉCESSAIRES

Un micro-ordinateur Windows XP réel et un pare-feu Linux Virtuel. Les logiciels Shorewall et Iptraf installés sur le pare-feu. Les logiciels clients suivants : Firefox ou Internet Explorer et Outlook ou Thunderbird installés sur le client XP. Une connexion Internet via le routeur de la salle 3. Les adresses IP des DNS de notre fournisseur d’accès à internet. Une boîte aux lettres chez le FAI FREE pour chaque d ‘élève ([email protected] ……. [email protected] mot de passe carcouet).

Marie-pascale Delamare 2

IV. CONFIGURATION DU RÉSEAU DE TEST

Pour commencer, lancez une nouvelle machine virtuelle linux avec deux cartes réseau, changez son nom et paramétrez correctement le réseau.

Mettre en place un système Linux en tant que firewall pour un petit réseau est une chose assez simple, si vous comprenez les bases et suivez la documentation.

Ce TP ne veut pas vous apprendre tous les rouages de Shorewall. Il se focalise sur ce qui est nécessaire pour configurer Shorewall, dans son utilisation la plus courante :

Un système Linux utilisé en tant que firewall/routeur pour un petit réseau local.

Une seule adresse IP publique.

Une connexion Internet par le biais d'un routeur.

Lancez votre machine virtuelle pare-feu avec deux cartes réseaux de type « brigde ». Paramétrez votre réseau comme indiqué dans le schéma réseau de la plate-forme de test n°1. Attention c’est votre carte eth0, sur le

pare-feu, qui doit être connectée au réseau de notre salle (172.16.4.x). Vérifiez que votre réseau fonctionne, cad que le client « pingue » le pare-feu mais n’a pas accès à internet et que votre pare-feu lui a accès à internet.

Ce TP suppose que vous avez le paquet iproute/iproute2 d'installé sur le pare-feu. Vous pouvez voir si le paquet est installé en vérifiant la présence du programme ip sur votre système Kubuntu. Sous root, utilisez la commande 'which' pour rechercher le programme :

[root@gateway root]# which ip

/sbin/ip

[root@gateway root]#

Enfin, il faut installer les packages « apt-get update » et « apt-get install shorewall-common shorewall-doc shorewall-perl ». Profitez en pour installer iptraf par « apt-get install iptraf ».

V. CONFIGURATION DE SHOREWALL

Les fichiers de configuration pour Shorewall sont dans le répertoire /etc/shorewall -- pour de simples configurations, vous n'aurez seulement à faire qu'avec quelques fichiers comme décrit dans ce TP.

Le package contenant les documentations de shorewall propose des fichiers pré-configurés pour notre architecture réseau ; ces fichiers se trouvent dans le répertoire /usr/share/doc/shorewall-common/examples/two-interfaces.

Copiez les fichiers « exemple » du répertoire /usr/share/doc/shorewall-common/examples/two-interfaces vers le répertoire /etc/shorewall.

Fichiers copiés, commande utilisée _________________________________________________________

______________________________________________________________________________________

Vous n’avez que quelques modifications à faire, une dans le fichier « interfaces », une dans le fichier « masq », une dans le fichier « routestopped » et deux modifications à faire dans le fichier shorewall.conf, mais prenez quand même le temps de parcourir tous les fichiers.

V.1 LE FICHIER ZONES

Shorewall voit le réseau où il tourne, comme un ensemble de zones. Dans une configuration avec deux interfaces, les noms des zones suivantes sont utilisés:

Nom Description

fw firewall

net Internet

loc Votre réseau local

Marie-pascale Delamare 3

Les zones sont définies dans le fichier /etc/shorewall/zones .

Shorewall reconnaît aussi le système de firewall comme sa propre zone - par défaut, le firewall est connu

comme fw.

V.2 LE FICHIER POLICY

Les règles, à propos de quel trafic autoriser et de quel trafic interdire, sont exprimées en termes de zones.

Vous exprimez votre politique par défaut pour les connexions d'une zone vers une autre zone dans le fichier /etc/shorewall/policy .

Vous définissez les exceptions à ces politiques pas défaut dans le fichier /etc/shorewall/rules .

Pour chaque connexion demandant à entrer dans le firewall, la requête est en premier lieu comparée aux règles contenues dans le fichier /etc/shorewall/rules. Si aucune règle dans ce fichier ne correspond à la demande de connexion alors la première politique dans le fichier /etc/shorewall/policy qui y correspond sera appliquée.

Ces politiques vont:

Permettre toutes les demandes de connexion depuis votre réseau local vers l'Internet (1) ;

Facultativement accepter toutes les demandes de connexion de votre firewall vers l'Internet, si vous avez modifié la politique (4) ;

Drop (ou ignorer) toutes les demandes de connexion depuis l'Internet vers votre firewall ou votre réseau local (7,8,9) ;

Reject (rejeter) toutes les autres demandes de connexion (2,3,5,6,10).

V.3 LE FICHIER INTERFACES

Le firewall a deux interfaces de réseau. Lorsque la connexion Internet passe par un ROUTEUR, l'interface vers l'extérieur (External Interface) sera l'adaptateur sur lequel est connecté le routeur (eth0 par exemple).

Marie-pascale Delamare 4

Votre Internal Interface (interface vers votre réseau local -> LAN) sera un adaptateur Ethernet (eth1 par exemple) et sera connectée à un hub ou switch (ou un PC avec un câble croisé). Vos autres ordinateurs seront connectés à ce même hub/switch. Votre adresse externe va être partagée par tous vos systèmes lors de l'accès à Internet.

Pour l’interface externe, vous avez gardé l’adresse standard de notre réseau pour pouvoir sortir par le routeur de la salle 3. Dans ce fichier, il faut penser à enlever l’appel à dhcp car nous sommes ici en adressage fixe.

Attention vous devez vérifier les noms des interfaces inscrits en face de chaque zone et les corriger si nécessaire.

V.4 LE FICHIER MASQ

Le firewall peut appliquer un NAT (Network Address Translation). Le firewall change l'adresse IP source dans le paquet en la remplaçant par son adresse externe ; en d'autres termes, le firewall fait croire que c'est lui-même qui initie la connexion. Lorsque le firewall reçoit le paquet de réponse, il remet l'adresse de destination à sa valeur d’origine et fait passer le paquet vers l'ordinateur du LAN.

Sur les systèmes Linux, ce procédé est souvent appelé de l'IP Masquerading mais vous verrez aussi le terme de Source Network Address Translation (SNAT) utilisé.

Masquerade désigne le cas où vous laissez votre firewall détecter automatiquement l'adresse de l'interface externe.

SNAT désigne le cas où vous spécifiez explicitement l'adresse source des paquets sortant de votre réseau local.

Sous Shorewall, autant le Masquerading que le SNAT sont configurés avec des entrées dans le fichier /etc/shorewall/masq. Vous utiliserez normalement le Masquerading si votre adresse IP externe est dynamique, et SNAT si elle est statique.

Pensez à modifier les noms des interfaces si nécessaire, dans la première colonne on doit trouver le nom de la carte gérant la connexion vers l’internet.

Marie-pascale Delamare 5

V.5 LE FICHIER RULES

Il contient les règles suivantes :

Ces règles présentent des exceptions par rapport aux politiques écrites dans le fichier /etc/shorewall/policy.

Ici on autorise les appels DNS du pare-feu vers le net (1), les accès au pare-feu en SSH depuis le réseau local (2), les pings du réseau local vers le pare-feu (3), on rejette les pings de l’internet vers le pare-feu(4) et enfin on accepte les pings du pare-feu vers le LAN et vers internet.(5 et 6)

V.6 LE FICHIER ROUTESTOPPED

Shorewall est lancé en utilisant la commande "shorewall start" et stoppé avec "shorewall stop". Lorsque Shorewall est stoppé, les communications entre le firewall sur les hôtes qui sont dans le fichier

Marie-pascale Delamare 6

/etc/shorewall/routestopped sont autorisées. Un firewall fonctionnant peut être relancé en utilisant la commande "shorewall restart". Si vous voulez enlever toutes les traces de Shorewall dans votre configuration de Netfilter, utilisez "shorewall clear".

Le fichier /etc/shorewall/routestopped suppose que l’on permet les communications entre le firewall et le lan lorsque Shorewall est stoppé. Pensez à modifier le nom de l’interface si nécessaire. Dans la première colonne on doit trouver la carte de votre LAN.

V.7 LE FICHIER SHOREWALL.CONF

Sous Kubuntu, vérifiez que le fichier « shorewall.conf » contient bien les valeurs suivantes, si elles n'y sont pas, faites les changements nécessaires.

IP_FORWARDING=On Pour autoriser le routage

SHOREWALL_COMPILER=perl Pour pouvoir compiler et lancer shorewall

Marie-pascale Delamare 7

V.8 POUR FINIR

Enfin, une fois la configuration de votre firewall achevée, vous pouvez permettre le lancement de Shorewall au démarrage de la machine, en éditant /etc/default/shorewall et mettre 'startup=1'. Ce n'est pas nécessaire au cours de ce TP.

VI. UTILISATION DU FIREWALL SHOREWALL

Vous avez maintenant vérifié voir modifié, le contenu des fichiers de configuration. Lancez shorewall par la commande « shorewall start ».

VI.1 VÉRIFICATION DU MODE DE FONCTIONNEMENT DU FIREWALL

Vérifiez que votre client sort sur le WEB. _____________________________________________________

Vérifiez si la fonction NAT est activée en utilisant iptraf (mode console iptraf).

A quoi voyez-vous que la fonction NAT (ou SNAT) est activée ___________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

Vous venez de mettre en place un routeur NAT de type WINROUTE. Vérifiez que les différents services de l’Internet fonctionnent :

Service Depuis le fw Depuis le lan

ftp (21) sur l’adresse ftp.3com.com en anonymous.

Marie-pascale Delamare 8

mail (110 et 25) en utilisant les adresses créées chez free de la forme [email protected] mot de passe carcouet.

Activez les accès vers Internet depuis le firewall en modifiant le fichier /etc/shorewall/policy. Quelle est la ligne que vous devez modifier ? _____________________________________________________________

_______________________________________________________________________________________

Redémarrez le firewall et vérifiez que ces services fonctionnent maintenant depuis le firewall.

Installez le serveur telnet sur votre Firewall en utilisant la commande suivante « apt-get install telnetd » et lancez le par la commande « /etc/init.d/openbsd-inetd start ». Arrêtez votre pare-feu, le temps de tester que l’accès telnet vers votre firewall depuis le lan fonctionne. Relancez votre pare-feu.

Tentez une connexion telnet vers le routeur Cisco de la salle 3 en telnet. Résultat _____________________

Écrire une règle interdisant d’utiliser le protocole telnet depuis votre réseau local vers toutes les destinations.

_______________________________________________________________________________________

Tentez de nouveau une connexion telnet vers le routeur Cisco de la salle 3. Résultat ___________________

Écrire une règle autorisant le protocole telnet vers le firewall depuis le réseau local sans remettre en cause la règle précédente.

_______________________________________________________________________________________

VII. PLATEFORME DE TESTS N°2 : TRAÇONS LES CONNEXIONS SORTANTES

Vous voulez maintenant empêcher les clients de votre LAN de sortir sur internet en passant directement par le pare-feu. Vous voulez les contraindre à passer par un serveur proxy de façon à économiser la bande passante. Pour cela vous rajoutez sur votre plateforme de tests, le serveur ISA Proxy réalisé au TP précédent :

Marie-pascale Delamare 9

Quelle configuration devez-vous faire au niveau des clients du LAN ? _______________________________

_______________________________________________________________________________________

Vous modifiez ensuite, sur votre pare-feu, la politique autorisant votre lan à sortir vers le net dans le fichier « /etc/shorewall/policy » et vous rajoutez dans le fichier « /etc/shorewall/rules », une règle ou des règles autorisant votre proxy à sortir sur le net pour les protocoles HTTP, HTTPS et FTP (pour autoriser une seule adresse au sein d’une zone dans une règle shorewall vous devez utiliser la notation suivante : « nomDeZone :AdresseIP »).

Vérifiez votre travail. Votre client sort-il sur internet pour HTTP, HTTPS pour FTP, pour le mail ?

_______________________________________________________________________________________

_______________________________________________________________________________________

Votre client peut-il contourner le proxy ? _____________________________________________________

VIII. PLATEFORME DE TESTS N°3 : INSTALLONS UNE DMZ

IX. MATÉRIELS ET LOGICIELS NÉCESSAIRES

Par rapport à la plateforme de tests précédente, nous enlevons le proxy et nous rajoutons notre serveur Web virtuel, contenant le site Zenta.

X. INSTALLATION DU SITE WEB

Accédez à votre serveur WEB en local. Cela fonctionne-t-il ? _____________________________________

Accéder à votre serveur web depuis machine XP réelle ? Cela fonctionne-t-il ? _______________________

_______________________________________________________________________________________

Accéder à votre serveur web depuis votre pare-feu ? Cela fonctionne-t-il ? __________________________

_______________________________________________________________________________________

Marie-pascale Delamare 10

Ajoutez la règle qui va bien dans le fichier /etc/shorewall/rules pour autoriser le pare-feu à communiquer avec le serveur web que vous venez d’insérer sur le réseau. ______________________________________

_______________________________________________________________________________________

XI. PUBLICATION D’UN SERVEUR WEB SUR INTERNET

Vous voulez que votre serveur web soit accessible depuis l’extérieur de votre réseau. Mais votre serveur web possède une adresse privée. Il n’est donc pas accessible depuis l’extérieur de votre réseau local, il n'est pas possible pour les clients sur Internet de se connecter à votre serveur web. Il est nécessaire que ces clients adressent leurs demandes de connexion au firewall qui change l'adresse de destination par celle de votre serveur, et fait passer le paquet à celui-ci. Lorsque votre serveur répond, le firewall applique automatiquement un SNAT pour changer l'adresse source dans la réponse.

Ce procédé est appelé Port Forwarding (Redirection de port) ou port Mapping (mappage de port) ou Destination Network Address Translation(DNAT) (Translation d’adresse réseau de destination). Vous configurez le port forwarding en utilisant les règles DNAT dans le fichier /etc/shorewall/rules.

La forme générale d'une simple règle de port forwarding dans /etc/shorewall/rules est:

ACTION SOURCE DESTINATION PROTOCOL PORT SOURCE PORT

ORIGINAL ADDRESS

DNAT net loc:<serverlocal ipaddress> [:<server port>]

<protocol> <port>

Exemple : vous faites tourner un serveur WEB sur l'ordinateur du LAN d’adresse10.10.10.2 et vous voulez faire passer les requêtes TCP sur le port 80 à ce système :

ACTION SOURCE DESTINATION PROTOCOL PORT SOURCE PORT

ORIGINAL ADDRESS

DNAT net loc:10.10.10.2 tcp 80

Ce type de règle doit être testé depuis un client à l'extérieur du réseau local.

Essayez maintenant de vous connecter à votre serveur WEB depuis l’Internet, c’est à dire depuis une machine située avant le firewall en tapant l’adresse du serveur web : ______________________________

Essayez maintenant de vous connecter à votre serveur WEB depuis l’Internet, c’est à dire depuis une machine située avant le firewall en tapant l’adresse externe du pare-feu : ___________________________

Pour que cela fonctionne il faut mettre en place du DNAT ou port mapping ou port forwarding. Les clients du WEB feront leur demande sur le firewall qui lui redirigera vers le serveur WEB sur le port 80. Règle à rajouter : _______________________________________________________________________________

Redémarrez shorewall : ____________________________________________________________________

Résultat obtenu : _________________________________________________________________________

Démarrez Iptraf et suivez les échanges effectués.

Marie-pascale Delamare 11

XI.1 POUR ALLER PLUS LOIN (À FAIRE CHEZ VOUS ÉVENTUELLEMENT)

Vous pouvez gérer les deux types d’accès (entrant et sortant) en une seule fois en installant trois cartes réseau sur votre pare-feu et en mettant votre DMZ dans un réseau différent de celui de votre Lan.

Marie-pascale Delamare 12

XII.SYNTHÈSE ROUTEUR NAT, PROXY ET FIREWALL

A quel niveau du modèle OSI intervient shorewall d’après vous ? __________________________________

Quelles différences faites-vous entre un routeur NAT, un proxy et un firewall ? _______________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________