11 Fév

Firewall

firewallC’est le principe des clés sur les portes, on ne laisse pas entrer n’importe qui à l’intérieur. Seules réponses à des demandent de connexions venant de l’intérieur (voir TCP) sont autorisés. Le paramétrage permet aussi de choisir ce qui sort. Cependant la fonction de filtrage pour les utilisateurs est plus effectuée par la fonction de proxy.

Juridiquement, l’entreprise doit en effet se positionner face à des comportements liés aux menaces internes : le téléchargement de contenus musicaux et/ou pédophiles et le téléchargement de contenu avec un ordinateur appartenant à l’entreprise. Celle-ci doit faire face aux menaces externes via l’infection malicieuse (virus) et la fuite d’information (documents confidentiels, bases de données).

L’administrateur doit donc être en mesure de différencier les sites à risques pour l’utilisateur et par conséquence pour l’entreprise et veiller aux transferts de contenus illicites car l’objectif des pirates est clairement défini : inciter les utilisateurs à se connecter sur un site infecté via des liens corrompus ou des scripts intégrés (Malware, Drive-by-Download, Phishing, Pharming, Spam, Botnet, …) pour récupérer des informations « monnayables » (Spyware, Trojan, …).

Le proxy permet de répondre en partie à ces problématiques en assurant une première barrière de protection avec des fonctionnalités de filtrage avancé des URL via des politiques de blocage des sites web corrompus connus. L’ensemble des sites est ainsi regroupé par classes pour permettre aux entreprises de bloquer les sites malveillants aux contenus dangereux.

Les firewalls sont logiciels ou matériels, le monde Linux fournit des outils souvent basés sur ‘IP Tables’ pour mettre en œuvre un pare-feu. Ils existent aussi des distributions spécifiquement dédiés comme Ipfire (utilisé ici). Au niveau des appliances, les fournisseurs sont nombreux et proposent des UTM (Unified threat management), boitier qui referme regroupe de nombreuses fonctionnalités comme le firewall, l’antivirus, l‘anti spams.

Un PfSense dans un raspberry ‘like’

Un système pare-feu contient un ensemble de règles prédéfinies permettant :

  • D’autoriser la connexion (allow) ;
  • De bloquer la connexion (deny) ;
  • De rejeter la demande de connexion sans avertir l’émetteur (drop).

L’ensemble de ces règles permet de mettre en oeuvre une méthode de filtrage qui aujourd’hui n’autorise que les communications ayant été explicitement autorisées.

filtrage simple de paquets –routeur filtrant

Un système pare-feu fonctionne sur le principe du filtrage simple de paquets (en anglais « stateless packet filtering »). Il analyse les en-têtes de chaque paquet de données (datagramme) échangé entre une machine du réseau interne et une machine extérieure.
Ainsi, les paquets de données échangées entre une machine du réseau extérieur et une machine du réseau interne transitent par le pare-feu et possèdent les en-têtes suivants, systématiquement analysés par le firewall

  • adresse IP de la machine émettrice ;
  • adresse IP de la machine réceptrice ;
  • type de paquet (TCP,UDP, etc.) ;
  • numéro de port(rappel: un port est un numéro associé à un service ou une application réseau).

Le tableau ci-dessous donne des exemples de règles de pare-feu

Règle Action IP source IP dest Protocol Port source Port dest
1 Accept 192.168.10.20 194.154.192.3 tcp any 25
2 Accept any 192.168.10.3 tcp any 80
3 Accept 192.168.10.0/24 any tcp any 80
4 Deny any any any any any

