« Reseau-secu-firewall » : différence entre les versions
(conversion de la documentation originale de Léa par HTML::WikiConverter) |
Aucun résumé des modifications |
||
(8 versions intermédiaires par 5 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[ | [[Catégorie:Sécurité]] | ||
= Firewall = | = Firewall = | ||
Attention : cette documentation est obsolète. | |||
<div class="leatitre">Firewall</div><div class="leapar">par Serge (légèrement modifié par Jicé)</div><div class="leadesc">Protégez vous derrière un mur de feu.</div> | <div class="leatitre">Firewall</div><div class="leapar">par Serge (légèrement modifié par Jicé)</div><div class="leadesc">Protégez vous derrière un mur de feu.</div> | ||
---- | ---- | ||
Ce document a été inspiré du [http://www.freenix.org/unix/linux/HOWTO/Firewall-HOWTO.html Firewall-HOWTO], de l'[http://www.freenix.org/unix/linux/HOWTO/IPCHAINS-HOWTO.html IPCHAINS-HOWTO] et du [http://www.freenix.org/unix/linux/HOWTO-vo/IP-Masquerade-HOWTO.html IP-Masquerade-HOWTO]. C'est la synthèse de ces trois documents pour permettre la mise en place des techniques de Firewalling. Je vous conseille quand même de lire ces HOWTO pour plus de compréhension. Je suppose que vous savez configurer un réseau IP, au cas où jeter un coup d'oeil sur la rubrique [lan | Ce document a été inspiré du [http://www.freenix.org/unix/linux/HOWTO/Firewall-HOWTO.html Firewall-HOWTO], de l'[http://www.freenix.org/unix/linux/HOWTO/IPCHAINS-HOWTO.html IPCHAINS-HOWTO] et du [http://www.freenix.org/unix/linux/HOWTO-vo/IP-Masquerade-HOWTO.html IP-Masquerade-HOWTO]. C'est la synthèse de ces trois documents pour permettre la mise en place des techniques de Firewalling. Je vous conseille quand même de lire ces HOWTO pour plus de compréhension. Je suppose que vous savez configurer un réseau IP, au cas où jeter un coup d'oeil sur la rubrique [[Reseau-cxion locale-lan|réseau local]]. Il se peut que des erreurs se soient glissées dans cette présentation, de plus je ne pourrai être tenu responsable d'une mauvaise configuration de votre système. La sécurité est un sujet vaste, toujours en évolution et je ne prétends pas vous fournir ici une solution exempte de tout danger. Ce document est à prendre comme une présentation de ces techniques. | ||
Attention : le filtrage plus fin et les techniques de proxy ne sont pas encore décrits. | |||
== Explications == | == Explications == | ||
Ligne 30 : | Ligne 32 : | ||
Avec Linux ce style de filtrage au niveau de la couche IP est intégré directement dans le noyau, il suffit donc d'avoir un 486 avec 8 Mo de mémoire et d'une distribution Linux avec juste un kernel de base et la couche IP pour faire un tel Firewall. | Avec Linux ce style de filtrage au niveau de la couche IP est intégré directement dans le noyau, il suffit donc d'avoir un 486 avec 8 Mo de mémoire et d'une distribution Linux avec juste un kernel de base et la couche IP pour faire un tel Firewall. | ||
De plus ils sont totalement transparents pour les utilisateurs, pas d'authentification pour aller vers l'extérieur et pas de paramétrages spécifiques sur les machines des utilisateurs. Un désavantage, c'est qu'il n'y a pas d'authentification possible par utilisateur mais par adresse IP. C'est à dire que si l'on veut en interne interdire à certaine personnes d'aller vers l'extérieur ce n'est possible que si l'on connaît l'adresse de la machine de cet utilisateur, on ne peut pas empêcher que la personne aille sur une autre machine et il faut de plus que les machines aient toujours la même adresse, ce qui peut poser problème lorsqu'on on utilise | De plus ils sont totalement transparents pour les utilisateurs, pas d'authentification pour aller vers l'extérieur et pas de paramétrages spécifiques sur les machines des utilisateurs. Un désavantage, c'est qu'il n'y a pas d'authentification possible par utilisateur mais par adresse IP. C'est à dire que si l'on veut en interne interdire à certaine personnes d'aller vers l'extérieur ce n'est possible que si l'on connaît l'adresse de la machine de cet utilisateur, on ne peut pas empêcher que la personne aille sur une autre machine et il faut de plus que les machines aient toujours la même adresse, ce qui peut poser problème lorsqu'on on utilise [[DHCP]]. | ||
</div> | </div> | ||
Ligne 40 : | Ligne 42 : | ||
==== <font color="#CC33CC">Proxy d'applications</font> ==== | ==== <font color="#CC33CC">Proxy d'applications</font> ==== | ||
<div style="margin-bottom: 0in">Leur fonctionnement ressemble un peu au fonctionnement du premier | <div style="margin-bottom: 0in">Leur fonctionnement ressemble un peu au fonctionnement du premier Firewall, c'est à dire quand une application d'une machine locale va vers l'extérieur, en fait elle se connecte sur le Proxy et c'est le Proxy lui-même qui va chercher l'information puis la renvoyer vers la machine demandeuse.</div><div style="margin-bottom: 0in">Un exemple : vous voulez récupérer un fichier via FTP sur internet, en fait votre client FTP vas se connecter sur le proxy qui va faire serveur FTP, le Proxy va en même temps ouvrir une session FTP sur le serveur distant, il va récupérer le fichier cible et vous le renvoyer via son serveur FTP. En fait c'est toujours le Proxy qui récupère les données et vous les renvoie.</div><div style="margin-bottom: 0in">Ça à l'avantage d'être très sécurisé pour la machine cliente, ça fait cache la plupart du temps donc ça réduit le trafic réseau, ça peut permettre l'authentification aussi si l'on oblige une authentification sur les applications du Proxy. Par contre ça demande des configurations spéciales sur les clients, ça demande aussi d'installer sur le proxy les applications serveur de chaque protocole que l'on souhaite fournir aux utilisateurs et ça consomme énormément de ressources.</div> | ||
==== <font color="#CC33CC">Proxy « SOCKS »</font> ==== | ==== <font color="#CC33CC">Proxy « SOCKS »</font> ==== | ||
Ligne 188 : | Ligne 190 : | ||
<blockquote><tt>source rc.firewall</tt></blockquote> Voilà ! Votre firewall est configuré ! A vous de jouer sur les règles afin d'optimiser la sécurité sur votre réseau local...</div><div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli le 05/06/2000.</div> | <blockquote><tt>source rc.firewall</tt></blockquote> Voilà ! Votre firewall est configuré ! A vous de jouer sur les règles afin d'optimiser la sécurité sur votre réseau local...</div><div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli le 05/06/2000.</div> | ||
Ligne 201 : | Ligne 199 : | ||
* [http://www.fwbuilder.org Firewall builder], un excellent outil pour configurer votre firewall sous Linux. | * [http://www.fwbuilder.org Firewall builder], un excellent outil pour configurer votre firewall sous Linux. | ||
* La logithèque de Léa, [[Logithèque:Oldrub=21|section Sécurité]]. | * La logithèque de Léa, [[Logithèque:Oldrub=21|section Sécurité]]. | ||
<br/> | |||
<br/> | |||
'''<b>[[Reseau-index|@ Retour à la rubrique Réseau et sécurité]]</b>''' | |||
<br/> | |||
= Copyright = | |||
Copyright © 05/06/2000, Serge Tchesmeli | |||
{{LDL}} |
Dernière version du 17 mai 2012 à 14:38
Firewall
Attention : cette documentation est obsolète.
Ce document a été inspiré du Firewall-HOWTO, de l'IPCHAINS-HOWTO et du IP-Masquerade-HOWTO. C'est la synthèse de ces trois documents pour permettre la mise en place des techniques de Firewalling. Je vous conseille quand même de lire ces HOWTO pour plus de compréhension. Je suppose que vous savez configurer un réseau IP, au cas où jeter un coup d'oeil sur la rubrique réseau local. Il se peut que des erreurs se soient glissées dans cette présentation, de plus je ne pourrai être tenu responsable d'une mauvaise configuration de votre système. La sécurité est un sujet vaste, toujours en évolution et je ne prétends pas vous fournir ici une solution exempte de tout danger. Ce document est à prendre comme une présentation de ces techniques.
Attention : le filtrage plus fin et les techniques de proxy ne sont pas encore décrits.
Explications
_ ---- _ ________ +---> PC2
( ) | | |
( INTERNET )<---->|FIREWALL|<---+---> PC3
(_ _) |________| |
---- +---> PC4
Les différents types de Firewall
Vous avez compris les problèmes que cela engendre :
- on travaille directement sur le Firewall donc chaque utilisateur qui va par exemple « naviguer » sur le web vas lancer un nouveau processus « navigateur »,
- on n'a pas accès directement à sa machine avec ses ressources mais à celle du Firewall, et la protection s'arrête juste a une authentification d'utilisateur.
Les Firewalls à filtrage de paquets
Avec Linux ce style de filtrage au niveau de la couche IP est intégré directement dans le noyau, il suffit donc d'avoir un 486 avec 8 Mo de mémoire et d'une distribution Linux avec juste un kernel de base et la couche IP pour faire un tel Firewall.
De plus ils sont totalement transparents pour les utilisateurs, pas d'authentification pour aller vers l'extérieur et pas de paramétrages spécifiques sur les machines des utilisateurs. Un désavantage, c'est qu'il n'y a pas d'authentification possible par utilisateur mais par adresse IP. C'est à dire que si l'on veut en interne interdire à certaine personnes d'aller vers l'extérieur ce n'est possible que si l'on connaît l'adresse de la machine de cet utilisateur, on ne peut pas empêcher que la personne aille sur une autre machine et il faut de plus que les machines aient toujours la même adresse, ce qui peut poser problème lorsqu'on on utilise DHCP.
Les Firewalls Proxy
Proxy d'applications
Proxy « SOCKS »
Pré-installation d'un Firewall filtrant sous Linux
- Version 1.x.x : une copie de ipfwadm (mais bon je vous conseille vivement de passer a une version supérieure de kernel).
- Version 2.0.x : ipwadm est sûrement déjà présent, vérifiez quand même.
- Version 2.2.x : ipchains (sûrement présent aussi).
- Version 2.3.x et 2.4 à venir : le format de firewall a encore changé, il n'est pas encore décrit dans ce document.
- Squid
- TIS Firewall toolkit (FWTK)
- Socks
<y> Enable loadable module support
<*> Packet socket
[ ] IP: multicasting
[y] IP: advanced router
[ ] IP: kernel level autoconfiguration
[y] IP: firewalling
[y] IP: always defragment (required for masquerading)
[y] IP: transparent proxy support
[M] IP: masquerading
--- Protocol-specific masquerading support will be built as modules.
[M] IP: ICMP masquerading
--- Protocol-specific masquerading support will be built as modules.
[Y] IP: masquerading special modules support <- Choisir tout les modules en répondant M
[y] IP: optimize as router not host
< > IP: tunneling
< > IP: GRE tunnels over IP
[y] IP: aliasing support
[y] IP: TCP syncookie support (not enabled per default)
--- (it is safe to leave these untouched)
< > IP: Reverse ARP
[y] IP: Allow large windows (not recommended if <16Mb of memory)
< > The IPv6 protocol (EXPERIMENTAL)
Cochez également toutes les autres options nécessaires (voir la [../kernel/kernel.php3 rubrique noyau]).
- Remarque
- Vérifiez la configuration réseau, assurez-vous que l'adresse de réseau de votre LAN est bien une des adresses réservée (192.168.2.0 par exemple, voir la [lan.php3 rubrique réseau local] pour ça). Pour la configuration de la carte externe, assurez vous aussi de sa bonne configuration pour accéder au net (testez votre connexion en fait), de même si la connexion se fait par modem. Pour tout ce qui suit je suppose que votre connexion au net se fait via une carte ethernet, en fait si vous utilisez un modem, de toute façon c'est identique. Bon avant de vraiment configurer le firewall on va tout d'abord mettre en place le « masquerading ».
Mise en place du filtrage, du masquerading, routage LAN<->NET et règles de base
/sbin/depmod -a (n'ajoutez cette ligne que si elle n'est pas déjà présente)/sbin/modprobe ip_masq_ftp (pour ftp)/sbin/modprobe ip_masq_raudio (pour real audio)/sbin/modprobe ip_masq_irc (pour IRC)
- Remarque :
- Je vous rappelle quand même que plus vous ouvrirez de services, plus votre sécurité baissera. En effet certains services « supplémentaires » peuvent contenir des bugs encore inconnus mais exploitables plus tard. Si vous voulez une sécurité accrue n'autorisez que le web ainsi que le FTP, surtout si vous êtes sur un réseau d'entreprise, je ne vois pas pourquoi l'IRC par exemple doit être activé, on n'en a pas besoin pour travailler dans une entreprise :).
10.0.0.0 - 10.255.255.255 Classe A172.16.0.0 - 172.31.255.255 Classe B192.168.0.0 - 192.168.255.255 Classe C
Masque | Valeur de x | Classe |
---|---|---|
255.0.0.0 | 8 | A |
|
|
|
|
|
|
|
|
|
Si pour vous ce style de notation de masque vous gêne vous pouvez aussi utiliser la notation xxx.xxx.xxx.xxx du masque pour remplacer x.
Pour notre exemple on tape alors:
# ipchains -P forward DENY
- La première ligne indique au noyau de ne transmettre AUCUN paquet, donc on bloque TOUT en fait.
- La deuxième ligne elle indique de transmettre les paquets réseaux de notre LAN (192.168.1.0 avec masque 255.255.255.0).
Pour rendre ces règles « permanentes » après chaque reboot, ajoutez-les aussi dans un fichier que vous appelez par exemple rc.firewall que vous placez dans /etc/rc.d, sinon vous allez devoir les taper à chaque reboot du système.
#!/bin/bash
# D'abord on bloque tout
permettre le filtrage.... veuillez le recompiler."
# On charge les modules de masquerade
echo "OK"
# Vous pouvez y inclure ou enlever
# les modules de votre choix
# Puis on applique les règles
echo "OK"
# A vous de bien fixer les règles suivant votre réseau
On peut alors appeler ce script depuis /etc/rc.d/rc.local en y ajoutant une ligne :
Voilà ! Votre firewall est configuré ! A vous de jouer sur les règles afin d'optimiser la sécurité sur votre réseau local...source rc.firewall
Autres ressources
- Firewall-HOWTO
- IPCHAINS-HOWTO
- IP-Masquerade HOWTO
- IP-Masq. mini-HOWTO
- Firewall builder, un excellent outil pour configurer votre firewall sous Linux.
- La logithèque de Léa, section Sécurité.
@ Retour à la rubrique Réseau et sécurité
Copyright
Copyright © 05/06/2000, Serge Tchesmeli
Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la Licence pour documents libres, Version 1.1 publiée par la La Guilde des Doctorants. Pour plus d'informations consulter la LDL sur le site de La Guilde des Doctorants. |