Linux:sowall
Un article de Djjnet.
Sommaire |
Présentation
sowall permet de réaliser un firewall (pare-feu) facilement grâce à netfilter/iptables.
La version actuelle est la 2.2.
sowall est distribué sous licence GPL V2 : http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Installation
Package Debian
Ajouter la clef GPG, en root :
gpg --keyserver pgpkeys.mit.edu --recv-key FBECF2F742AE6156 gpg -a --export FBECF2F742AE6156 | apt-key add -
Modifier votre fichier /etc/apt/sources.list et ajouter :
deb http://debian.dj-j.net/ ./
Puis :
apt-get update
Enfin :
apt-get install sowall
Installation Manuelle
- Télécharger la version source Media:Sowall-2.2.tar.gz.
Les instructions suivantes permettre l'installation dans /usr/bin et /etc/. Par défaut, l'installation est dans /usr/local
tar -zxf sowall-2.2.tar.gz cd sowall-2.2 make prefix=/usr sysconfdir=/etc all make prefix=/usr sysconfdir=/etc install
Faire un lien symbolique dans init.d :
ln -s /usr/bin/sowall /etc/init.d/sowall
Ajouter au démarrage après la configuration du réseau dans les /etc/rcX.d à l'aide de chkconfig ou update-rc.d selon la distribution.
Configuration
Pour la suite, nous considérons que l'installation a été réalisée dans /usr/bin et /etc/
Les fichiers de configuration se trouve dans /etc/sowall/.
Pour le fichier de configuration principal sowall.conf, il est nécessaire de modifier LOGULOGD=1 à LOGULOGD=0 dans le cadre d'une installation manuelle et sans ulogd.
De base, uniquement le traffic bloqué est inscrit dans les logs :
LOGLEVEL=1
Si vous avez besoin de modifier la valeur de /proc/sys/net/ipv4/ip_conntrack_max, il suffit de renseigner dans le fichier de configuration la variable CONNTRACKMAX.
Il faut vérifier les interfaces configurées dans le fichier de configuration zones.conf, par défaut :
#Nom="interface" WAN="eth0" INTRA="eth1" DMZ="eth2"
Le mot clef qui sera utilisé pour identifier la machine (serveur ou poste de travail) où est configuré sowall est :
SERVER
Il est nécessaire de renseigner des "objets" dans le fichier de configuration objects.conf ainsi :
#NOMOBJET="IP" #Ne pas mettre de - il faut mettre des _ TEST_OBJECT="123.1.2.3" TEST_RESEAU="1.2.3.4/255.255.255.128
Ces objets sont utilisés dans les règles du firewall (fichier rules.conf)
#SOURCE-SPORT-DESTINATION-PROTO-DPORT #ALL : Mot clef represant TOUT pour source, destination, protocol, port #SERVER : Mot clef represantant le serveur #WAN:OBJET-ALL-SERVER-UDP-53 #SERVER-ALL-WAN:OBJET-TCP-80 # # WAN-ALL-SERVER-TCP-22 SERVER-ALL-WAN-TCP-53 SERVER-ALL-WAN-UDP-53 SERVER-ALL-WAN-TCP-25
Utilisation
Le script peut être appelé directement ainsi :
sowall commande
ou
/etc/init.d/sowall commande
Exemple d'utilisation, après modification d'une règle firewall
Il faut :
- Supprimer les règles sauvegardées :
sowall purge
- Lancer le chargement des nouvelles règles :
sowall start
Une autre solution est dans le cas de règles "risquée" de tester les nouvelles règles pendant X secondes :
sowall test 90
Après 90 secondes, les règles sont remises à ACCEPT par défaut et sans aucune règle. Si le test est concluant, vous pouvez les appliquer avec :
sowall start
- Sauvegarder les règles, pour qu'elles soient relancées plus rapidement :
sowall save
Pour arrêter les règles firewall
Il suffit de lancer :
sowall stop
Logs
Dans les cas de l'utilisation de ulogd, les logs sont mis dans le fichier :
/var/log/ulog/syslogemu.log
Documentation
La syntaxe des fichiers de configuration est présente au début de ceux-ci.
Un man est disponible :
man sowall


