Logo English Web Page
Accueil Association BSD Linux Dev Reseau Infologisme Mac OSX
tl tr
Sujet Firewall Date 02-10-2013
Titre FreeBSD - Configuration du Firewall IPFilter Section BSD Linux
Article

Historique – Firewall BSD

Historiquement il existe trois « Firewall » pour FreeBSD.

IPFireWall – IPFW est le Firewall originel de FreeBSD, actuellement le Firewall utilisé par défaut par Mac OS X.

Packet Filter – PF provient de OpenBSD il est disponible en standard depuis la version 5.3 de FreeBSD.

IPFilter – IP Filter est développé et maintenu par Darren Reed. Site Web
Remarque : Ces trois « Firewall » sont installés avec le Système de base FreeBSD, mais non configurés et inopérants.

IPFilter – Firewall

IPFilter est un module logiciel qui fournit des fonctions de pare-feu pour de nombreux systèmes d‘exploitation de base Unix ou BSD et pour certain Linux. Il peut être intégré au Kernel Unix ou être chargé dynamiquement comme module externe de celui-ci.

IPFilter est un Package logiciel qui peut être utilisé pour fournir aussi une Translation d‘Adresse Réseau NAT ou un service de Firewall. IPFilter peut être utilisé de deux façons, soit en module externe du Kernel, soit comme module intégré au Kernel. Il est fortement recommandé d‘utiliser IPFilter en tant que module externe du Kernel.

Le diagramme ci-dessous illustre les différentes étapes introduites par IP Filter dans le filtrage du flux des paquets TCP/IP.
Diagram illustrating the flow of TCP/IP packets through the various stages introduced by IP Filter.
                                   IN
                                    |
                                    V
          +-------------------------+--------------------------+
          |                         |                          |
          |                         V                          |
          |            Network Address Translation             |
          |                         |                          |
          |         authenticated   |                          |
          |       +-------<---------+                          |
          |       |                 |                          |
          |       |                 V                          |
          |       V           IP Accounting                    |
          |       |                 |                          |
          |       |                 V                          |
          |       |        Fragment Cache Check--+             |
          |       |                 |            |             |
          |       V                 V            V             |
          |       |         Packet State Check-->+             |
          |       |                 |            |             |
          |       |       +->--+    |            |             |
          |       |       |    |    V            |             |
          |       V   groups   Firewall check    V             |
          |       |       |    |    |            |             |
          |       |       +--<-+    |            |             |
          |       |                 |            |             |
          |       +---------------->|<-----------+             |
          |                         |                          |
          |                         V                          |
          |                +---<----+                          |
          |                |        |                          |
          |            function     |                          |
          |                |        V                          |
          |                +--->----+                          |
          |                         |                          |
          |                         V                          |
       +--|---<--- fast-route ---<--+                          |
       |  |                         |                          |
       |  |                         V                          |
       |  +-------------------------+--------------------------+
       |                            |
       |                        pass only
       |                            |
       |                            V
       V               [KERNEL TCP/IP Processing]
       |                            |
       |  +-------------------------+--------------------------+
       |  |                         |                          |
       |  |                         V                          |
       |  |                Fragment Cache Check--+             |
       |  |                         |            |             |
       |  |                         V            V             |
       |  |                 Packet State Check-->+             |
       |  |                         |            |             |
       |  |                         V            |             |
       V  |                    Firewall Check    |             |
       |  |                         |            V             |
       |  |                         |<-----------+             |
       |  |                         V                          |
       |  |                   IP Accounting                    |
       |  |                         |                          |
       |  |                         V                          |
       |  |            Network Address Translation             |
       |  |                         |                          |
       |  |                         V                          |
       |  +-------------------------+--------------------------+
       |                            |
       |                        pass only
       V                            |
       +--------------------------->|
                                    V
                                   OUT
IPFilter est intégré dans les Systèmes d‘exploitation suivants : FreeBSD, NetBSD et Solaris.

IPFilter – Spécificité

Deux configurations sont chargées en mémoire, une active et une inactive, une alternance des paramètres du Firewall est automatique pour tester une nouvelle configuration. Tester une seconde configuration pendant un laps temps puis revenir automatiquement sur la configuration d‘origine avec une simple ligne de commande :

ipf -s ; sleep 10 ; ipf -s

Quasiment aucun Firewall commercial inclut une alternative de ce type.

Par sécurité, IPFilter effectue un minimum d‘inspection de service du Kernel. Une inspection de service étant relativement complexe, tout « Bug » sur ce processus de Kernel pourrait permettre une prise de contrôle du Serveur.

IPFilter – Configuration

Configuration pour deux Interfaces Ethernet physiques, une pour héberger (em1) et l‘autre pour utiliser en local (em0).

em0 172.16.20.1/24
em1 192.168.1.1/24



Section du fichier /etc/rc.conf

#
ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.rules"
ipmon_enable="YES"
ipmon_flags="-Ds"
webmin_ipfilter_enable="YES" * si Webmin est installé et fonctionnel.



