« Reseau-secu-firewall » : différence entre les versions
(conversion de la documentation originale de Léa par HTML::WikiConverter) |
(conversion de la documentation originale de Léa par HTML::WikiConverter) |
||
Ligne 192 : | Ligne 192 : | ||
Copyright © 05/06/2000, Serge Tchesmeli | Copyright © 05/06/2000, Serge Tchesmeli | ||
{{LDL}} | {{LDL}} | ||
=Autres ressources= | |||
* [http://www.freenix.org/unix/linux/HOWTO/Firewall-HOWTO.html Firewall-HOWTO] | |||
* [http://www.freenix.org/unix/linux/HOWTO/IPCHAINS-HOWTO.html IPCHAINS-HOWTO] | |||
* [http://www.freenix.org/unix/linux/HOWTO-vo/IP-Masquerade-HOWTO.html IP-Masquerade HOWTO] | |||
* [http://www.freenix.org/unix/linux/HOWTO/mini/IP-Masquerade.html IP-Masq. mini-HOWTO] | |||
* [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é]]. |
Version du 14 octobre 2005 à 19:00
Firewall
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 [lan.php3 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: rubrique non finie, 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 du 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
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. |
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é.