Smoothwall : 15.04.2005 Phil
Site de provenance : http://www.smoothwall.org/
Doc disponible,
Forums en
anglais
Prérequis matériel :
Pas grand chose ... ça dépend du nombre de machines connectées en même temps
et des services utilisés. Pour un petit réseau famillial, un Pentium 200 avec 64
Mos de Ram donne entière satisfaction et passe totalement inaperçu. Pour des
machines plus petites choisissez une passerelle OpenBSD avec PF qui saura se
contenter d'un 386 et de 16 Mos de Ram... donnez lui quand même des cartes
PCI.
Connaissances préalables
:
Pas grand chose... savoir ce qu'est une adresse ip.
Qu'est-ce qu'un Smoothwall ???
Important : le
Smoothwall est une machine dédiée EXCLUSIVEMENT à votre réseau !!! l'ensemble de
votre disque dur sera effacé lors de l'installation. Ne rêvez même pas d'un
double boot entre Smoothwall et un autre OS, ce système n'est PAS FAIT POUR
CA.
Le Smoothwall est un Système d'Exploitation permettant de transformer
une machine en un routeur-firewall muni de 2 ou 3 cartes réseau.
Pourquoi
2 cartes ?
Les 2 cartes servent à connecter la machine entre votre modem et
votre réseau interne.
La carte qui se connecte au modem est dite "carte
rouge" , celle qui se connecte à votre réseau interne est dite "carte
verte".
Le firewall dont est muni le Smoothwall permet de bloquer les
connections de la carte rouge vers la carte verte, c'est à dire de bloquer les
intrusions depuis internet vers votre réseau.
Pourquoi 3 cartes
?
Lorsque le Smoothwall est équipé de trois cartes, la rouge et la verte se
comportent comme expliqué précédement. La troisième carte nommée "carte orange"
permet de créer une DMZ (zone démilitarisée) dans la quelle vous pourrez placer
des serveurs qui doivent être accessibles depuis internet à certaines conditions
seulement. Par exemple pour un serveur web, le passage de la carte rouge vers la
carte orange sera autorisé sur le port TCP 80 uniquement. Les machines
installées sur la carte orange peuvent quand à elles "sortir" librement en
direction d'internet mais ne peuvent se connecter à votre réseau, à moins que
vous ne créiez une règle spéciale (déconseillé). Evidement les machines du
réseau interne (zone verte) peuvent se connecter sans restriction à celles de la
zone orange ou "sortir" sur internet.
Marche à
suivre pour installer un Smoothwall :
Temps nécessaire (à partir du point 5) : selon habitude 20 minutes
à ...
1) Se rendre sur le site de Smoothwall (www.smoothwall.org/get/)
et télécharger l'image iso de la dernière version stable. Télécharger également
tous les patches disponibles. Télécharger également le fichier contenant les
empreintes md5 de l'iso et des patches (très important). Si vous ne possédez pas
le md5summer (logiciel de calcul des empreintes), téléchargez-le
également.
2) A faire absolument !!!
Utilisez md5summer (empreinte de md5 summer.exe) pour calculer l'empreinte de
l'iso et des patches. Comparez ensuite ces empreintes avec celles qui sont
fournies par l'équipe de développement de Smoothwall.
Si elles sont
identiques vous avez des fichiers en parfait état, sinon retéléchargez les
fichiers dont l'empreinte calculée ne correspond pas à l'empreinte fournie (sans
quoi votre installation ne sera évidemment pas possible).
3) Gravez
l'image iso sur un CD-Rom.
Attention si vous utilisez Win-ON-CD vous devez
changer l'extension du fichier smoothwall.iso par smoothwall.raw sinon le CD-Rom
ne sera pas bootable.
4) Passez dans le Bios de votre
machine
Désactivez toutes les options nécessaires à Windows genre "plug and
play". Désactivez également les réservations de mémoire pour la carte graphique
genre "Memory Hole at 15M-16M" et "Video Bios Shadow". Sortez du Bios en
enregistrant les nouveaux paramètres et rebootez.
5) Bootez votre machine
sur le CD que vous venez de graver.
6) Si tout se passe bien vous arrivez
sur un écran d'accueil qui vous demande de confirmer votre volonté d'installer
le Smoothwall, pressez ENTER pour continuer...
Un système Linux démarre
(chargement du noyau et extraction des binaires de base) et commence
l'installation.
Deux écrans d'informations s'affichent à la suite,
lisez-les et continuez en pressant ENTER.
Arrive l'écran qui propose de
partitionner votre disque dur :
Attention toutes les
données présentes sur le disque seront effacées !!!
Le partitionnement
s'effectue...
Configuration des cartes réseau :
Ceci fait
l'installeur vous demande de configurer les cartes réseau :
Il s'agit de
trouver les drivers correspondant à vos cartes réseau (la recherche peut être
effectuée automatiquement "Probe") et de leur atribuer une adresse.
Indiquez
le type de carte que vous possédez et renseignez les champs IP et masque réseau
correspondants à chacune de vos cartes. Le Smoothwall commence par la carte
verte (celle qui se trouve du coté de votre réseau interne).
Par exemple
:
- l'installeur détecte une première et une seconde carte Realtek 8139 et
vous demande ensuite l'adresse et le masque de la verte, tapez (selon votre
réseau) 192.168.2.1 et 255.255.255.0
Prévoyez un sous réseau pour chacune de
vos cartes : sinon le Smoothwall ne peut fonctionner. Vous pouvez vous servir du
masque pour définir des sous-réseaux différents. Consultez une documentation à
ce sujet si vous ne comprenez pas ce point.
Une méthode simple est de
prévoir la topologie suivante :
Votre modem internet possède l'adresse
192.168.1.1 masque 255.255.255.0 (souvent le cas), le réseau rouge est donc
192.168.1.x (ou 192.168.1/24) ce qui signifie que les trois premiers paquets
définissent le réseau.
Votre carte rouge (qui fait face au modem) peut donc
avoir l'adresse 192.168.1.2 et le masque 255.255.255.0 (elle appartient ainsi au
même réseau que votre modem ce qui est correct).
Votre carte verte pourra
avoir 192.168.2.1 (masque 255.255.255.0)
et la carte orange pourra avoir
192.168.3.1 (masque 255.255.255.0)
Dans ce cas, toutes les machines
connectées sur la carte orange auront une adresse genre 192.168.3.y et le masque
255.255.255.0 et celles connectées sur la carte verte auront des adresses genre
192.168.2.y avec un masque 255.255.255.0 avec x variant de 1à 255 et y variant
de 2 à 254.
Si vous ne comprenez pas le pourquoi de cette explication,
contentez vous de reprendre les valeurs, elles sont
correctes.
Félicitations :
L'installeur vous félicite d'avoir
renseigné les adresses et éjecte le CD. Sortez le CD et
confirmez.
Rétablissement des paramètres préalablement sauvegardés
:
Il vous est ensuite demandé si vous possédez une disquette de sauvegarde
d'une précédente installation... si vous lisez tout ça, ce n'est probablement
pas le cas : répondez-lui "NON".
Configuration du clavier
:
L'installeur vous demande de choisir la configuration de votre clavier ...
choisissez quelquechose qui corresponde à ce que vous aimez... par exemple FR ou
FR_CH et validez.
Choisissez le nom de la machine : à votre
convenance, en minuscules
Proxy Web :
L'installeur vous demande
ensuite le nom de votre Proxy Web et le port utilisé ... ne répondez rien si
vous n'avez pas de proxy (cas général).
Configuration de l'ISDN
:
Votre smoothwall est connecté à un modem, choisissez "Disable ISDN".
(si
vous utilisez ISDN pour votre modem téléphonique, renseignez les champs selon
les indications de votre fournisseur d'accès internet).
Configuration
de l'ADSL :
Votre smoothwall est connecté à un modem, choisissez "Disable
ADSL".
(si vous utilisez un modem ADSL sur le port USB, renseignez les champs
selon les indications de votre fournisseur d'accès
internet).
Configuration du réseau :
- Network configuration
type : choisissez ce qui correpond à ce que vous avez chez vous.
Verte +
Rouge avec ISDN / Verte + Orange + Rouge ISDN / Verte + Orange / Verte + Orange
+ Rouge
- Vous voulez juste un firewall entre votre
modem ISDN et votre ordinateur, choisissez la
première
- Vous avez un modem connecté sur votre
carte réseau, un serveur web et un petit réseau, choisissez la dernière solution
(Verte+Orange+Rouge).
- Drivers et card assignments : choisissez pour chaque
carte le driver correspondant.
- Adress Settings : choisissez les adresses et
les masques pour chacune de vos cartes.
(Pour la carte rouge, vous avez la
possibilité de laisser votre carte obtenir une IP par DHCP).
- DNS and
Gateway Settings (paramétrage du DNS et de la passerelle) :
- pour la passerelle (gateway) : indiquez l'adresse de
votre modem,
- pour les DNS : indiquez aussi l'adresse de
votre modem si vous n'avez pas vos propres serveurs,
votre modem utilisera ainsi ceux de votre fournisseur
d'accès.
Choisissez ensuite les mots de passe :
Choisissez les
mots de passe pour les utilisateurs admin, root et setup.
admin se connecte
au Smoothwall par l'interface graphique et gère les services.
root peut tout
faire (normal pour root) mais par ssh seulement.
setup permet de revenir dans
ces écrans de configuration.
Définissez des mots de passe à la hauteur de la
sécurité que vous exigez de votre Smoothwall, notez les en lieu sûr car il est
impossible de les récupérer en cas de perte.
L'installation est terminée,
OK pour rebooter.
Branchement des
câbles réseau sur les cartes (NIC = Network Interface Card)
:
Il peut être difficile de savoir quel câble
brancher sur quelle carte ... évidement ce n'est pas égal !!!
Connectez vous
au Smoothwall comme utilisateur root et effectuez les opérations
suivantes:
1) Détection de la carte rouge (externe) :
envoyez des
ping à votre modem... si il ne répond pas changez le câble de carte... si le
modem répond, vous avez trouvé la bonne carte.
Exemple :
# ping
192.168.1.1 doit produire un réponse genre
64 bytes from 10.10.30.10:
icmp_seq=2 ttl=64 time=0.306 ms
64 bytes from 10.10.30.10: icmp_seq=2 ttl=64
time=0.306 ms
...
2) Détection de la carte orange :
envoyez des
ping à votre serveur web, qui doit répondre comme ci-dessus.
64 bytes from
10.10.30.10: icmp_seq=2 ttl=64 time=0.306 ms
Sinon changez le câble de
carte.
3) Détection de la carte verte :
en principe c'est celle qui
reste ...
le ping sur une machine interne doit aussi
fonctionner.
Post installation
:
1) Au prochain démarrage de votre machine,
retournez dans le Bios et modifiez la valeur "First Boot Device" : choisissez C
only pour empêcher le Smoothwall de booter sur le floppy ou le lecteur CD
2) Changez de machine et connectez-vous au smoothwall avec votre
navigateur internet :
utilisez l'adresse IP de la carte verte et le port 441
(exemple: https://192.168.3.1:441)
dans le menu
du haut choisissez "Maintenance" ... une interface de loggin vous demande de
vous identifier, indiquez admin comme utilisateur et tapez le mot de passe
correspondant.
3) Vous êtes maintenant sur la page de maintenance,
installez les patches en les récupérant depuis la machine que vous avez utilisée
pour les télécharger.
Attention : installez-les dans l'ordre, c'est
important !!!
Attention encore : le Smoothwall vérifie leur intégrité en se
connectant au site de smoothwall.org ce qui implique que votre connection
internet doit fonctionner et laiser passer le protocole concerné.
4)
Rendez-vous sur la page "About your Smoothie" pour vérifier les services en
route :
- Vérifiez que le système de détection d'intrusion est en route.
- Secure shell server (pour vous connecter par sftp, scp ou ssh - vi
disponible) si vous voulez.
- Web Proxy (stocke les pages visitées pour les
resservir plus vite) si vous voulez, possiblité de choisir transparent (pas de
config sur les navigateurs) ou non (possibilité de forcer l'utilisation d'un mot
de passe et configuration obligatoire des navigateurs qui utilisent le proxy).
- DHCP Server : permet de demander au Smoothwall d'attribuer une adresse IP
aux machines du réseau interne. Si vous ne l'avez pas configuré pendant
l'installation vous pouvez le faire en vous connectant localement en utilisant
le compte setup
Pour activer et configurer ces services (sauf DHCP) passez
sur la page "Services" et choisissez le service correspondant.
5)
Networking permet de paramétrer les règles de filtrage :
- "Port forwarding"
autorise des connections depuis internet sur le smoothwall lui-même (déconseillé
sauf SSH si vous voulez administrer votre Smoothwall depuis l'extérieur).
-
"External service access" permet d'ouvrir un port pour des connections depuis
internet vers la DMZ (orange). par exemple : vous voulez rendre votre serveur
web accessible de l'extérieur, ouvrez le port 80.
- "DMZ pinholes" permet
d'ouvrir des ports pour des connections de la DMZ vers la zone interne (verte).
Déconseillé !!! Sauf peut-être si votre serveur syslog est en zone verte et que
vous voulez que les serveurs de la zone orange puissent l'atteindre.
- "ppp
settings" permet de configurer le modem de secours que vous branchez sur le port
série
- "ip block" vous permet de définir les adresses ip que vous bloquez
et la manière de le faire : drop log !
- "advanced" permet d'affiner le
comportement du firewall par rapport à certains événements enable UPnP pas
conseillé car dangereux ... mais peut poser problème à MSN (bof...)
6)
Mise à l'heure de votre Smoothwall : Rendez-vous sur la page Service/Time :
- ajustez la Time zone avec une région correspondant à la votre
- vous
pouvez choisir de brutalement corriger l'heure en utilisant la fonction Set
- Activez le "Network Time Retrieval" en cochant la case "Enable"
-
Choisissez un délai de une heure pour les mises à jour de l'heure
- Si vous
connaissez un serveur de temps qui vous donne votre heure locale, activez "User
Defined Public or local Server" et renseignez son IP dans le champ
correspondant.
7) Notes concernant les logs :
- Si vous voulez que
votre firewall cesse de logger certains événements ... attaques sur port 443,
paquets RIP... Voyez le chapitre ci-dessous ou rendez-vous sur le site
smootwall.org et visitez le forum : en particulier le topic mod (modifications).
Vous y trouverez les explications permettant la modification du fichier de
config d'iptables.
- Si vous voulez pouvoir choisir l'ordre dans lequel vos
logs sont affichés faites pareil ... Attention toutefois, ces deux mods sont
innocentes, mais ce n'est pas le cas de toutes, même si elles peuvent paraître
sympas certaines d'entre elles sont incompatibles avec d'autres et leur
installation peut perturber le fonctionnement de votre Smoothwall. Méfiez vous
un peu, d'autant plus qu'elles n'ont pas été autant auditées que le reste de
votre système.
8) Ajouts intéressants :
- Integrit : (recommandé)
permet de calculer une empreinte SHA1 de tous vos fichiers, et de la comparer
régulièrement (crontab) avec la première que vous avez prise et gravée sur un
CD-Rom que vous laissez dans le lecteur.
Modifications pratiques :
Ces deux petites
modifications, simples à réaliser (arrangez vous toutefois pour avoir la paix)
sont faciles et ne devraient pas perturber le fonctionnement du Smoothwall. En
revanche elles risquent d'être effacées par une mise à jour : il se peut que les
fichiers modifiés soient concernés par la mise à jour et votre modif
n'apparaîtrait bien sûr pas si les fichiers concernés sont remplacés.
Ne pas logger les blocages du port 520 :
Modif de Marty Pot http://martybugs.net/smoothwall/iptables.cgi
Utile si votre modem utilise RIP et que les paquets envoyés sont bloqués par
le firewall. Comme votre modem peut envoyer de tels paquets très fréquemment,
vos logs deviennent immenses très rapidement et vous auriez beaucoup de peine à
retrouver les "vraies" attaques. La solution consiste à créer une règle dans
iptables pour que ces paquets soient droppés (laissés tomber) sans être loggés.
Vous pourriez aussi vouloir bloquer des paquets NetBios (ports 137-139) ou
des attaques du ver Blaster (443), adaptez votre modif à vos intentions en
insérant le port et le protocole adéquats.
Attention : cette modif ne
fonctionne telle quelle que si vous utilisez une carte réseau (rouge) pour vous
connecter à votre modem. Si vous utilisez ISDN, PPPoE ou PPPoA vous devrez la
modifier et spécifier le nom de l'interface utilisée, par exemple ppp0.
1) Connectez-vous au firewall en tant que root (en local ou avec Putty
par exemple).
2) Editez le fichier /etc/rc.d/rc.firewall.up
# vi
/etc/rc.d/rc.firewall.up
3) Immédiatement après la ligne
/sbin/iptables -P OUTPUT ACCEPT
ajoutez les deux lignes
suivantes :
# drop RIP traffic
/sbin/iptables -A INPUT -p UDP -i
$RED_DEV --dport 520 -s 0/0 -j DROP
4) appliquez les changements en
tapant les commandes suivantes :
# /etc/rc.d/rc.netaddress.down
&& /etc/rc.d/rc.netaddress.up && /usr/local/bin/restartsquid
ou en rebootant le smoothwall :
shutdown -r now
Si, après
avoir appliqué les changements, vous avez une erreur après la ligne "Setting up
firewall", vous avez sûrement fait une faute de frappe ou une autre erreur dans
le script du firewall et vous devrez y apporter les corrections requises.
N:B: SIOCDELRT: No such process n'est pas une erreur, vous l'avez aussi sans
la modif.
Vous pouvez vous servir de cette règle pour toutes sortes de
choses dont, par exemple, bloquer tout envoi de mail vers un autre serveur que
celui spécifié (celui de votre provider). Pour plus de détails allez visiter le site de Marty Pot, l'auteur de
cette modif, c'est un crack et il propose d'autres modifs intéressantes et très
bien acceptées par le Smoothwall.
Possibilité d'inverser les
logs :
Un des rares défauts du Smoothwall est le fait que les logs sont
(à mon avis) à l'envers, à savoir le plus vieux d'abord et le plus récent à la
fin ... question de goût direz-vous avec raison.
Toutefois voici une
modification permettant d'inverser à volonté les fichiers de log. Les auteurs
sont entre autres Marty Pots et Andreas Lindemark.
1) Téléchargez ici l'archive contenant les fichiers modifiés.
logs_2.01p1_1.0_Phil.tgz : md5 = 83c16398317e32e3621a7477b70cab79
Je me suis permis d'y
ajouter le fichier lang.pl avec les modifications que l'auteur suggère
d'effectuer manuellement.
2) Installation :
- Connectez-vous à votre
smoothwall par SCP ou SFTP
- Uploadez le fichier logs_2.0p1_1.0.tgz dans le
répertoire /tmp
- Connectez-vous par ssh à votre smoothwall
- Tapez la
commande tar -zxvf /tmp/logs_2.0p1_1.0.tgz -C /
- Quittez, c'est
terminé.
N.B. : Pour ceux qui tiendraient absolument à effectuer la
modif eux-mêmes, téléchargez la modif sur le site de l'auteur et
suivez les instructions fournies.
Astuces
:
Comme les commandes locate et whereis ne font pas partie de la
distrib Smoothwall, il peut être difficile de trouver un fichier donnée dans
l'arborescence de disque...
Utilisez donc la commande find
:
find / -name nom_du_fichier_cherché
-print
Postface :
J'utilise
des smoothwalls depuis plusieurs années, toutes ces machines donnent entière
satisfaction, font leur boulot de superbe manière et savent se faire oublier. Ne
passez pas votre temps à essayer de les bidouiller, elles ne s'en porteront que
mieux et remplaceront avantageusement des solutions commerciales beaucoup plus
chères mais pas forcément meilleures.
Il existe une version commerciale de
Smoothwall qui n'est que très peu différente : elle contient seulement quelques
fonctions supplémentaires, mais les fonctions disponibles dans l'installation de
base sont les mêmes que dans la version payante.
En principe Smoothwall est
gratuit pour une utilisation personelle... pour votre petite entreprise
personelle ? peut-être, lisez-bien la license !
Bien du
plaisir.