Le fichier /etc/ipf.rules

pass in on lo0 all
pass out on lo0 all
pass in on em0 all
pass out on em0 all
pass in quick on em1 proto tcp from any port = domain to any
pass out quick on em1 proto tcp from any to any port = domain
pass in quick on em1 proto udp from any port = domain to any
pass out quick on em1 proto udp from any to any port = domain
pass in quick on em1 proto tcp from any port = http to any
pass out quick on em1 proto tcp from any to any port = http
block in quick on em1 from any port = 25 to 192.168.1.1/24
block out quick on em1 from 192.168.1.1/24 port = 25 to any
block in quick on em1 from any port = 3306 to 192.168.1.1/24
block out quick on em1 from 192.168.1.1/24 port = 3306 to any
block in quick on em1 from any port = 10000 to 192.168.1.1/24
block out quick on em1 from 192.168.1.1/24 port = 10000 to any
block in quick on em1 proto tcp from 192.168.1.1/24 to <thishost>
block out quick on em1 proto tcp from <thishost> to 192.168.1.1/24
block in quick on em1 proto udp from 192.168.1.1/24 to <thishost>
block out quick on em1 proto udp from <thishost> to 192.168.1.1/24



Le fichier /etc/ipnat.rules

map em0 172.16.20.1/24 -> 0.0.0.0/32
map em1 192.168.1.1/24 -> 0.0.0.0/32

Webmin – Section IPFilter

Avec Webmin cliquer sur l‘icône Réseau puis sur l‘icône IPFilter Firewall on obtient le formulaire ci-dessous :
IPFilter Firewall IPFilter version 4.1.28
Sélectionner tout. | Inverser la sélection.
 Active  Action  Direction  Condition  Move   Add 
 Oui  Pass  Incoming  If interface is lo0
 Oui  Pass  Outgoing  If interface is lo0
 Oui  Pass  Incoming  If interface is em0
 Oui  Pass  Outgoing  If interface is em0
 Oui  Pass  Incoming  If protocol is TCP and source port = domain and interface is em1
 Oui  Pass  Outgoing  If protocol is TCP and destination port = domain and interface is em1
 Oui  Pass  Incoming  If protocol is UDP and source port = domain and interface is em1
 Oui  Pass  Outgoing  If protocol is UDP and destination port = domain and interface is em1
 Oui  Pass  Incoming  If protocol is TCP and source port = http and interface is em1
 Oui  Pass  Outgoing  If protocol is TCP and destination port = http and interface is em1
 Oui  Block  Incoming  If source port = 25 and destination is 192.168.1.1/24 and interface is em1
 Oui  Block  Outgoing  If source is 192.168.1.1/24 and source port = 25 and interface is em1
 Oui  Block  Incoming  If source port = 3306 and destination is 192.168.1.1/24 and interface is em1
 Oui  Block  Outgoing  If source is 192.168.1.1/24 and source port = 3306 and interface is em1
 Oui  Block  Incoming  If source port = 10000 and destination is 192.168.1.1/24 and interface is em1
 Oui  Block  Outgoing  If source is 192.168.1.1/24 and source port = 10000 and interface is em1
 Oui  Block  Incoming  If protocol is TCP and source is 192.168.1.1/24 and destination is this host and interface is em1
 Oui  Block  Outgoing  If protocol is TCP and source is this host and destination is 192.168.1.1/24 and interface is em1
 Oui  Block  Incoming  If protocol is UDP and source is 192.168.1.1/24 and destination is this host and interface is em1
 Oui  Block  Outgoing  If protocol is UDP and source is this host and destination is 192.168.1.1/24 and interface is em1
Sélectionner tout. | Inverser la sélection.
Sélectionner tout. | Inverser la sélection.
 Active  NAT Mode  Packets to match  Translation  Move   Add 
 Oui  Mapping  If interface is em0 and from network 172.16.20.1 netmask 24  To interface address
 Oui  Mapping  If interface is em1 and from network 192.168.1.1 netmask 24  To interface address
Sélectionner tout. | Inverser la sélection.
Click this button to make the firewall configuration listed above active. Any firewall rules currently in effect will be flushed and replaced.
Click this button to reset the configuration listed above to the one that is currently active.
Warning – any inactive rules, comments on rules and hostnames will be lost.
Oui Non Change this option to control whether your firewall is activated at boot time or not.
Click this button to clear all existing firewall rules and set up new rules for a basic initial configuration.


Article connexe du sujet

BIND Système Nom Domaine - FreeBSD
Configuration Oracle VM VirtualBox pour FreeBSD-8.4
FreeBSD - Installer et Configurer version 8.4-RELEASE
FreeBSD - Installer et Configurer version 9.2-RELEASE
Serveur Virtuel FreeBSD-8.4 dans Mac OSX Snow Leopard
Webmin - Administration Serveur & Système

Auteur
Eric Douzet
Début de page
bl br
C-extra.com v. 1.2.2 © 2000-2014, tous droits réservés  –  Mise à jour le 12 Avril 2014 Infologisme.com