Administration - Système windows, linux..Passerelle Internet sous linux Présenter par : Mounir GRARI 2012/2013.

Slides:



Advertisements
Présentations similaires
Configuration d’un cluster, interface unifiée :
Advertisements

Module 5 : Implémentation de l'impression
TD (issu de l’Exonet 23 – Site du CERTA)
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
(Routing Information Protocol)
Firewall sous Linux Netfilter / iptables.
interface graphique permettant de faciliter la conception de topologies réseaux complexes Logiciel permettant de créer des machines virtuelles sur une.
DUDIN Aymeric MARINO Andrès
Vue d'ensemble Présentation multimédia : Rôle du routage dans l'infrastructure réseau Activation et configuration du service Routage et accès distant Configuration.
Vue d'ensemble Implémentation de la sécurité IPSec
Module 2 : Allocation de l'adressage IP à l'aide du protocole DHCP
Module 7 : Résolution de noms NetBIOS à l'aide du service WINS
Firewalling et NAT sous LINUX
Architecture de réseaux
2-Generalites FTP:Protocole De transfert de fichiers sur un réseau TCP/IP. Permet de copier des fichiers depuis ou vers un autre ordinateur du reseaux,d'administrer.
Cours Présenté par …………..
TP sur le filtrage avec iptables
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Créer un premier questionnaire
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Active Directory Windows 2003 Server
Introduction aux réseaux
SECURITE DU SYSTEME D’INFORMATION (SSI)
Module 1 : Préparation de l'administration d'un serveur
Pare-feu.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Serveurs Partagés Oracle
Chef de projet : COUDERC Antoine Equipe : DELMON - GENIEZ - LACROIX
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
Les instructions PHP pour l'accès à une base de données MySql
Virtual Local Area Network
Adm Sys : Stratégie de sauvegarde
Le protocole FTP.
La voyage de Jean Pierre
Configuration de Windows Server 2008 Active Directory
Chapitre 4.
Module 3 : Connexion d'ordinateurs clients Windows 2000 à des réseaux
Les relations clients - serveurs
22 janvier 2013 Commercialiser en 2013 ! Que de variables à ajuster ! 1.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Netfilter/Iptables Introduction.
Tout savoir sur la synchronisation des mails, contacts et calendrier sur Windows Phone Lire cette présentation en mode plein écran.
Ipchains TP 1 TP 2 TP 3 Installer un serveur web sur votre poste,
Vue d'ensemble Configuration d'adresses IP
Adressage internet utilisé par le protocole IP (Internet Protocol)
Module : Technologies des serveurs réseaux : FTP Dynamic Host Configuration Protocol Présenter par : Mounir GRARI.
Création et présentation d’un tableau avec Word 2007
L’attaque DNS Spoofing
Progression Sécurité & réseaux TCP/IP - Cours1 : Révision réseaux
Pourquoi est-il nécessaire d'installer de nouveaux logiciels sur votre ordinateur ? J'exclus de cette présentation l'installation de nouveaux matériels.
PHP 5° PARTIE : LES COOKIES
ARP Le protocole ARP.
Projet Implémentation du protocole MMT sous Linux
Module Routage Où dois-je envoyer ce paquet ???
Interconnexion de réseaux par des routeurs sous GNU/Linux
Expose sur « logiciel teamviewer »
ARP Le protocole ARP Pour qui utilise-t-on le protocole ARP ? ou
Les listes de contrôle d’accès
Institut Supérieur d’Informatique
Préparer par : Badr Mahdari Othmane Habachi Encadrer par:
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Création d’un domaine Il faut :
LE PARE-FEU AMON. MAI 2002.
En route vers le déploiement . . .
V- Identification des ordinateurs sur le réseau
Architecture Client/Serveur
Chapitre 8 Protection du trafic réseau à l'aide de la sécurité IPSec et de certificats Module S43.
Chapitre8 Configuration de l'adressage TCP/IP et de la résolution de noms Module S41.
CentralWeb F. Playe1 Principes de base du routage IP Ce cours est la propriété de la société CentralWeb. Il peut être utilisé et diffusé librement.
Transcription de la présentation:

 Administration - Système windows, linux..Passerelle Internet sous linux Présenter par : Mounir GRARI 2012/2013

Administration Système : Passerelle Internet Position du problème La machine Linux dispose de deux interfaces Ethernet. Ici: Eth0 sur le réseau local (privé) Eth1 sur l'Internet via le modem câble du fournisseur d'accès. Cette interface, le plus souvent, sert de support à PPPoE