Les ports reconnus (dont le numéro est compris entre 0 et 1023 sont associés à des services courants (les ports 25 et 110 sont par exemple associés au courrier électronique, et le port 80 au Web). La plupart des dispositifs pare-feu sont au minimum configurés de manière à filtrer les communications selon le port utilisé.

Le filtrage dynamique

La plupart des connexions reposent sur le protocole TCP, qui gère la notion de session, afin d’assurer le bon déroulement des échanges. D’autre part, de nombreux services (le FTP par exemple) initient une connexion sur un port statique, mais ouvrent dynamiquement (c’est-à-dire de manière aléatoire) un port afin d’établir une session entre la machine faisant office de serveur et la machine cliente.

Ainsi, il est impossible avec un filtrage simple de paquets de prévoir les ports à laisser passer ou à interdire. Pour y remédier, le système de filtrage dynamique de paquets est basé sur l’inspection des couches 3 et 4 du modèle OSI, permettant d’effectuer un suivi des transactions entre le client et le serveur. Le terme anglo-saxon est « stateful inspection » ou « stateful packet filtering », traduisez « filtrage de paquets avec état ».

Un dispositif pare-feu de type « stateful inspection » est ainsi capable d’assurer un suivi des échanges, c’est-à-dire de tenir compte de l’état des anciens paquets pour appliquer les règles de filtrage. De cette manière, à partir du moment où une machine autorisée initie une connexion à une machine située de l’autre côté du pare-feu; l’ensemble des paquets transitant dans le cadre de cette connexion seront implicitement acceptés par le pare-feu.

Si le filtrage dynamique est plus performant que le filtrage de paquets basique, il ne protège pas pour autant de l’exploitation des failles applicatives, liées aux vulnérabilités des applications. Or ces vulnérabilités représentent la part la plus importante des risques en terme de sécurité.

Le filtrage applicatif

Le filtrage applicatif permet de filtrer les communications application par application. Le filtrage applicatif opère donc au niveau 7 (couche application). Le filtrage applicatif suppose donc une connaissance des protocoles utilisés par chaque application.

Le filtrage applicatif permet, comme son nom l’indique, de filtrer les communications application par application. Le filtrage applicatif suppose donc une bonne connaissance des applications présentes sur le réseau, et notamment de la manière dont elle structure les données échangées (ports, etc.).

Un firewall effectuant un filtrage applicatif est appelé généralement « passerelle applicative » (ou « proxy »), car il sert de relais entre deux réseaux en s’interposant et en effectuant une validation fine du contenu des paquets échangés. Le proxy représente donc un intermédiaire entre les machines du réseau interne et le réseau externe, subissant les attaques à leur place. De plus, le filtrage applicatif permet la destruction des en-têtes précédant le message applicatif, ce qui permet de fournir un niveau de sécurité supplémentaire.

Il s’agit d’un dispositif performant, assurant une bonne protection du réseau, pour peu qu’il soit correctement administré. En contrepartie, une analyse fine des données applicatives requiert une grande puissance de calcul et se traduit donc souvent par un ralentissement des communications, chaque paquet devant être finement analysé.

Par ailleurs, le proxy doit nécessairement être en mesure d’interpréter une vaste gamme de protocoles et de connaître les failles afférentes pour être efficace.

Enfin, un tel système peut potentiellement comporter une vulnérabilité dans la mesure où il interprète les requêtes qui transitent par son biais. Ainsi, il est recommandé de dissocier le pare-feu (dynamique ou non) du proxy, afin de limiter les risques de compromission.

http://www.commentcamarche.net/contents/992-firewall-pare-feu

Les proxies ou serveurs mandataires

Ils ont 3  fonctions principales que l’on désigne en anglais sous les noms de cachingtracking et filtering.

Un serveur proxy est de servir de cache. Une mémoire cache sert à conserver localement des informations qui ont une certaine probabilité de servir à nouveau. Un serveur proxy stocke provisoirement les pages web que les utilisateurs vont chercher sur Internet. Si un internaute requiert une information qui se trouve déjà dans le cache, il sera servi presque immédiatement. Dans le cas contraire, il sera servi plus lentement, car la traversée du serveur proxy représente une étape supplémentaire dans le transport de l’information. L’information stockée dans le cache du proxy est conservée pendant un temps limité, 24 heures en général. Si le cache déborde, l’information la plus récente chasse la plus ancienne.  C’est un non-sens que de se servir d’un proxy pour les services dont l’information peut être mise à jour à tout instant (les news par exemple), à moins que le logiciel ne détecte ces mises à jour — ce qui est rare
Un serveur proxy garde une trace de tous les échanges d’information qui le traversent : l’adresse de l’internaute, l’heure, le site web demandé, et les pages consultées. C’est la fonction d’enregistrement.
On peut configurer un serveur web de telle sorte qu’il examine l’information qui le traverse, et qu’il refuse de délivrer les fichiers contenant une chaîne de caractères donnée. C’est la fonction de filtrage.

Le proxy permet également de déchiffrer le flux SSL pour certaines catégories de sites au travers d’une technologie de type « Man in the Middle » embarquée sans ajout de ressources additionnelles. Cela permet d’avoir de la visibilité sur les flux SSL et de bloquer les sites web inappropriés qui communiquent via le protocole SSL.

Etant donné que les cybercriminels se basent souvent sur des malwares via l’utilisation de kits (faciles à implémenter), les moteurs antimalwares peuvent donc être très utiles dans la configuration du proxy pour contrer en temps réel les menaces. Il est cependant possible de déjouer cela via certaines techniques de compression – cryptage. Là encore, le proxy prouve son efficacité en limitant l’accès aux sites à risque.

Au-delà de la configuration, il est important de bien identifier les problèmes remontés, via des modules d’analyse regroupant des fonctions innovantes et évoluées pour la création de rapports sur les activités Internet et l’ensemble des risques qui sont liés à l’utilisation quotidienne des employés. Cela permet de mettre en place une vraie politique de reporting avec une vision claire des sites à risque.

Toutes ces mesures permettent de limiter les risques liés à l’utilisation d’Internet en entreprise. Mais au-delà de la technologie, il est important d’adopter une politique de sécurité qui doit permettre de comprendre et d’identifier les dangers pour que l’employé en prenne lui-même conscience. Adopter les bons gestes et responsabiliser l’ensemble des acteurs afin de se protéger juridiquement devient le maître mot de la sécurité en entreprise.

Exemple de mise en œuvre avec IPfire

Objectifs

  • Mettre en place un firewall qui fera office de proxy web avec authentification LDAP.
  • Mise en place d’une redirection vers un serveur web et/ou FTP dans la DMZ
  • Pour mettre en place de la redondance avec KeepAlived c’est là

Concepts d’IPFIRE

Dans Ipfire (qui a repris le concept d’IPCOP), chaque interface du firewall est représentée par une couleur.

  • Rouge : carte vers Internet (ici 192.168.100.0/24)
  • Vert : carte vers le réseau local (192.168.0.0/24)
  • Orange : carte vers la DMZ (192.168.10.0/29)
  • Bleu : carte pour le réseau wifi

Par défaut IPFire agit comme un pare-feu et règle les accès ainsi :

Il fait proxy web, et IDS. On peut aussi lui ajouter des add-ons. L’installation de base est simple, le paramétrage parfois moins en fonction de l’infrastructure.

Mise en oeuvre

Schéma

 

ipfire esx sch-ipfire

 

 

Organisation

4 machines virtuelles minimum

  1. 1 VM IP Ipfire :
  • Vm linux démarrée à partir de Ipfire.iso

avec 3 cartes réseaux virtuelles (Avant le démarrage de la vm, noter les adresses Mac de chaque interface virtuelle)

  • La carte rouge sera en mode pont vers Internet
  • La carte verte sera en mode réseau interne (pour ce test) à renommer ‘vert’ par exemple
  • La carte orange sera fixée en réseau interne, à renommer ‘DMZ’.

ipfire esx

 

  1. Pour le client vert :
  • 1 carte sur le réseau interne virtuel –vert
  • Système client au choix : besoin d’un navigateur.

 

  1. Un serveur Web et un serveur FTP pour la DMZ
  • 1 carte sur le réseau interne virtuel –DMZ
  • Adressage fixe
  1. Un serveur Active Directory pour la fonction proxy d’authentification  (réseau vert)

Facultatif : Un serveur DHCP (réseau vert)

Installation d’IPFIRE

Démarrage de la vm Ipfire

Choisir les options courantes d’installation (français, clavier, etc) et les passwords  – attention au choix de clavier). La vm va redémarrer

