Lolokai – Supervision, systèmes, réseaux, base de données…

18

pfSense : la distribution FreeBSD dédiée au routage et au firewalling

Loic FONTAINE 21 juin 2011

Présentation

pfSense est un firewall/routeur open-source basé sur FreeBSD et distribué sous licence BSD. C’est un fork de monowall qui est aussi une distribution permettant de faire office de firewall. Non content d’être uniquement un firewall et un routeur, pfSense offre une multitude de fonctionnalités comme la prise en charge de : NAT, VPN over IPSec/PPTP, DHCP Server, serveur proxy….

Où est ce que pfSense doit être placé physiquement sur un réseau ?

Hé bien, par défaut, pfSense doit faire office de passerelle entre votre réseau et un réseau extérieur ou un autre sous-réseau. Il peut être interconnecté au réseau de la façon suivante :

Installation/Configuration de base

Installation

Pour télécharger pfsense, rendez-vous ici : Pfsense mirrors, nous prendrons comme exemple pfsense 2.0-RC1 (qui malgré son stade de release candidate reste a mon avis très stable). Maintenant que pfsense est téléchargé, gravez l’iso et insérez le CD-ROM dans votre machine et bootez dessus.

Lorsque le message : « Time-out before auto boot continues » appuyez sur la touche « I » de votre machine. L’installation se lance, on va vous demander de définir 3 paramètres par défaut, en général je laisse les 2 premiers paramètres par défaut, je passe juste mon clavier en fr. Validez en appuyant sur « Apply these settings ».
Appuyez sur « Quick/Easy Install », validez en appuyant sur « Ok », l’installation se lance. Suivant le type de processeur de votre machine, choisissez la bonne option lorsque cela vous est demandé. L’installation est terminée, appuyez sur Reboot. La machine redémarre.

Configuration des interfaces

La machine a démarré :). La première chose qu’il vous demande : Voulez-vous paramétrer des VLANS ? Pour faire simple, on réponds par non cependant si vous devez tagguer les paquets qui sortent faites le :). Puis il vous pose les questions suivantes :

Enter the WAN interface name or ‘a’ for auto-detection : Entrez ici l’interface réseau qui fait la liaison vers l’extérieur (vos cartes réseaux sont listées un peu plus haut)
Enter the LAN interface name or ‘a’ for auto-detection
NOTE : this enables full Firewalling/NAT mode.
(or nothing if finished): Entrez ici le nom de votre interface réseau qui communique avec votre réseau LAN

Si vous avez d’autres interfaces réseaux, entrez les dans les interfaces réseaux optionnelles sinon appuyez sur Entrée.
Lors du message de confirmation si vous avez bien configuré vos interfaces, appuyez sur la touche « y ».

L’écran suivant devrait apparaitre :

Si vous souhaitez modifier vos adresses IP, appuyez sur 2, choisissez l’interface pour laquelle vous voulez changer l’adresse IP puis suivez les instructions à l’écran. Il vous sera demandé en fonction de l’interface que vous configurez si vous souhaitez activer ou désactiver le serveur DHCP sur celle-ci (à vous de voir :)). Vous devrez aussi choisir entre le protocole https ou http pour administrer votre firewall, préferez le protocole https.

Maintenant, nous allons passer à la configuration de pfSense via l’interface web. Pour cela : https://[adresse_ip_du_reseau_lan]. Les logins par défaut sont : admin/pfsense.

Configuration des passerelles

Pour configurer les paserelles, rendez-vous dans : System ==> Routing. Si votre interface WAN est configurée via DHCP vous devriez voir déjà la paserelle de l’interface WAN.

Pour ajouter une passerelle : ; Pour supprimer une passerelle : ; Pour editer une passerelle :

Conseil : Lorsque vous avez configuré les passerelles, n’oubliez pas d’appliquer les changements en appuyant sur le bouton « Apply changes »

Configuration de NAT

Pour configurer NAT, rendez-vous dans Firewall ==> NAT. Vous aurez le choix, soit vous configurez du port forwarding, soit du 1:1 (c’est à dire une adresse WAN = une adresse LAN), ou bien du NAT en sortie (et non en entrée).

Pour ajouter une règle : ; Pour supprimer une règle : ; Pour editer une règle :