Administration Système : Passerelle Internet Position du problème Il faut bien comprendre qu'à priori, il peut entrer et sortir des données de chaque interface. Il peut entrer et sortir des données par Eth0, parce qu'un client du réseau local établit une connexion avec un service installé sur la passerelle, Samba par exemple, pour le partage de fichiers avec Windows. Il peut entrer et sortir des données par Eth1 (ou la connexion ppp qui y est associée) parce qu'un client situé sur le Net établit une connexion avec un service installé sur la passerelle, une session ssh ou telnet par exemple (ssh, c'est mieux...).

Administration Système : Passerelle Internet Position du problème Notre objectif c’est de controler le trafic qui passe par la passerelle Solution : IPTables (Netfilter)

Netfilter dans la pile IP Administration Système : Passerelle Internet Netfilter dans la pile IP Netfilter se présente comme une série de 5 ‘points d'accrochage’, sur lesquels des modules de traitement des paquets vont se greffer. Ces points sont: NF_IP_PRE_ROUTING NF_IP_LOCAL_IN NF_IP_FORWARD NF_IP_POSTROUTING NF_IP_LOCAL_OUT

Netfilter dans la pile IP Administration Système : Passerelle Internet Netfilter dans la pile IP La branche gauche représente le trajet des paquets qui entrent et qui sortent vers et depuis un processus local (SMB, FTP, HTTP etc.) La branche de droite représente le trajet des paquets qui  traversent notre passerelle dans sa fonction de routeur.

Ce qu’on peut faire avec Netfilter Administration Système : Passerelle Internet Ce qu’on peut faire avec Netfilter A travers ces cinq points d'insertion, Netfilter va être capable : D'effectuer des filtrages de paquets, D'effectuer des opérations de NAT (Network Address Translation) D'effectuer des opérations de marquage des paquets: principalement pour assurer des fonctions de Firewall. On pourra par exemple interdire à tous les paquets venant de l'Internet et s'adressant au port 80 (HTTP) de passer. Notre serveur APACHE est un serveur Intranet et ne doit pas être accessible depuis l'extérieur. Ces fonctions sont particulièrement utiles lorsque l'on veut faire communiquer tout ou partie d'un réseau privé, monté avec des adresses IP privées (192.168.x.x par exemple) avec l'Internet. pour leur appliquer un traitement spécial. Ces fonctionnalités sont particulièrement intéressantes sur une passerelle de réseau d'entreprise,  un peu moins pour notre cas de réseau.

Comment Netfilter sait le faire ? Administration Système : Passerelle Internet Comment Netfilter sait le faire ? Netfilter dispose d'une commande à tout faire : IPtables. Cette commande va permettre, entre autres, d'écrire des chaînes de règles dans des tables. IPtables permet à l'administrateur système de créer des tableaux, lesquels contiennent des « chaînes », elles-mêmes composées d'un ensemble de règles de traitement des paquets. Chaque tableau est associé à un type de traitement des paquets

Comment Netfilter sait le faire ? Administration Système : Passerelle Internet Comment Netfilter sait le faire ? Il y a dans Netfilter trois tables qui correspondent aux trois principales fonctions déjà vue

Administration Système : Passerelle Internet La table "Filter" Cette table va contenir toutes les règles qui permettront de filtrer les paquets. Cette table contient trois chaînes: La chaîne INPUT. Cette chaîne décidera du sort des paquets entrant localement sur l'hôte. La chaîne OUTPUT. Ici, ce ne sont que les paquets émis par l'hôte local qui seront filtrés La chaîne FORWARD. Enfin, les paquets qui traversent l'hôte, suivant les routes implantées, seront filtrés ici.

Administration Système : Passerelle Internet La table NAT Cette table permet d'effectuer toutes les translations d'adresses nécessaires. La chaîne PREROUTING La chaîne POSTROUTING. La chaîne OUTPUT. Permet de faire de la translation d'adresse de destination. Cette méthode est intéressante si l'on veut faire croire au monde extérieur, par exemple, qu'il y a un serveur WEB sur le port 80 de la passerelle, alors que celui-ci est hébergé par un hôte du réseau privé, sur le port 8080. Elle permet de faire de la translation d'adresse de la source, comme du masquage d'adresse, la méthode classique pour connecter un réseau privé comme client de l'Internet, avec une seule adresse IP "officielle". Celle-ci va permettre de modifier la destination de paquets générés localement (par la passerelle elle-même).

Administration Système : Passerelle Internet La table MANGLE Cette table permet le marquage des paquets entrants (PREROUTING) et générés localement (OUTPUT). Le marquage de paquets va permettre un traitement spécifique des paquets marqués dans les tables de routage avec IPROUTE 2

