Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Sécurisation du réseau dans Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
1. Utilisation de la protection des liens dans des environnements virtualisés
3. Serveurs Web et protocole SSL (Secure Sockets Layer)
4. IP Filter dans Oracle Solaris (présentation)
Sources d'informations pour Open Source IP Filter
Traitement des paquets avec IP Filter
Recommandations relatives à l'utilisation d'IP Filter
Utilisation des fichiers de configuration IP Filter
Utilisation d'ensembles de règles IP Filter
Utilisation de la fonctionnalité de filtrage de paquets d'IP Filter
Configuration des règles de filtrage de paquets
Utilisation de la fonctionnalité NAT d'IP Filter
Utilisation de la fonctionnalité de pools d'adresses d'IP Filter
6. Architecture IPsec (présentation)
7. Configuration d'IPsec (tâches)
8. Architecture IPsec (référence)
9. Protocole IKE (présentation)
Pour gérer le pare-feu, vous devez spécifier des ensembles de règles à l'aide d'IP Filter, puis filtrer le trafic réseau en fonction de ces ensembles de règles. Les types d'ensembles de règles suivants sont disponibles :
Ensembles de règles de filtrage de paquets
Ensembles de règles NAT (Network Address Translation, translation d'adresse réseau)
Par ailleurs, il est possible de créer des pools d'adresses pour référencer des groupes d'adresses IP. Ensuite, ces pools peuvent être utilisés dans un ensemble de règles. Les pools d'adresses permettent d'accélérer le traitement des règles. En outre, ils facilitent la gestion des grands groupes d'adresses.
Vous pouvez configurer le filtrage de paquets à l'aide des ensembles de règles de filtrage de paquets. La commande ipf permet d'utiliser les ensembles de règles de filtrage de paquets. Pour plus d'informations sur la commande ipf, reportez-vous à la page de manuel ipf(1M).
Vous pouvez créer des règles de filtrage de paquets via la ligne de commande, à l'aide de la commande ipf ou dans un fichier de configuration de filtrage de paquets. Pour charger le fichier de configuration, vous devez le créer, puis indiquer son chemin d'accès au service IP Filter.
Avec IP Filter, deux ensembles de règles de filtrage de paquets peuvent coexister : l'ensemble de règles actif et l'ensemble de règles inactif. Dans la plupart des cas, vous utiliserez l'ensemble de règles actif. Toutefois, la commande ipf -I vous permet d'appliquer l'action de la commande à la liste de règles inactives. La liste de règles inactives n'est pas employée par IP Filter, sauf si vous la sélectionnez. La liste de règles inactives constitue l'emplacement auquel vous pouvez enregistrer des règles sans affecter le filtrage de paquets actif.
IP Filter traite les règles de la liste de règles du début à la fin de la liste de règles configurée, puis transmet ou bloque le paquet. Un indicateur permet à IP Filter de déterminer si un paquet doit être transmis ou non. Il parcourt l'intégralité de l'ensemble de règles et détermine si le paquet doit être transmis ou bloqué, en fonction de la dernière règle correspondante.
Il existe deux exceptions à ce processus. D'une part, si le paquet correspondant à une règle contenant le mot-clé quick, Si une règle inclut le mot-clé quick, l'action associée à cette règle est exécutée et les règles suivantes sont ignorées. D'autre part, si le paquet correspond à une règle contenant le mot-clé group, seules les règles portant l'indicateur de ce group sont vérifiées.
Appliquez la syntaxe suivante pour créer des règles de filtrage de paquets :
action [in|out] option keyword, keyword...
Chaque règle commence par une action. IP Filter applique l'action au paquet si celui-ci correspond à la règle. Les actions habituellement appliquées aux paquets sont répertoriées ci-dessous.
Empêche le paquet de traverser le filtre.
Permet au paquet de traverser le filtre.
Consigne le paquet sans déterminer s'il est bloqué ou transmis. Exécutez la commande ipmon pour afficher le journal.
Inclut le paquet dans les statistiques du filtre. Exécutez la commande ipfstat pour afficher les statistiques.
Le filtre saute nombre règles de filtrage.
Le paquet est authentifié par un programme utilisateur qui valide les informations qu'il contient. Le programme détermine si le paquet est transmis ou bloqué.
Le mot suivant est in ou out. Votre choix détermine si la règle de filtrage de paquets est appliquée à un paquet entrant (in) ou à un paquet sortant (out).
Ensuite, vous pouvez insérer toute une liste d'options. Si vous en utilisez plusieurs, elles doivent être dans l'ordre indiqué ci-dessous.
Consigne le paquet si la règle constitue la dernière règle correspondante. Exécutez la commande ipmon pour afficher le journal.
Exécute la règle contenant l'option quick si un paquet lui correspond. Toute vérification de règle subséquente est interrompue.
Applique la règle uniquement si le paquet entre ou sort via l'interface spécifiée.
Copie le paquet et envoie la copie sur nom-interface vers une adresse IP éventuellement spécifiée.
Déplace le paquet vers une file d'attente sortante sur nom-interface.
Une fois les options spécifiées, vous avez le choix entre plusieurs mots-clés afin de déterminer si le paquet correspond à la règle. Les mots-clés doivent être utilisés dans l'ordre indiqué ci-dessous.
Remarque - Par défaut, le filtre autorise la transmission de tout paquet ne correspondant à aucune règle du fichier de configuration.
Filtre les paquets en fonction de leur type de service, exprimé sous forme d'entier décimal ou hexadécimal.
Filtre les paquets en fonction de leur durée de vie. La durée de vie d'un paquet est une valeur enregistrée dans celui-ci qui indique la durée pendant laquelle le paquet peut se trouver sur le réseau avant d'être abandonné.
Les paquets correspondant à la règle sont déterminés en fonction d'un protocole spécifique. Vous pouvez employer l'un des noms de protocole spécifiés dans le fichier /etc/protocols ou un nombre décimal représentant le protocole. Le mot-clé tcp/udp peut être utilisé pour filtrer les paquets TCP ou UDP.
Filtre les paquets en fonction des éléments suivants : l'adresse IP source, l'adresse IP de destination et le numéro de port. Le mot-clé all permet d'accepter tous les paquets, quelles que soient leur source et leur destination.
Les paquets correspondant à la règle sont ceux qui sont associés à des attributs spécifiques. Insérez le mot not ou no devant le mot-clé pour indiquer qu'un paquet ne correspond à la règle qu'en l'absence de l'option.
Employé pour TCP afin de filtrer les paquets en fonction des indicateurs TCP définis. Pour plus d'informations sur les indicateurs TCP, reportez-vous à la page de manuel ipf(4).
Filtre les paquets en fonction du type d'ICMP. Ce mot-clé n'est employé que si l'option proto est définie sur icmp et que l'option flags n'est pas utilisée.
Détermine les informations conservées pour le paquet. Les keep-options disponibles incluent l'option state. L'option state conserve des informations sur la session et peut être appliquée aux paquets TCP, UDP et ICMP.
Crée un groupe pour les règles de filtrage, désigné par le numéro numéro.
Ajoute la règle au groupe de numéro numéro au lieu du groupe par défaut. Toutes les règles de filtrage sont placées dans le groupe 0 si aucun autre groupe n'est spécifié.
L'exemple suivant illustre la constitution d'une syntaxe de règle de filtrage de paquets pour créer une règle. Pour bloquer le trafic entrant à partir de l'adresse IP 192.168.0.0/16, ajoutez la règle suivante à la liste de règles :
block in quick from 192.168.0.0/16 to any
Pour obtenir la syntaxe et la grammaire complètes utilisées pour écrire des règles de filtrage de paquets, reportez-vous à la page de manuel ipf(4) Pour une description des tâches associées au filtrage de paquets, reportez-vous à la section Gérez les ensembles de règles de filtrage de paquets d'IP Filter. Pour une explication du schéma d'adresse IP (192.168.0.0/16) présenté dans l'exemple, reportez-vous au Chapitre 1, Planification du développement du réseau du manuel Configuration et administration de réseaux Oracle Solaris 11.1.
NAT configure des règles de mappage qui réalisent la translation des adresses IP source et de destination vers d'autres adresses Internet ou intranet. Ces règles modifient les adresses source et de destination des paquets IP entrants et sortants et envoient les paquets. Vous pouvez également utiliser NAT pour rediriger le trafic d'un port à un autre. NAT assure l'intégrité du paquet en cas de modification ou de redirection de celui-ci.
Vous pouvez créer des règles NAT à la ligne de commande, à l'aide de la commande ipnat ou dans un fichier de configuration NAT. Vous devez créer le fichier de configuration NAT et définir son chemin d'accès comme valeur de la propriété config/ipnat_config_file du service. La valeur par défaut est /etc/ipf/ipnat.conf. Pour plus d'informations, reportez-vous à la commande ipnat(1M).
Les règles NAT peuvent s'appliquer à la fois aux adresses IPv4 et IPv6. Toutefois, vous ne pouvez pas spécifier les deux types d'adresses dans la même règle. Au contraire, vous devez définir des règles distinctes pour chaque type d'adresse. Dans une règle NAT qui inclut les adresses IPv6, vous ne pouvez pas utiliser les commandes NAT mapproxy et rdrproxy simultanément.
Appliquez la syntaxe ci-dessous pour créer des règles NAT :
command interface-name parameters
Toute règle commence par l'une des commandes ci-dessous :
Mappe une adresse IP ou un réseau IP vers une autre adresse IP ou un autre réseau IP selon un processus circulaire non contrôlé.
Redirige les paquets d'un couple port-adresse IP vers un autre couple port-adresse IP.
Etablit une translation d'adresse réseau bidirectionnelle entre une adresse IP externe et une adresse IP interne.
Etablit la translation basée sur les adresses IP statiques. Cette commande se base sur un algorithme qui force la translation des adresses vers une plage de destination.
Le mot suivant correspond au nom de l'interface, par exemple bge0.
Ensuite, vous avez le choix entre divers paramètres, afin de définir la configuration NAT. Les paramètres suivants sont disponibles :
Désigne le masque réseau.
Désigne l'adresse cible de la translation de ipmask.
Désigne les protocoles tcp, udp ou tcp/udp, ainsi qu'une plage de numéros de port.
L'exemple ci-dessous indique comment construire une règle NAT. Pour réécrire un paquet sortant sur le périphérique net2 avec l'adresse source 192.168.1.0/24 et pour afficher son adresse source comme étant 10.1.0.0/16, ajoutez la règle ci-dessous à l'ensemble de règles NAT :
map net2 192.168.1.0/24 -> 10.1.0.0/16
Les règles suivantes s'appliquent aux adresses IPv6 :
map net3 fec0:1::/64 -> 2000:1:2::/72 portmap tcp/udp 1025:65000 map-block net3 fe80:0:0:209::/64 -> 209:1:2::/72 ports auto rdr net0 209::ffff:fe13:e43e port 80 -> fec0:1::e,fec0:1::f port 80 tcp round-robin
Pour obtenir la syntaxe et la grammaire complètes, reportez-vous à la page de manuel ipnat(4).
Les pools d'adresses constituent une référence unique pour nommer un groupe de paires adresse/masque de réseau. Les processus fournis pas les pools d'adresses permettent de trouver plus rapidement les adresses IP correspondant aux règles. En outre, ils facilitent la gestion des grands groupes d'adresses.
Les règles de configuration de pool d'adresses peuvent se trouver dans un fichier qui est chargé par le service IP Filter. Vous devez créer un fichier et définir son chemin d'accès comme valeur de la propriété config/ippool_config_file du service. La valeur par défaut est /etc/ipf/ippool.conf .
Pour créer un pool d'adresses, appliquez la syntaxe suivante :
table role = role-name type = storage-format number = reference-number
Définit la référence des adresses.
Spécifie le rôle du pool dans IP Filter. A ce stade, vous ne pouvez faire référence qu'au rôle ipf.
Spécifie le format de stockage du pool.
Spécifie le numéro de référence utilisé par la règle de filtrage.
Par exemple, pour faire référence aux groupes d'adresses 10.1.1.1 et 10.1.1.2 et au réseau 192.16.1.0 à l'aide du numéro de pool 13, insérez la règle suivante dans le fichier de configuration de pool d'adresses :
table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24 };
Ensuite, pour faire référence au numéro de pool 13 dans une règle de filtrage, élaborez une règle similaire à la suivante :
pass in from pool/13 to any
Vous devez charger le fichier de pool avant de charger les règles contenant une référence au pool. Dans le cas contraire, le pool n'est pas défini, comme indiqué dans la sortie suivante :
# ipfstat -io empty list for ipfilter(out) block in from pool/13(!) to any
Si vous ajoutez le pool par la suite, l'ensemble de règle du noyau n'est pas mis à jour. Vous devez également recharger le fichier de règles faisant référence au pool.
Pour obtenir la syntaxe et la grammaire complètes, reportez-vous à la page de manuel ippool(4).