Les étapes sont :

  1. attribution des paramètres réseau.
  • Choix du type de réseau : rouge +vert + orange dans notre cas.
  1. Attribution des cartes
  • Pour chaque interface sélectionner la carte virtuelle adéquate à l’aide de l’adresse mac. (que vous avez pensé à relever avant de démarrer la vm !)
  1. Attribution des IP :
  • Carte rouge en DHCP
  • Carte verte en 192.168.0.254/24 par exemple
  • Carte orange en 192.168.10.254/29
  1. Passerelle et DNS
  • Donner les DNS et la passerelle pour atteindre Internet.

Si il n’y pas déjà un serveur DHCP dans le LAN,  activer l’option DHCP pour le réseau vert (ou fixer l’adresse du client).

Plage de 192.168.0.10 à 192.168.0.20 passerelle = interface verte d’ipfire

IpFire redémarre il est fonctionnel à ce niveau.

Pour refaire l’installation se loger en root sur Ipfire

Taper : setup pour reconfigurer les choix de démarrage

Paramétrage depuis l’interface Web

  • Démarrer la vm cliente
  • Elle doit récupérer une adresse IP si le réseau interne virtuel est correctement paramétré.
  • Depuis le navigateur aller à l’adresse https://192.168.10.254:444
  • Accepter le certificat – l’alerte est due à l’auto signature du certificat.