Administration Système : Passerelle Internet Les chaînes Les chaînes sont des ensembles de règles que nous allons écrire dans chaque table. Ces chaînes vont permettre d'identifier des paquets qui correspondent à certains critères.  Les cibles Les cibles enfin sont des sortes d'aiguillage qui dirigeront les paquets satisfaisant aux critères . Les cibles préconstruites sont : ACCEPT : Les paquets qui satisfont aux critères sont acceptés, ils continuent leur chemin dans la pile, DROP : Les paquets qui satisfont aux critères sont rejetés, on les oublie, on n'envoie même pas de message ICMP . Un trou noir, quoi. LOG : C'est une cible particulière qui permet de tracer au moyen de syslog les paquets qui satisfont aux critères. ….

Administration Système : Passerelle Internet Les chaînes En français, nous pourrons faire des choses de ce genre : Par défaut, tous les paquets qui entrent sont rejetés (DROP) Les paquets qui entrent par le port 80 sur l'interface eth0 sont acceptés Les paquets qui sortent par le port 80 sur l'interface eth0 sont acceptés etc.

Administration Système : Passerelle Internet Exemples pour comprendre

Administration Système : Passerelle Internet La table de filtrage C'est la table qui va permettre de filtrer tous les paquets qui entrent et sortent de notre machine. Il n'y a ici aucune modification de ces paquets, ils seront comparés à des critères définis dans la table Filter. Dans notre cas, il peut se passer deux choses différentes: Un paquet qui entre est destiné à un processus de l'hôte (serveur HTTP, FTP...). Un paquet qui entre est destiné à un autre réseau, c'est alors une fonction de routage.

Administration Système : Passerelle Internet La table de filtrage Un paquet entre dans notre machine. Peu importe par quelle interface il entre, il peut venir aussi bien du réseau local que de l'Internet. Il passe d'abord par la fonction de décision de routage. C'est elle qui va déterminer si le paquet est destiné à un processus local de l'hôte ou à un hôte sur un autre réseau.

Administration Système : Passerelle Internet La table de filtrage Si le paquet est destiné à l'hôte local: Il traverse la chaîne INPUT S'il n'est pas rejeté, il est transmis au processus impliqué. Ce processus va donc le traiter et éventuellement émettre un nouveau paquet en réponse. Ce nouveau paquet traverse la chaîne OUTPUT S'il n'est pas rejeté, il va vers la sortie. Si le paquet est destiné à un hôte d'un autre réseau: Il traverse la chaîne FORWARD. S'il n'est pas rejeté, il poursuit alors sa route.

Administration Système : Passerelle Internet La table de filtrage La chaîne INPUT sera raccrochée au "hook" NF_IP_LOCAL_IN la chaîne OUTPUT au "hook" NF_IP_LOCAL_OUT et la chaîne FORWARD à NF_IP_FORWARD.

Administration Système : Passerelle Internet La table de filtrage Avec IPtables... SEULS les paquets destinés à un process local traversent la chaîne INPUT SEULS les paquets issus d'un process local traversent la chaîne OUTPUT SEULS les paquets destinés au routage traversent la chaîne FORWARD

Administration Système : Passerelle Internet La table de filtrage Initialisation de Netfilter Tapez successivement les commandes suivantes pour initialiser votre système: iptables -F iptables -X iptables -t nat -F iptables -t nat -X De cette manière, vous avez toutes vos chaînes vides, avec par défaut la règle "ACCEPT"

Administration Système : Passerelle Internet La table de filtrage iptables -L L'affichage va vous assurer que les trois chaînes INPUT, FORWARD et OUTPUT sont vides et ont bien la règle par défaut ACCEPT iptables -t nat -L L'affichage va vous assurer que les trois chaînes PREROUTING, POSTROUTING et OUTPUT sont vides et ont bien la règle par défaut ACCEPT.

Administration Système : Passerelle Internet La table de filtrage Mise en place de Masquerade Tapez maintenant les commandes suivantes:: iptables -t nat -A POSTROUTING –s 172.21.11.1 -o eth1 -j MASQUERADE Tout ce qui sort du routage (-A POSTROUTING) et qui doit passer vers l'Internet (-o eth1) doit subir un masquage d'adresse (-j MASQUERADE) echo 1 > /proc/sys/net/ipv4/ip_forward Ceci pour être certain que votre noyau autorise le routage. Vous n'en avez pas besoin, si votre machine est configurée par défaut pour assurer le routage.

Administration Système : Passerelle Internet La table de filtrage Voilà. La passerelle entre le réseau privé et l'Internet doit être opérationnelle. Vérifiez que, depuis votre passerelle Linux, vous avez bien accès au Net. Vérifiez que, depuis un poste de votre réseau privé, vous avez bien accès au Net.