Conseil : Lorsque vous avez configuré NAT, n’oubliez pas d’appliquer les changements en appuyant sur le bouton « Apply changes »

Configuration du firewall

Pour configurer votre firewall, rendez-vous dans Firewall ==> Rules. Vous pouvez configurer une règle de firewall suivant l’interface sur laquelle elle s’applique (en entrée, en sortie ou les deux ^^).

Pour ajouter une règle : ; Pour supprimer une règle : ; Pour editer une règle :

Conseil : Lorsque vous avez configuré le firewall, n’oubliez pas d’appliquer les changements en appuyant sur le bouton « Apply changes ». Les règles du firewall s’applique de « A à Z », autrement dit la première règle en haut sera prioritaire sur les autres et ainsi de suite.

Les packages

Pfsense permet d’ajouter des packages (un peu comme des plug-ins) pour ajouter certaines fonctionnalités à notre firewall. A titre d’exemple, il est possible de « coupler » PfSense à SNORT (qui va permettre à Pfsense de faire aussi office d’IDS). Les packages disponibles peuvent être visualisés et installé ici : System ==> Packages ==> Availables packages.

Conclusion

pfSense permet de faire office de firewall et de routeur. Au delà de ça, il offre beaucoup de fonctionnalités très poussées comme : le NAT, le VPN etc… De plus, l’ajout de plug-ins permet à pfsense d’être totalement modulable et d’agrandir encore plus son panel de fonctionnalités. pfsense peut parfaitement se substituer à votre modem/routeur et même pousser plus loin encore les fonctionnalités de celui-ci. Bref, à mettre dans toutes les mains désireuses d’avoir un bon firewall/routeur à moindre cout :).

Et vous, avez-vous déjà testé pfsense ? ou même une autre distribution tel que : monowall, IPCop… ? Qu’en pensez-vous ?Loic FONTAINE