IPfire présente son interface

Paramétrer des règles spécifiques

  • Par défaut le par feu est en mode 0. 
  • Pour paramétrer ses propres règles passer en mode 1.
  • Depuis la version 2.15 on ajoute directement les règles depuis Parefeu : firewall rules
  • Dans la partie Iptables on peut vérifier le paramétrage exact des règles.

Transfert de port

Permet de rediriger les demandes publiques vers les serveur web et FTP de la DMZ.

  • Une demande vient de l’interface rouge, (c’est-à-dire n’importe quelle adresse IP source puisse utiliser accéder à vos serveurs web).
  • Le port qui est demandé par la source est 80 pour le http, 21 pour ftp ou un autre port en fonction de l’appli.
  • La destination sera dans la DMZ, l’adresse IP de la machine Web, ou FTP
  • Enfin le port sera celui correspondant au protocole adéquat.
  • redirection nat

Paramétrage du Proxy

Authentification

Dans l’onglet réseau, cochez les cases de web proxy

Attention on ne peut pas avoir de proxy transparent et d’authentification. C’est l’un ou l’autre.

Dans le bas de la page, il faut choisir LDAP puis valider.

Il faut ensuite donner le lien vers le serveur Active Directory et déclarer le nom de domaine LDAP ainsi que celui de l’administrateur.

  • Attention cn= users,dc=domaine,dc=com
  • Créer ensuite un utilisateur avec des droits sur l’annuaire
  • Renseigner cet utilisateur cn=ipfire, cn=users, dc=domain, dc=com
  • Ainsi que le mot de passe

Si l’authentification LDAP ne fonctionne pas, il faut suivre cette procédure :http://general.sio57.info/wp/?p=689

Pour installer un vpn sur IPfire

http://general.sio57.info/wp/?p=802

Pour faire de la redondance (VRRP) avec IPfire

http://general.sio57.info/wp/?p=509

Une réflexion au sujet de « Firewall »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.