Et maintenant, la manip décisive... Administration Système : Passerelle Internet Et maintenant, la manip décisive... Pour bien montrer que les chaînes INPUT et OUTPUT n'interviennent pas dans le routage, nous allons tout simplement leur mettre DROP comme règle par défaut. Tapez les commandes suivantes: iptables -P INPUT DROP iptables -P OUTUT DROP iptables -L (pour vérifier que INPUT et OUTPUT "droppent" bien tout ce qui passe). Vérifiez que, depuis votre passerelle Linux, vous n'avez plus accès au Net (ni à votre réseau privé d'ailleurs). Vérifiez que, depuis un poste de votre réseau privé, vous avez toujours l'accès au Net.

Administration Système : Passerelle Internet DNAT La cible DNAT est utilisée pour la Traduction d'Adresse Réseau de Destination, ce qui veut dire qu'elle sert à réécrire l'adresse IP de Destination du paquet. Si un paquet est sélectionné, et qu'il est la cible de la règle, ce paquet et tous les paquets suivants du même flux seront traduits, et ensuite routés vers le matériel, l'hôte ou le réseau appropriés. Cette cible peut être extrêmement utile, par exemple, quand vous avez un hôte avec un serveur web dans un LAN, mais pas d'IP réelle routable sur l'Internet.

Administration Système : Passerelle Internet DNAT Vous pouvez alors indiquer au pare-feu de transférer tous les paquets allant vers son propre port HTTP, vers le serveur web réel dans le LAN. Vous pouvez aussi spécifier une plage d'adresses IP de destination, et le mécanisme DNAT choisira l'adresse IP de destination au hasard pour chaque flux. Nous pourrons donc réaliser une sorte d'équilibrage de charge en faisant ça. Notez que la cible DNAT est disponible uniquement dans les chaînes PREROUTING et OUTPUT de la table nat. Les chaînes contenant des cibles DNAT ne peuvent pas être utilisées depuis d'autres chaînes, comme la chaîne POSTROUTING.

Administration Système : Passerelle Internet DNAT (Exemple) iptables -t nat -A PREROUTING -p tcp -d 172.21.11.1 --dport 80 -j DNAT --to-destination 10.10.11.1 L'option --to-destination indique au mécanisme DNAT quelle Destination IP placer dans l'en-tête IP, et où sont envoyés les paquets qui sont sélectionnés. L'exemple ci-dessus enverra tous les paquets destinés à l'adresse IP 15.45.23.67 dans une plage IP de réseau local comprise entre 192.168.1.1 jusqu'à 192.168.1.10.

Administration Système : Passerelle Internet DNAT (Exemple) Notez que, comme décrit précédemment, un simple flux utilisera toujours le même hôte, et chaque flux aura une adresse IP attribuée au hasard, et qui sera toujours en direction de quelque part, dans ce flux. Nous pouvons aussi avoir à spécifier une seule adresse IP, dans ce cas nous serons toujours connectés au même hôte. Notez aussi que nous pouvons ajouter un port ou une plage de ports vers lequel le trafic sera redirigé. Ceci se fait en ajoutant, par exemple, un :80 à l'adresse IP pour laquelle nous voulons traduire les paquets..

Administration Système : Passerelle Internet DNAT (Exemple) Une règle peut alors ressembler à --to-destination 192.168.1.1:80 par exemple, ou --to-destination 192.168.1.1:80-100 si nous voulons spécifier une plage de ports. Comme vous pouvez le voir, la syntaxe est à peu près la même que la cible SNAT, même si elles font deux choses totalement différentes. Les spécifications de port sont valides uniquement pour les règles qui précisent les protocoles TCP ou UDP avec l'option --protocol

Administration Système : Passerelle Internet DNAT (Exemple 2) Nous voulons publier notre site web via notre connexion Internet. Nous ne possédons qu'une seule adresse IP, et le serveur HTTP est situé dans notre réseau interne. Notre pare-feu possède l'adresse IP externe $INET_IP, et notre serveur HTTP a l'adresse IP interne $HTTP_IP et enfin le pare-feu a l'adresse IP interne $LAN_IP. La première chose à faire est d'ajouter la simple règle suivante à la chaîne PREROUTING dans la table nat : iptables -t nat -A PREROUTING --dst $INET_IP -p tcp --dport 80 -j DNAT --to-destination $HTTP_IP

Administration Système : Passerelle Internet DNAT (Exemple 2) Maintenant, tous les paquets provenant de l'Internet et allant vers le port 80 sur notre pare-feu, sont redirigés (ou DNATés) vers notre serveur HTTP interne. Si vous testez ceci depuis L'Internet, tout devrait fonctionner parfaitement. mais, que se passe-t-il si vous essayez de vous connecter depuis un hôte sur le même réseau local que le serveur HTTP ? Il ne fonctionnera tout simplement pas. C'est un réel problème avec le routage. Commençons par voir ce qui se passe dans un cas normal. La machine externe possède une adresse IP $EXT_BOX

Administration Système : Passerelle Internet DNAT (Exemple 2) Le paquet quitte l'hôte connecté allant vers $INET_IP et la source $EXT_BOX. Le paquet atteint le pare-feu. Le pare-feu DNAT le paquet et envoie celui-ci à travers les différentes chaînes, etc. Le paquet quitte la pare-feu pour aller vers le $HTTP_IP. Le paquet atteint le serveur HTTP, et la machine HTTP répond en retour à travers le pare-feu, si c'est cette machine que la base de routage a entré comme passerelle pour $EXT_BOX. Normalement, ça devrait être la passerelle par défaut du serveur HTTP. Le pare-feu Un-DNAT le paquet de nouveau, ainsi le paquet semble provenir du pare-feu lui-même. Le paquet en réponse transite vers le client $EXT_BOX.

Administration Système : Passerelle Internet DNAT (Exemple 2) Maintenant, voyons ce qui se passe si le paquet est généré par un client sur le même réseau que le serveur HTTP lui-même : Le paquet quitte la $LAN_BOX vers $INET_IP. Le paquet atteint le pare-feu. Le paquet est DNATé, et toutes les autres actions requises sont prises, cependant, le paquet n'est pas SNATé, ainsi la même adresse source IP est utilisée pour le paquet. Le paquet quitte le pare-feu et atteint le serveur HTTP. Le serveur HTTP essaie de répondre au paquet, et voit dans les tables de routage que le paquet provient d'une machine locale sur le même réseau, et donc tente d'envoyer le paquet directement à l'adresse source IP d'origine (qui devient alors l'adresse IP de destination). Le paquet atteint le client, et le client est dans la confusion car le paquet en retour ne provient pas de l'hôte qui a envoyé la requête d'origine. Donc, le client supprime le paquet, et attend une réponse "réelle".