Comments (18)

  1. J’utilise Pfsense à ce jour à la maison et au bureau de ma femme sur une carte ALIX. La distribution est vraiment géniale car elle fait son job et l’interface est très simple. J’ai eu quelques soucis avec le package squidguard qui manque de stabilité je trouve dans sa version 1.4

    Il y a longtemps (10 ans), j’ai utilisé IPCop et ça marchait très bien aussi. Je n’ai pas suivi son évolution depuis.

    En mode plus complet, Zentyal (http://www.zentyal.org/) semble assez intéressant mais je ne l’ai pas encore déployé. Sans parlé de SambaEdu pour faire un PDC avec Samba & OpenLDAP.

    Répondre
  2. J’ai utilisé IPCop pendant longtemps mais le manque d’évolution du kernel (2.4.x même si une version 2.6.x existe maintenant en bêta) m’a conduit vers Smoothwall express dont je suis assez content.

    J’ai cependant testé PfSense il y a quelques temps et il est vrai que c’est une solution très complète et efficace, je pense d’ailleurs que ce sera ma future passerelle Internet.

    Concernant Zentyal, c’est une distribution « tout en un » très bien faite et séduisante mais du point de vue de la sécurité ce n’est guère recommandé d’avoir des services tiers sur une passerelle donc à utiliser avec précaution.

    Répondre
  3. Salut,

    J’ai testé pfSense récemment moi aussi. Et parmi tous les « OS-firewall » il me semble être le meilleur car disposant d’une interface logique et intuitive. De plus je préfère le système de nommages des cartes réseaux de FreeBSD à celui de Linux (même si c’est en train de changer).

    Son seul concurrent sérieux du côté de GNU/Linux est ipfire, quoi que je trouve l’interface pas très logique.

    As-tu testé les fonctionnalités VPN sur pfSense? Je l’ai configuré comme client OpenVPN et la connexion se fait bien mais je n’ai pas réussi à rediriger tout le traffic à travers le tunnel. C’est un peu dommage.

    Répondre
    • J’ai eu l’occasion de tester en entreprise le VPN PPTP qui fonctionne plutot pas mal ^^.

      Sinon j’ai aussi testé la fonctionnalité de proxy transparent avec pfsense + squid. Le résultat est assez satisfaisant et assez facile à configurer ^^.

      Répondre
    • Bonjour , Je voulais quelque tuyaux sur la configuration du proxy transparent. j’utilise pfsense présentement en tant que firewall. en lan j’ouvre uniquement l’accès à certains ports à ceux qui sont autorisé. Mais quand j’ai essayé d’ajouter squid et squidguard alors j’ai perdu le file. Est-ce que pour pouvoir configurer le squid sur pfsense je dois supprimer tous mes rules en LAN?.

      Répondre
      • Normalement tu ne devrais pas avoir besoin de supprimer tes règles. Cependant vérifie bien que les règles au niveau de ton firewall n’empêchent pas à tes ordinateurs de communiquer avec squid.

        Ensuite, tu dois configurer Squid de manière à autorisé le traffic depuis ton réseau LAN. quel version de pfsense utilise-tu ?

        Répondre
  4. Cela fait un bout de temps que je voulais essayer cette distribution. Cet article m’incite à le faire, je vais installer ça sur une vm Xen pour tester.

    Merci pour cet article

    Répondre
  5. Un gros problème toutefois dans la plupart des ces distributions : le support de l’IPv6. Cette fonctionnalité ne sera pas supporté pfsense avant le version 2.1…

    Répondre
  6. pfSense est un firewall Stateful basé sur FreeBSD, gratuit et open-source taillé pour une utilisation firewall ou routeur. En plus de sa puissance et flexibilité, la distribution inclut une longue liste de fonctionnalités et un système de paquets permettant sont extensibilité sans les vulnérabilité et les instabilités.
    guevara78@ Mise en place du filtre url (SquidGuard)
    Installation des paquets
    Aller dans system et packages et télécharger squid, squidgard, ligtsquid dans cet ordre.
    Aller dans service et proxy server choisir l’interface cocher allow user, transparent proxy enable login, proxy port 800, choisir sa langue.
    Aller dans system proxy content filter dans le menu general settings cocher Enable, Blacklist, choisir une adresse internet de fichiers de blacklist pour squidgard (par exemple http://www.shallalist.de/Downloads/shallalist.tar.gz ) puis cliquer sur apply et save (toujours les deux après un changement).
    Dans le menu de cette fenêtre aller dans default. Il apparaît une liste de catégories de sites (derrière chaque catégories des adresses de sites sont présentes même si elle ne sont pas visible).
    Pour chaque catégories 4 configurations sont permises :
    • — paramètre par défaut catégorie non prise en compte
    • white catégories autorisées
    • deny catégories non autorisées
    • alow catégories autorisées sauf les sites appartenant à une autre catégories «deny»
    Pour éditer ses propres règles de restrictions compléter le
    • Name : le nom de votre catégories
    • Domain list : adresse de nom de domaine (host.com)
    • Expressions : les mots clés à restreindre (sexe, voiture, jeux etc.)
    • Redirect mod : sélection du mode de redirection « ext url found (enter URL)»
    • Redirect : adresse url de redirection
    • Par exemple : tous les sites en «free.fr» seront bloqués et redirigés vers la page http://www.sport.lycos.fr/… ainsi que tous les sites avec les expressions «sexe|games|toto». Dans la page du menu défault la règle de destination est «DENY» . Le site«http://totoro.de.la.foret.free.fr» est accessible car la règle est «WHITE».
    Voila, j’espère que ca peut t’aider !

    Répondre
  7. bonjour,
    Ma mémoire est sur pfsense sur le suivi de bande passante et le detection d’intrusion.9a marche tres bien pour Ntop mais le probleme c’est que je n’arrive pas sur Snort et sur traffic shapping.j’ai essayé aussi de m’enregistrer sur snort pour la licence mais apres je sais plus quoi faire.Est ce que vous pouvez m’aider un peu s’il vous plait?
    Merci d’avance

    Répondre
  8. bonjour,
    dans la version pfsense V2.0.1 release du configuration et mise à jours du snort et ses règles!! il y a t il quelqu’un qui peuvent m’aider :( méme pour la liaison OpenVPN!! aidez moi stp

    Répondre
  9. bonjour pour les packages c’est different avec la version 2.1
    avant c’etait system ==>packages
    mais c’est plus comme ça avec la version 2.1 realese.est ce que y’a quelqu’un qui sait comment ajouter les packages avec la version 2.1

    Répondre

Laisser un commentaire

 

Login to your account

Can't remember your Password ?

Register for this site!