Administration Système : Passerelle Internet DNAT (Exemple 2) La solution la plus simple à ce problème est de SNATer tous les paquets entrants dans le pare-feu sortant vers un hôte ou une IP sur lequel nous faisons du DNAT. Exemple, regardons la règle ci-dessus. Nous SNATons les paquets entrants dans notre pare-feu qui sont destinés à $HTTP_IP port 80 et ainsi il est vu que des paquets proviennent d'une $LAN_IP. Ceci force le serveur HTTP à envoyer ces paquets vers notre pare-feu, lequel Un-DNAT ceux-ci et les envoie au client. La règle ressemble à ceci : iptables -t nat -A POSTROUTING –p –s 10.10.11.0/24 tcp --dport 80 -j SNAT --to-source 172.21.11.1

Sauvegarde et restauration des tables de règles importantes Administration Système : Passerelle Internet Sauvegarde et restauration des tables de règles importantes Une des principales raisons d'utiliser iptables-save et iptables-restore est qu'elles améliorent la vitesse de chargement et de restauration des tables de règles importantes. Le problème principal lors du lancement de scripts shell contenant des règles iptables est que chaque invocation d'iptables dans le script extraira l'ensemble des règles de l'espace Netfilter du noyau, et après cela, inserrera les règles, ou toute autre action en réponse à la commande spécifique. Enfin, ajoutera les nouvelles règles issues de sa propre mémoire dans l'espace noyau. L'utilisation d'un script shell, créé pour chacune des règles que vous voulez insérer, prend plus de temps pour l'extraction et l'insertion de la table de règles.

Sauvegarde et restauration des tables de règles importantes Administration Système : Passerelle Internet Sauvegarde et restauration des tables de règles importantes Pour résoudre ce problème, il existe les commandes iptables-save et restore. La commande iptables-save est utilisée pour sauvegarder la table de règles dans un fichier texte au format spécial, et la commande iptables-restore est utilisée pour charger ce fichier à nouveau dans le noyau. Le plus intéressant de ces commandes est qu'elles chargent et sauvegardent la table de règles en une seule action. iptables-save récupérera la table de règles du noyau et la sauvegardera dans un fichier en une seule action. iptables-save -c > /etc/iptables-save iptables-restore -c < /etc/iptables-save

Merci 