Vous êtes sur la page 1sur 50

www.alpha-engineering.

net

WHITE BOOK
SMOOTHWALL EXPRESS 3.0

THINK OPEN
THINK SECURE

**

AOUT 2009
Le présent document a été réalisé au sein de la société alpha-Engineering
(http://www.alpha-engineering.net) en vue d’expliquer le fonctionnement de la distribution
SmoothWall Express 3.0 qui est une distribution Open Source. L’élaboration de ce document
s’est faite en plusieurs étapes comme montré dans le tableau représenté ci-dessous :

Version Date Auteurs Description

1.0 29/06/2009 Mourad BELKHODJA Datasheet de Smoothwall


Ing. Express 3.0

1.1 01/07/2009 Chaker ZAAFOURY Révision et amélioration


Expert SSIR

1.2 07/07/2009 Mourad BELKHODJA Ajout du paragraphe 3


Ing. (Exigences matérielles pour
installer Smoothwall Express)

La consultation et la redistribution de ce document sont totalement autorisées. Alpha-


Engineering est en effet une société de service libre et soutient l’esprit de partage.

Public Privé Confidentiel

 □ □

Sachez toutefois qu’Alpha-Engineering se permet de réserver les droits de modifications de


ce document. Toute atteinte à l’intégralité de ce document ne sera pas tolérée.

Page 2

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering
Sommaire
Introduction ................................................................................................................................ 7
1. Architectures possibles avec Smoothwall Express ................................................................. 7
2. Installation de Smoothwall Express ........................................................................................ 8
3. Exigences matérielles pour installer Smoothwall Express ...................................................... 9
4. Services par défaut offerts par Smoothwall Express ............................................................ 10
5. Politique de pare-feu par défaut pour Smoothwall Express................................................. 11
6. Système de fichier de Smoothwall Express .......................................................................... 14
7. Informations sur le noyau de Smoothwall Express............................................................... 16
8. Interface web de Smoothwall Express.................................................................................. 16
8.1. Menu item About........................................................................................................... 18
8.2. Menu item Services ....................................................................................................... 21
8.3. Menu item Networking ................................................................................................. 26
8.4. Menu item VPN ............................................................................................................. 31
8.5. Menu item Logs ............................................................................................................. 32
8.6. Menu item Logs ............................................................................................................. 35
8.7. Menu item Maintenance ............................................................................................... 36
8.8. Menu item shutdown .................................................................................................... 39
8.9. Menu item help ............................................................................................................. 39
9. Fonctionnement de l’interface Web de Smoothwall Express .............................................. 40
9.1. index.cgi ......................................................................................................................... 40
9.2. status.cgi ........................................................................................................................ 41
9.3. advstatus.cgi .................................................................................................................. 41
9.4. graphs.cgi ....................................................................................................................... 41
9.5. bandwidthbars.cgi ......................................................................................................... 41
9.6. trafficmonitor.cgi ........................................................................................................... 42
9.7. register.cgi ..................................................................................................................... 42
9.8. proxy.cgi ........................................................................................................................ 42
9.9. im.cgi.............................................................................................................................. 42
9.10. p3scan.cgi .................................................................................................................... 42
9.11. sipproxy.cgi .................................................................................................................. 42
9.12. dhcp.cgi........................................................................................................................ 42
9.13. ddns.cgi ........................................................................................................................ 42
9.14. hosts.cgi ....................................................................................................................... 43
9.15. ids.cgi ........................................................................................................................... 43
9.16. remote.cgi.................................................................................................................... 43
9.17. time.cgi ........................................................................................................................ 43
9.18. portfw.cgi..................................................................................................................... 43
9.19. outgoing.cgi ................................................................................................................. 43
9.20. dmzholes.cgi ................................................................................................................ 43
9.21. xtaccess.cgi .................................................................................................................. 43
9.22. ipblock.cgi .................................................................................................................... 43
9.23. timedaccess.cgi ............................................................................................................ 44

Page 3

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering
9.24. traffic.cgi ...................................................................................................................... 44
9.25. advnet.cgi .................................................................................................................... 44
9.26. pppsetup.cgi ................................................................................................................ 44
9.27. interfaces.cgi................................................................................................................ 44
9.28. vpnmain.cgi ................................................................................................................. 44
9.29. vpn.cgi/vpnconfig.dat .................................................................................................. 44
9.30. logs.cgi/log.dat ............................................................................................................ 45
9.31. logs.cgi/proxylog.dat ................................................................................................... 45
9.32. logs.cgi/firewalllog.dat ................................................................................................ 45
9.33. logs.cgi/idslog.dat ........................................................................................................ 45
9.34. logs.cgi/imviewer.cgi ................................................................................................... 45
9.35. logs.cgi/pop3log.dat .................................................................................................... 45
9.36. ipinfo.cgi ...................................................................................................................... 45
9.37. iptools.cgi..................................................................................................................... 45
9.38. updates.cgi................................................................................................................... 45
9.39. modem.cgi ................................................................................................................... 46
9.40. alcateladslfw.cgi .......................................................................................................... 46
9.41. changepw.cgi ............................................................................................................... 46
9.42. backup.img .................................................................................................................. 46
9.43. preferences.cgi ............................................................................................................ 46
10. Les "adds-On" pour Smoothwall Express............................................................................ 46
10.1. Dansguardian add-on .................................................................................................. 46
10.2. Smoothinfo add-on...................................................................................................... 47
10.3. Adds-on supplémentaires............................................................................................ 48
10.4. Remarques concernant les adds-on ............................................................................ 48
Conclusion ................................................................................................................................ 48
Netographie .............................................................................................................................. 50

Page 4

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering
Sommaire des figures
Figure 1: définition des interfaces Green, Red, Orange et purple ............................................. 7
Figure 2: Authentification de Smoothwall Express 3.0 ............................................................. 17
Figure 3: Echec d'authentification sur Smoothwall Express 3.0 ............................................... 17
Figure 4: Page d'accueil de smoothwal Express 3.0 ................................................................. 17
Figure 5: Onglet status du menu About ................................................................................... 18
Figure 6: Onglet advanced du menu About.............................................................................. 18
Figure 7: Onglet traffic graphs du menu About........................................................................ 19
Figure 8: Onglet bandwidth bars du menu About .................................................................... 20
Figure 9: Onglet traffic monitor du menu About ..................................................................... 20
Figure 10: Onglet my smoothwall du menu About .................................................................. 21
Figure 11: Onglet web proxy du menu Services ....................................................................... 21
Figure 12: Onglet im proxy du menu Services .......................................................................... 22
Figure 13: Onglet pop3 proxy du menu Services...................................................................... 22
Figure 14: Onglet sip proxy du menu Services ......................................................................... 22
Figure 15: Onglet dhcp du menu Services ................................................................................ 23
Figure 16: Onglet dynamic dns du menu Services.................................................................... 24
Figure 17: Onglet static dns du menu Services......................................................................... 24
Figure 18: Onglet ids du menu Services ................................................................................... 25
Figure 19: Onglet remote access du menu Services................................................................. 25
Figure 20: Onglet time du menu Services................................................................................. 26
Figure 21: Onglet incoming du menu Networking ................................................................... 26
Figure 22: Onglet outgoing du menu Networking .................................................................... 27
Figure 23: Onglet internal du menu Networking ..................................................................... 27
Figure 24: Onglet external access du menu Networking.......................................................... 28
Figure 25: Onglet ipblock du menu Networking....................................................................... 28
Figure 26: Onglet timed access du menu Networking ............................................................. 29
Figure 27: Onglet qos du menu Networking ............................................................................ 29
Figure 28: Onglet advanced du menu Networking................................................................... 30
Figure 29: Onglet ppp du menu Networking ............................................................................ 30
Figure 30: Onglet interfaces du menu Networking .................................................................. 31
Figure 31: Onglet control du menu VPN................................................................................... 31
Figure 32: Onglet connectiuons du menu VPN ........................................................................ 32
Figure 33: Onglet system du menu Logs .................................................................................. 32
Figure 34: Onglet web proxy du menu Logs ............................................................................. 33
Figure 35: Onglet firewall du menu Logs .................................................................................. 33
Figure 36: Onglet ids du menu Logs ......................................................................................... 34
Figure 37: Onglet instant messages du menu Logs .................................................................. 34
Figure 38: Onglet email du menu Logs ..................................................................................... 34
Figure 39: Onglet ip information du menu Tools ..................................................................... 35
Figure 40: Onglet ip tools du menu Tools................................................................................. 35
Figure 41: Onglet shell du menu Tools ..................................................................................... 35
Figure 42: Onglet updates du menu Maintenance................................................................... 36

Page 5

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering
Figure 43: Onglet modem du menu Maintenance ................................................................... 36
Figure 44: Onglet speedtouh usb firmware du menu Maintenance ........................................ 37
Figure 45: Onglet passwords du menu Maintenance............................................................... 37
Figure 46: Onglet backup du menu Maintenance .................................................................... 38
Figure 47: Onglet preferences du menu Maintenance ............................................................ 38
Figure 48: Onglet shutdown du menu Maintenance ............................................................... 39
Figure 49: Menu Help (relatif à la page Maintenance>Shutdown) .......................................... 39
Figure 50: Dansguardian add on............................................................................................... 47
Figure 51: Smoothinfo add on .................................................................................................. 48

Page 6

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering
Introduction
Smoothwall est le nom de la communauté qui utilise le pare-feu Smoothwall Express.
Smoothwall Express est en fait une distribution Linux, Open Source et distribuée sous licence
GPL. Smoothwall Express est dédiée à être utilisée comme pare-feu dans un réseau
d’entreprise. Cette distribution a été développée à partir de RedHat linux (devenu plus tard
Fedora Project) en vue d’un usage facile qui ne nécessite aucune connaissance en Linux. En
effet, Smoothwall Express est totalement administrable via une interface WEB. Smoothwall
Express permet de sécuriser les échanges entre Internet et le réseau interne de l’entreprise
quel que soit son architecture (nous verrons plus loin dans ce document les architectures
possibles à configurer via Smoothwall Express)
La dernière version de Smoothwall est Smoothwall Express 3.0 SP1, sortie le 8 Janvier 2009.
Cette version est téléchargeable depuis le site officiel de Smoothwall
(http://www.smoothwall.org/). La version antérieure Smoothwall Express 3.0 a été lancée le
22 Aout 2007.

1. Architectures possibles avec Smoothwall Express


Avant d’aller plus loin, il est nécessaire de définir les termes interface Green, interface Red,
interface Purple et interface Orange :

 Interface Green : Désigne l’interface réseau (carte réseau) de Smoothwall Express qui
sera directement reliée au réseau interne câblé de l’entreprise.
 Interface Red : Désigne l’interface de Smoothwall Express qui sera reliée à Internet.
 Interface Purple : Désigne l’interface réseau sans fil de Smoothwall Express.
 Interface Orange : Désigne l’interface de Smoothwall Express qui sera reliée à la zone
démilitarisée (partie du réseau de l’entreprise où l’on isole les serveurs). Cette zone
est sauf exception câblée…

La figure suivante pourrait éclaircir encore plus sur la signification de ces différents
termes :

Figure 1: définition des interfaces Green, Red, Orange et purple

Il faut noter aussi que ces appellations ne sont pas propres à la communauté Smoothwall. On
utilise généralement ces mêmes termes quelque soit le pare-feu.

Page 7

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Voyons maintenant les architectures réseau qu’offre Smoothwall Express :
 Architecture Green : Cette architecture est utilisée si Smoothwall Express devait
utiliser une seule carte réseau qui sera reliée au réseau interne de l’entreprise.
L’interface rouge est dans cette configuration reliée directement à un modem (ou
RNIS).
 Architecture Green + Orange : Architecture basée sur deux cartes réseau. La
première est utilisée pour relier le réseau interne de l’entreprise. La deuxième relie la
zone démilitarisée. L’interface rouge est dans cette configuration aussi reliée
directement à un modem/RNIS.
 Architecture Green +Red : Smoothwall Express utilisera dans ce cas de figure une
carte réseau pour se connecter au réseau interne et une autre pour relier Internet.
 Architecture Green + Orange + Red : L’architecture Green + Orange + Red est choisie
dans le cas où l’on utilise trois cartes réseau pour relier Smoothwall Expres à la zone
démilitarisée, le réseau interne et Internet.
 Architecture Green + Purple (Red is modem/ISDN): Ici l’interface rouge est
directement reliée à un modem/RNIS. Smoothwall Express sera en outre relié au
réseau interne de l’entreprise via une carte réseau (généralement une carte
Ethernet) et au réseau sans fil de l’entreprise via une carte réseau sans fil…
 Architecture Green + Purple + Orange : Smoothwall Express propose cette
architecture afin de se connecter via trois cartes réseaux séparées aux : zones
démilitarisée, réseau sans fil et réseau interne de l’entreprise. L’interface rouge est
directement reliée à un modem/RNIS.
 Architecture Green + Purple + Red : Ici on utilise deux cartes réseaux pour câbles (afin
de relier le réseau interne de l’entreprise et Internet à Smoothwall Express) et une
carte réseau sans fil pour connecter le réseau sans fil de l’entreprise au pare-feu.
 Architecture Green + Purple + Orange + Red : Cette configuration réseau utilise trois
cartes réseaux pour câbles (afin de relier le réseau interne de l’entreprise, la zone
démilitarisée et Internet à Smoothwall Express) et une carte réseau sans fil pour
connecter le réseau sans fil de l’entreprise au pare-feu.
Smoothwall Express offre donc 8 configurations réseau possibles. L’une de ces configurations
devra être choisie et traitée lors de l’installation.
Remarque
L’installation de Smoothwall Express sur un disque dur provoquera la perte totale des
données qu’il contient. Smoothwall Express n’est en outre pas développer pour fonctionner
avec un autre système d’exploitation. Un double boot n’est pas possible sur une machine où
est installée Smoothwall Express.

2. Installation de Smoothwall Express


Un guide détaillé de l’installation de Smoothwall Express est disponible en téléchargement à
l’adresse suivante :
http://garr.dl.sourceforge.net/sourceforge/smoothwall/smoothwall-express-3.0-install-
guide.pdf

Page 8

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Si vous voulez installer Smoothwall Express sur un environnement virtuel, VMware Server par
exemple, vous pourrez rencontrer des problèmes si vous essayer d’installer à partir d’une
image iso. VMware Server affiche par exemple l’erreur "no harddisk found" lors de
l’installation sur un ordinateur portable muni d’un disque dur SATA…
Nous vous conseillons donc d’installer Smoothwall Express sur une machine physique ou le
cas échéant, installer directement l’image VMware disponible sur :
http://sourceforge.net/project/downloading.php?groupname=smoothwall&filename=smoot
hwall3-polar-vmimage.tar.bz2&use_mirror=garr

Remarques :
 La configuration réseau retenue sur l’image VMware de Smoothwall Express est
l’architecture Green +Red (voir plus haut)
 Les logins et mot de passe sont normalement configurés lors de l’installation de
Smoothwall Express. Les login et mots de passes pour l’image VMware sont :
 Login : "root" et mot de passe "happydays" pour l’authentification en mode
console
 Login : "admin" et mot de passe "happydays" pour l’authentification en
mode graphique (page web)
 La connexion à Smoothwall Express via un navigateur web se fait sur le port 81 (si on
accède via le protocole http) ou bien via le port 441 (si on accède via le protocole
https).

3. Exigences matérielles pour installer Smoothwall Express


Smoothwall Express 3.0 nécessite un environnement comportant les caractéristiques
minimales suivantes pour être déployé:

Système/ matériel Spécifications/ recommandations

Processeur Intel Pentium 200 ou processeur compatible.

Mémoire 128 Méga Octets de RAM pour les


fonctionnalités minimales

Disque dur 2 Giga Octets – IDE et SCSI supportés.

Clavier Si le système de boot permet de démarrer


sans clavier alors celui-ci n’est requis que
pour le premier démarrage (Installation et
configuration)

Carte Vidéo Requise seulement lors de l’installation

Moniteur Requis seulement lors de l’installation

Page 9

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
CD-ROM Requise seulement lors de l’installation

Lecteur Disquette Recommandé pour une éventuelle mise à


jour pour les vieilles versions

Types de connections Internet Internet carte réseau (NIC)


fonctionnelle

ADSL Support PCI ou


modem USB requis

RNIS Une carte RNIS ou


un port RS232 ou
connecteur USB
externe est requis

Modem Un modem, support


RS232, ISA ou
modem PCI requis

Cartes d’accès réseau Au minimum un support d’une carte réseau.


Selon le type de connexion vers Internet le
nombre de carte réseaux requis sera
augmenté

4. Services par défaut offerts par Smoothwall Express


Un simple scan sur la machine Smoothwall Express va nous informer sur les services offerts
par défaut sur cette machine. Auparavant, il faudra veiller à enlever les restrictions de pare-
feu que Smoothwall Express offre pour avoir un résultat de scan juste. Nous reviendrons plus
tard sur la procédure à suivre afin d’enlever ces restrictions.
Le scan de la machine Smoothwall Express via nmap a donné le résultat suivant :
PORT STATE SERVICE
53/tcp open domain
81/tcp open hosts2-ns
222/tcp open rsh-spx
441/tcp open decvms-sysmgt
Donc les services offerts par Smoothwall Express par défaut sont:
 DNS : service de conversion d'URLs en noms alphabétiques et vise versa
(correspondance)...
 host2-ns ou encore HOSTS2 Name Server: service d'informations et d'avertissements
(TCP port 441 protocol information and warnings). On peut consulter ce port pour
avoir des informations sur le système... Ce service est utilisé pour un accès web à
Smoothwall Express.

Page 10

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
 Service SSH (Secure SHell): On peut se connecter à distance, en mode console et en
mode sécurisé à smoothwall via ce service.
 Service decvms-sysmgt: service d'informations et d'avertissement (TCP port 441
protocol information and warnings). Ce service est utilisé pour un accès web sécurisé
à Smoothwall Express.

Observations :

Smoothwall Express protège la machine qui l’héberge et les réseaux auxquels elle est reliée.
En effet, les ports ouverts ne présentent pas de failles majeures. Le service secure shell ainsi
que les deux services de connexions web nécessitent une authentification. Le service DNS ne
présente quant à lui pas de risques pour la machine ou les réseaux auxquels elle est reliée. Si
on ajoute à cela les règles par défaut de pare-feu (voir plus loins), on verra bien que c’est une
solution de sécurité complète…

5. Politique de pare-feu par défaut pour Smoothwall Express


Quand on démarre la machine Smoothwall Express pour la première fois (mode console) et
qu’on tape la commande shell : iptables –L, nous aurons la liste des règles par défaut du
pare-feu. La politique par défaut est la suivante:
 Chain INPUT (policy DROP) : tout le trafic entrant vers la machine Smoothwall
Express est rejeté.
 Chain OUTPUT (policy ACCEPT): le trafic sortant de la machine Smoothwall Express
est autorisé.
 Chain FORWARD (policy DROP):le trafic transitant par la machine Smoothwall
Express est rejeté.
D’autres chaines sont définies mais ne sont pas explicitées comme par exemple la chaine
ipblock dont la spécification est la suivante :
Chain ipblock (6 references)
target prot opt source destination

En revanche on trouve des chaines explicités telle que la chaîne ipsec dont la définition est:
Chain ipsec (3 references)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:isakmp
ACCEPT esp -- anywhere anywhere
ACCEPT ah -- anywhere anywhere

La définition de ces chaînes sert surement à indexer les règles du pare-feu et donc à
améliorer les performances du point de vue temps de réponse...

Nous présentons dans ce qui suit le résultat complet de la commande iptables –L :

Page 11

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Page 12

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Afin de changer les règles de pare-feu, il faut utiliser la commande iptables avec les options
adéquates. Une aide sur iptables est disponible sur linux en tapant directement man iptables.
Une documentation en ligne est aussi disponible sur :
http://www.delafond.org/traducmanfr/man/man8/iptables.8.html

Page 13

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
6. Système de fichier de Smoothwall Express
Le système de fichier de Smoothwall Express se compose en gros des dossiers suivants :
/---|
|-------------------------bin/
|-------------------------boot/
|-------------------------dev/
|-------------------------etc/
| |--------------------rc.d
|---mnt/ |
|-----httpd/ |-------------rc.firewall.up
|----lib/ |
|----lost+found/ |-------------(autres)
|---proc/
|---root/
|---sbin/
|---tmp/
|---usr/
|-----------var/
|--------------smoothwall
| |
| |--------(fichiers modifiés par l’interface web de smoothwall)
|
|--------(autres)

Afin de comprendre le fonctionnement de ce système de fichiers, nous avons parcouru les


dossiers et nous avons pu relever les remarques suivantes :
 Sous /etc/rc.d on trouve les scripts exécutés au démarrage. Ainsi, par exemple, les
règles initiales du pare-feu sont chargées depuis le fichier /etc/rc.d/rc.firewall.up.
 Les scripts en questions contiennent des variables (comme par exemple
$GREEN_DEV dans le script /etc/rc.d/rc.firewall.up). Ces variables sont définies dans
le système de fichiers sous /var/smoothwall/dossier_specifique/settings. Par
exemple, les variables relatives aux interfaces ethernet de smoothwall sont définies
dans le fichier /var/smoothwall/ethernet/settings dont nous présentons le
contenu ci-dessous:
DEFAULT_GATEWAY=192.168.1.253 ORANGE_DEV=
RED_NETMASK=255.255.255.0 RED_DHCP_HOSTNAME=smoothwall
GREEN_DISPLAYDRIVER=pcnet32 RED_DISPLAYDRIVER=pcnet32
PURPLE_DEV= GREEN_NETADDRESS=192.168.58.0
RED_TYPE=STATIC RED_NETADDRESS=192.168.1.0
RED_DEV=eth0 GREEN_BROADCAST=192.168.58.255
RED_BROADCAST=192.168.1.255 GREEN_DRIVER=
GREEN_DRIVER_OPTIONS= GREEN_ADDRESS=192.168.58.2
DNS2=0.0.0.0 GREEN_DEV=eth1
RED_ADDRESS=192.168.1.227 RED_DRIVER_OPTIONS=
GREEN_NETMASK=255.255.255.0 RED_DRIVER=pcnet32
DNS1=192.168.1.133
CONFIG_TYPE=2

Page 14

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
En fait, Les fichiers settings qu’on trouve sous /var/smoothwall/dossier/ contiennent
les définitions des différentes variables...
 Les dossiers contenus sous /var/smoothwall sont:
/var/smoothwall/adsl/ /var/smoothwall/main/
/var/smoothwall/dhcp/ /var/smoothwall/ppp/
/var/smoothwall/ipblock/ /var/smoothwall/time/
/var/smoothwall/p3scan/ /var/smoothwall/banners/
/var/smoothwall/restore/ /var/smoothwall/filtering/
/var/smoothwall/vpn/ /var/smoothwall/modem/
/var/smoothwall/advnet/ /var/smoothwall/proxy/
/var/smoothwall/dmzholes/ /var/smoothwall/timedaccess/
/var/smoothwall/isdn/ /var/smoothwall/clamav/
/var/smoothwall/patches/ /var/smoothwall/hosts/
/var/smoothwall/sipproxy/ /var/smoothwall/mods/
/var/smoothwall/xtaccess/ /var/smoothwall/red/
/var/smoothwall/auth/ /var/smoothwall/tmp/
/var/smoothwall/ethernet/ /var/smoothwall/ddns/
/var/smoothwall/knownports/ /var/smoothwall/im/
/var/smoothwall/portfw/ /var/smoothwall/outgoing/
/var/smoothwall/snort/ /var/smoothwall/remote/
/var/smoothwall/backup/ /var/smoothwall/traffic/
/var/smoothwall/extensions/

Ces dossiers contiennent des fichiers directement modifiables à partir de l’interface


web. Nous verrons après quels fichiers sont modifiés par chaque interface…
 Les logs sont enregistrés sous /var/logs/source_du_log (exemple /var/log/snort).
 Le fanion de smoothwall dans les logs est le mot "smoothwall". Il est défini dans le
fichier /var/settings/main/settings dans la variable HOSTNAME. On a remarqué
grace à l'exploration du fichier /var/log/messages dont voici un extrait:
Jun 25 13:04:45 smoothwall syslogd 1.4.1: restart.
Jun 25 13:04:45 smoothwall kernel: klogd 1.4.1, log source = /proc/kmsg started.
Jun 25 13:04:45 smoothwall kernel: Inspecting /boot/System.map-2.6.16.53
Jun 25 13:04:45 smoothwall smoothd: smoothd Starting Up...
Jun 25 13:04:45 smoothwall smoothd: Registering Functions...Jun 25 13:04:45
smoothwall smoothd: Loading Plugins for Module "/usr/lib/smoothd/sockets"
Jun 25 13:04:45 smoothwall smoothd: Loading Plugins for Module
"/usr/lib/smoothd/sysshutdown.so"
Jun 25 13:04:45 smoothwall kernel: Loaded 20337 symbols from
/boot/System.map-2.6.16.53.
 Le dossier /etc contient les fichiers de configurations. On peut donc observer les
outils installés tels que snort, whois, apache, squid, syslog...
 Nous présentons dans ce qui suit une liste contenant l'essentiel des outils installés
(sur la machine virtuelle fournie) et leurs versions:
− Snort: Version 2.6.1.3 (Build 36)
− Squid Cache: Version 2.6.STABLE13 (squid est le proxy web utilisé)
− P3Scan 2.3.2 (proxy pop3)

Page 15

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
− Whois 5.0 (outil d'information sur adresse ip ou nom de domaine)
− tcpdump version current-cvs.tcpdump.org.2007.02.12 (snifer de trafic réseau)
− Clamav 0.91.1 (antivirus de licence GPL utilisé pour détecter les virus contenus
dans les emails)
− Imspector
− Siproxd-0.5.13-8 (proxy SIP : Session Initiation Protocol)
− DHCP Server V3.0.5
− Net-tools 1.60 (relatif au service dns)
− Hostname 1.100 (relatif au service dns)
− OpenSSH_4.6p1
− OpenSSL 0.9.8e (sorti le 23 Fevrier 2007)
− Iptables v1.3.7
− Netstat 1.42 (2001-04-15)
− Traceroute version 1.4a12
− Syslogd version 1.4.1
 Le dossier /httpd contient les fichiers .cgi (développement en perl donc…) et les
codes des pages html. Ces fichiers sont exécutés lorsqu’on se connecte à Smoothwall
Express via l’interface Web. Nous présenterons plus tard dans ce document plus de
détails sur le fonctionnement des fichiers .cgi (voir partie fonctionnement de
l'interface web de smoothwall)
 Afin de changer les règles du pare-feu (en ligne de commande), on utilise la
commande iptables avec les options adéquates. Pour appliquer ces règles
automatiquement au démarrage, il faut les mettre dans le script
/etc/rc.d/rc.firewall.up. Toutefois, il faut faire attention à l'emplacemnt de ces règles
dans le script... Les règles sont en effet parcourues de haut en bas et à la première
règle applicable l'exploration s'arrête et la règle en question est appliquée...

7. Informations sur le noyau de Smoothwall Express


Avant d'aller plus loin, essayons d'avoir quelques informations sur le noyau de Smoothwall
Express 3.0. La commande uname -a permet de retourner les informations requises. Voici le
résultat de cette commande:
Linux smoothwall 2.6.16.53 #1 Thu Aug 16 12:34:52 BST 2007 i686 GNU/Linux
Smoothwall est donc basé sur le noyau Linux 2.6.16.53. Notez aussi que Smoothwall est
d’origine britannique et qu’il n’existe pas de version française de Smoothwall Express. La
documentation en français est en outre très rare.

8. Interface web de Smoothwall Express


Nous allons à présent explorer l’interface Web de Smoothwall Express 3.0.
Quand on tape l’url de Smoothwall Express dans le browser, il faut spécifier le port 81 (avec
le protocole http) ou bien le port 441 (avec le protocole https). Une authentification par login
et mot de passe est alors demandée.

Page 16

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 2: Authentification de Smoothwall Express 3.0

Sans cette authentification, nous n’aurons pas accès à la page d’accueil de Smoothwall
Express.

Figure 3: Echec d'authentification sur Smoothwall Express 3.0


Ce point peut paraître banal et basique, mais quand on voit que d’autres solutions comme
ipcop ouvrent l’interface graphique avant la demande de l’authentification, on apprécie
mieux…
Voyons à présent la page d’accueil de Smoothwall Express :

Figure 4: Page d'accueil de smoothwal Express 3.0

La page d’accueil affiche un message de bienvenue, un graphe représentant des statistiques


sur le trafic entrant et sortant et surtout un menu composé de 9 items qui sont : Control,
About, Services, Networking, VPN, Logs, Tools, Maintenance, shutdown et help.
Nous verrons dans ce qui suit plus en détail ces items. Mais voyons tout d'abord le script .cgi
que manipule cette page:

Page 17

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
8.1. Menu item About
Quand on clique sur About, une page à plusieurs onglets apparait avec l’onglet status
sélectionné :

Figure 5: Onglet status du menu About

On aperçoit sur cette page les services disponibles et leur status. S’ils sont en marche, alors la
case en face du nom du service est colorée en vert. Sinon, la case est colorée en gris.

Figure 6: Onglet advanced du menu About

L’onglet About>advanced donne des détails sur le matériel de la machine (mémoire


disponibles, disque dur, secteur de boot…)

Page 18

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 7: Onglet traffic graphs du menu About

L’onglet About>traffic graphs permet de visualiser les graphes décrivant le trafic réseau sur
chacune des interfaces de Smoothwall Express. On y retrouve aussi des statistiques sur le
débit courant, le débit par heure, par jour et d’autres informations de ce genre.

Page 19

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 8: Onglet bandwidth bars du menu About

L’onglet About>bandwidth bars montre l’état de la bande passante consommée sur les
interfaces réseau de Smoothwall Express en temps réel.

Figure 9: Onglet traffic monitor du menu About

L’onglet About>traffic monitor quant à lui permet de visualiser en temps réel l’évolution de la
bande passante (graphe de bande passante).

Page 20

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 10: Onglet my smoothwall du menu About

L’onglet About>my smoothwall enfin montre des informations sur le système d’exploitation
Smoothwall Express installé sur la machine…

8.2. Menu item Services


Quand on clique sur le menu Services, une page à plusieur onglets apparait avec l’onglet web
proxy :

Figure 11: Onglet web proxy du menu Services

Cet onglet présente les différentes options qu’offre le proxy web de Smoothwall Express. On
peut y apercevoir l’adresse du proxy distant (remote proxy), la taille du cache, les paramètres
d’authentification du proxy et ainsi de suite…

Page 21

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 12: Onglet im proxy du menu Services

L’onglet Services>im proxy présente les options de proxy de messagerie instantannée (instant
messaging proxy).

Figure 13: Onglet pop3 proxy du menu Services

L’onglet Services>pop3 proxy permet d’activer si désiré le proxy transparant de l’antivirus


P3Scan qui aura pour tâche de protéger contre les virus provenant d’emails utilisant le
protocol pop3.

Figure 14: Onglet sip proxy du menu Services

L’onglet Services>sip proxy permet de paramètrer le proxy SIP (Session Initiation Protocol)
qui sert pour la gestion de sessions.

Page 22

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 15: Onglet dhcp du menu Services

L’onglet Services>dhcp permet de paramétrer le serveur dhcp de Smoothwall Express et de


l’activer.

Page 23

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 16: Onglet dynamic dns du menu Services

L’onglet Services>dynamic dns sert à attribuer des noms de domaines à certains services
offerts par l’entreprise et accessible via Internet. Ceci est surtout nécessaire lorsque le
fournisseur d’accès internet affecte des adresses ip dynamiques à l’abonnement de
l’entreprise…

Figure 17: Onglet static dns du menu Services

L’option Services>static dns sert quant à elle à affecter une fois pour toute un nom de
domaine à une adresse ip.

Page 24

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 18: Onglet ids du menu Services

L’onglet Services>ids permet d’activer l’ids de Smoothwall Express et de le mettre à jour. Cet
ids n’est autre qu Snort… Pour activer Snort il faudra s’inscrir dans le site officiel de Snort et
obtenir le Oink code. Ensuite, il suiffit d’entrer le Oink code obtenu et de cliquer sur save et
update. Le téléchargement de règles de l’ids commence alors.

Figure 19: Onglet remote access du menu Services

L’onglet Services>remote access permet de sécuriser l’accès distant à Smoothwall Express.


Ainsi on peut activer ou désactiver le seervice ssh. On peut aussi limiter l’accès web aux
administrateursà des url biens connues.

Page 25

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 20: Onglet time du menu Services

L’onglet Services>time permet de configurer les paramètres de l’heure et de la date de la


machine où est installé Smoothwall Express.

8.3. Menu item Networking


Quand on clique sur le menu Services, une page à plusieur onglets apparait avec l’onglet web
proxy :

Figure 21: Onglet incoming du menu Networking

L’onglet Networking>incoming sert à définir les règles de pare-feu pour le trafic entrant
(depuis les adresses IP externes) aux ports des machines du réseau local.

Page 26

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 22: Onglet outgoing du menu Networking

L’onglet Networking>outgoing sert à controller le trafic sortant, c'est à dire l'accès des
machines locales à des services externes.

Figure 23: Onglet internal du menu Networking

L’onglet Networking>internal sert à activer l'accès pour un hôte appartenant à la partie


Orange ou Purple du réseau de l'entreprise à un port d'une machine appartenant à la partie
verte de l'entreprise (réseau local).

Page 27

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 24: Onglet external access du menu Networking

L’onglet Networking>external acces permet de configurer la façon dont on accède aux


services qu'offre la machine Smoothwall à partir de machines externes.

Figure 25: Onglet ipblock du menu Networking

L’onglet Networking>ipblock sert à ajouter des règles restrictives de pare-feu pour des
adresses IP ou des adresses de réseaux.

Page 28

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 26: Onglet timed access du menu Networking

L’onglet Networking>timed access sert à configurer des temps d'accès pour des machines du
réseau interne. Ceci sert à limiter par exemple le temps de connexion Internet au temps de
travail.

Figure 27: Onglet qos du menu Networking

L’onglet Networking>qos sert à éditer les paramètres de qualité de service du réseau tels que
vitesses de téléchargement optimale, priorité du trafic en fonction des protocoles.

Page 29

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 28: Onglet advanced du menu Networking

L’onglet Networking>advanced sert à configurer les options des paquets ICMP provenant à la
machine Smoothwall.

Figure 29: Onglet ppp du menu Networking

L’onglet Networking>ppp sert à configurer les options des communications basées sur le
protocole point-to-point.

Page 30

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 30: Onglet interfaces du menu Networking

L’onglet Networking>interfaces sert à définir les adresses ip des différentes interfaces


réseaux, le serveur DNS, la passerelle par défaut...

8.4. Menu item VPN


Quand on clique sur le menu VPN, la page suivante apparaît :

Figure 31: Onglet control du menu VPN

L’onglet VPN>control sert à activer/stopper les connections par réseaux Virtuels Privés à
travers Internet (interface Red).

Page 31

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 32: Onglet connectiuons du menu VPN

L’onglet VPN>connections sert à définir de nouvelles connections VPN.

8.5. Menu item Logs

Figure 33: Onglet system du menu Logs

L’onglet Logs>system sert à visualiser les logs de système.

Page 32

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 34: Onglet web proxy du menu Logs

L’onglet Logs>web proxy sert à visualiser les logs du proxy web.

Figure 35: Onglet firewall du menu Logs

L’onglet Logs>firewall sert à visualiser les logs du pare-feu.

Page 33

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 36: Onglet ids du menu Logs

L’onglet Logs>ids sert à visualiser les logs de l'ids.

Figure 37: Onglet instant messages du menu Logs

L’onglet Logs>iinstant messages sert à visualiser les logs de la messagerie instantannée.

Figure 38: Onglet email du menu Logs

L’onglet Logs>email sert à visualiser les logs du service POP3 Anti-Virus.

Page 34

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
8.6. Menu item Logs

Figure 39: Onglet ip information du menu Tools

L’onglet Tools>ip informations permet de consulter l'outil whois afin d'obtenir des
informations concernant une adresse IP ou un nom de domaine.

Figure 40: Onglet ip tools du menu Tools

L’onglet Tools>ip tools permet d'utiliser deux outils classiques de test de connectivité à savoir
ping et traceroute.

Figure 41: Onglet shell du menu Tools

L’onglet Tool>shell permet de se connecter en mode console sécurisée à la machine


Smoothwall. La connexion se fera via une applet (il faut donc que java soit installé)

Page 35

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
8.7. Menu item Maintenance

Figure 42: Onglet updates du menu Maintenance

L’onglet Maintenance>updates sert à chercher des mises à jour pour Smoothwall Express.

Figure 43: Onglet modem du menu Maintenance

L’onglet Maintenance>Modem sert à configurer les paramètres du modem.

Page 36

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 44: Onglet speedtouh usb firmware du menu Maintenance

L’onglet Maintenance>speedtouch usb firmware permet de télécharger des fichiers pour


l'installation des modems speedtouch directement sur la machine Smoothwall Express.

Figure 45: Onglet passwords du menu Maintenance

L’onglet Maintenance>passwords permet de définir des mots de passe pour les utilisateus
admin et dial.

Page 37

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 46: Onglet backup du menu Maintenance

L’onglet Maintenance>backup permet de créer une disquette de restoration (ou une image
de restauration).

Figure 47: Onglet preferences du menu Maintenance

L’onglet Maintenance>preferences permet de configurer des paramètres de l'interface web


de Smoothwall.

Page 38

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
8.8. Menu item shutdown

Figure 48: Onglet shutdown du menu Maintenance

L’onglet Maintenance>shtdown permet d'éteindre ou de redémarrer le système.

8.9. Menu item help

Figure 49: Menu Help (relatif à la page Maintenance>Shutdown)

L’onglet help permet d'obtenir de l'aide détaillée sur la page sélectionnée.

Page 39

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9. Fonctionnement de l’interface Web
L’interface graphique de Smoothwall Express 3.0 est basée, outre que sur des pages HTML,
sur des scripts cgi. Ces scripts developpés en perl sont stockés directement sous /httpd. En
explorant ces scripts, on devine facilement quels fichiers sont modifiés par les onglets des
pages web…
Par exemple, voici un bout de code du script interfaces.cgi relatif à l’onglet interfaces du
Menu item Networking :

use lib "/usr/lib/smoothwall";


use header qw(:standard);
use smoothtype qw(:standard);
use smoothd qw(message);

use Socket;

my (%cgiparams, %selected, %checked);


my $errormessage = '';

&showhttpheaders();
&getcgihash(\%cgiparams);

my %settings;

&readhash("${swroot}/ethernet/settings", \%settings );

# Action a "Save" request ...

if ( defined $cgiparams{'ACTION'} and $cgiparams{'ACTION'} eq $tr{'save'} )


{
# assign the settings over the top of their earstwhile counterparts.

$settings{'GREEN_ADDRESS'} = $cgiparams{'GREEN_ADDRESS'} if ( defined


$cgiparams{'GREEN_ADDRESS'} );
$settings{'GREEN_NETMASK'} = $cgiparams{'GREEN_NETMASK'} if ( defined
$cgiparams{'GREEN_NETMASK'} );

On déduit de ce script que les paramètres passés à la page lors de la validation (comme par
exemple le paramètre GREEN_ADDRESS) seront affecté aux variables (par exemple la variable
GREEN_ADDRESS) contenues dans le fichier : /var/smoothwall/ethernet/settings.
En fait, l'interface web de Smoothwall Express agit sur les fichiers qui se trouvent sous
/var/smoothwall/
Nous détaillons dans ce qui suit le fonctionnement de chaque onglet de l’interface graphique.

9.1. index.cgi
Ce fichier est relatif à la page d’accueil. Les fichiers qu’il manipule sont
/var/smoothwall/ppp/settings, /var/smoothwall/modem/settings,
/var/smoothwall/ethernet/settings, /var/smoothwall/red/active, var/smoothwall/red/dial-
on-demand, /var/Smoothwall/banners/available, /var/Smoothwall/patches/available,
/var/Smoothwall/patches/installed et /dev/isdninfo. Tous ces fichiers sont exécutes en
lecture seule (pas de modifications) afin de tirer les infos continues dans la page d’accueil.

Page 40

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9.2. status.cgi
Ce fichier correspond à l’onglet About>status. Il explore le dossier
/usr/lib/smoothwall/services/ afin de récolter les services installés sur la machine
Smoothwall Express. Il manipule aussi le fichier /var/smoothwall/red/iface pour obtenir
l'interface réseau utilisée comme interface red. Les images correspondantes aux états des
services (carrés rouge, gris et vert qui apparaissent sur la page) sont téléchargées à partir des
fichiers /httpd/html/ui/img/service_$status.png ou $status désigne une variable de script
qui peut prendre les valeurs stopped, running ou swapped. La valeur prise par la variable
status est affectée grâce à la fonction isrunning qui prend en paramètres le nom de service
(obtenu en listant /usr/lib/smoothwall/services/ comme décrit précédemment). La
fonctionisrunning obtient ensuite à partir des fichiers /var/run/nom_service.pid les pid des
processus correspondants aux services. S'il n'existe pas de fichiers /var/run/nom_service.pid
alors on déduit que le service en question est en arrêt. Sinon, si on parvient à ouvrir le fichier
/proc/${pid}/cmdline alors le service de pid est désigné par ${pid} est actif. Le cas échéant,
le service est dis swapped (modifié).

9.3. advstatus.cgi
Ce fichier correspond à l'onglet About>advanced. Il permet de visualiser des informations sur
les états de mémoires, disque... Pour ce faire, le script exécute les commandes système :
− /usr/bin/free -ot : pour avoir une description sur l'état de la mémoire.
− df -h: pour avoir une description sur l'état du disque (partitions, taille...)
− df -i: pour avoir une description sur l'utilisation des inodes.
− /usr/bin/w: pour voir les utilisateurs et le temps de connexion.
− ifconfig -a : permet de voir les configuratrions de toutes les interfaces réseaux définies.
− /bin/lsmod: pour voir tout les modules chargés sur la machine Smoothwall.
− /bin/uname -a: pour avoir toutes les informations sur le noyau

9.4. graphs.cgi
Ce script correspond à l'onglet About>traffic graphs. Il utilise le fichier
/var/smoothwall/ethernet/settings pour découvrir la configuration réseau (interface Red,
Green...). Il ouvre aussi le fichier /var/log/trafficstats pour avoir les informations nécessaires
sur les statistiques de trafic. En fonction de ces statistiques, les deux graphes de la page
seront élaborés.
Les commandes rrdtool last /var/lib/rrd/green.rrd et /var/lib/rrd/green.rrd sont en outre
exécutées afin d'obtenir (respectivement) les dates des dernieres mises à jour de la page
(Last update) et des données de la page (update with data).
A noter que les graphes de la page graphs.cgi ont des liens vers les pages
graphs.cgi?i=nom_interface_du_graphe. Ces scripts reprennent le même esprit pour
dessiner les graphes et afficher les informations nécessaires aux interfaces. En réalité, ça sera
le même script (graphs.cgi) exécuté avec en paramètres le nom de l'interface...

9.5. bandwidthbars.cgi
Correspond à l'onglet About>bandwidth bars. Ce script utilise le fichier
/var/smoothwall/ethernet/settings pour découvrir la configuration réseau.
C'est la fonction realtime_graphs qui prend en entrée le contenu du fichier
/var/log/quicktrafficstats qui dessine les graphes (à partir des paramètres de ce dernier
fichier). La fonction javascript updatepage rafraîchit les graphes toute les secondes.

Page 41

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9.6. trafficmonitor.cgi
La fonction javascript update_graph sert à redessiner le graphe à chaque mise à jour de la
page. Cette dernière mise à jour est contrôllée par la fonction updatepage. Ce script utilise le
fichier /var/smoothwall/ethernet/settings.

9.7. register.cgi
Correspond à l'onglet About>my smoothwall. Ce script utilise le fichier
/var/smoothwall/main/ownership pour s'identifier auprès de la communauté Smoothwall.
Si l'enregistrement a eu lieu (et donc le fichier /var/smoothwall/notregistered inexistant).

9.8. proxy.cgi
Correspond à l'onglet Services>web proxy. Ce script utilise les fichiers
/var/smoothwall/ethernet/settings et /var/smoothwall/main/settings afin de récupérer les
configurations nécessaires. Ce script exécute la commande
/usr/bin/smoothwall/writeproxy.pl pour enregistrer les paramètres de la page dans le
fichier /var/smoothwall/proxy/settings.

9.9. im.cgi
Ce script correspond à l'onglet Services>improxy. Il utilise les fichiers
/var/smoothwall/ethernet/settings et /var/smoothwall/main/settings afin de récupérer les
différentes configurations. La commande /usr/bin/smoothwall/writeim.pl est utilisée afin
d'enregistrer les paramètres saisis dans le fichier /var/smoothwall/im/settings.

9.10. p3scan.cgi
Ce script correspond à l'onglet Services>pop3 proxy. Il modifie le fichier
/var/smoothwall/p3scan/settings en y écrivant le contenu suivant: VALID=yes et
ENABLE=on si on a choisi d'activer le proxy pop3 ou bien VALID=yes simplement si le proxy
est désactivé.
La commande /usr/bin/smoothwall/writep3scan.pl sert à redémarrer p3scan. Le fichier
/var/smoothwall/clamav/settings est aussi modifié par ce script.

9.11. sipproxy.cgi
Script correspondant à l'onglet Services>sip porxy. Utilise la commande
/usr/bin/smoothwall/writesiproxdconf.pl afin de sauvegarder les différents paramètres
saisis sur le fichier /var/smoothwall/sipproxy/settings.

9.12. dhcp.cgi
Correspond à l'onglet Services>dhcp. Utilise les fichiers /var/smoothwall/ethernet/settings
et /var/smoothwall/dhcp/staticconfig afin de récupérer la configuration courante. La
commande /usr/bin/smoothwall/writedhcp.pl permet d'enregistrer la configuration dhcp.
Les fichiers cibles sont

9.13. ddns.cgi
Correspond à l'onglet Services>dynamic dns. Utilise (et modifie) le fichier
/var/smoothwall/ddns/config. C'est La commande /usr/bin/smoothwall/setddns.pl -f qui
sert à enregistrer les paramètres dns saisis.

Page 42

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9.14. hosts.cgi
Script correspondant à l'onglet Services>static dns. Modifie le fichier
/varsmoothwall/hosts/config. La commande /usr/bin/smoothwall/writehosts.pl sert à
enregistrer les paramètres dans le fichier précédemment cité...

9.15. ids.cgi
Ce script correspond à l'onglet Services>ids. Il modifie le fichier
/var/smoothwall/snort/settings (y enregistre le Oink code et l'état de l'ids: activé ou pas). La
commande /usr/bin/oinkmaster.pl -C est exécutée avec
/usr/lib/smoothwall/oinkmaster.conf pour obtenir les règles.
9.16. remote.cgi
Ce script correspond à l'onglet Services>remote access. Il modifie le fichier
/var/smoothwall/remote/settings en modifiant les variables ENABLE_SECURE_ADMIN et
ENABLE_SSH à ON ou OFF.

9.17. time.cgi
Ce script correspond à l'onglet Services>time. Il utilise le dossier /usr/share/zoneinfo/posix
afin d'y sélectionner les paramètres du flux horaire (liste des fichiers tels que Africa/Tunis...).
La commande /usr/bin/smoothcom settime paramètres sert à enregistrer les paramètres de
temps.

9.18. portfw.cgi
Script correspondanrt à l'onglet Networking>incoming. Il modifie le fichier
/var/smoothwall/portfw/config.

9.19. outgoing.cgi
Script correspondanrt à l'onglet Networking>outging. Il modifie les fichiers
/var/smoothwall/outgoing/config et /var/smoothwall/outgoing/machineconfig. Le fichier
/var/smoothwall/ethernet/settings est utilisé pour récuprérer la configuration réseau.

9.20. dmzholes.cgi
Ce script correcpond à l'onglet Networking>internal. Il modifie
/var/smoothwall/dmzholes/config.

9.21. xtaccess.cgi
Ce script correspond à la page Networking>external access. Il modifie
/var/smoothwall/xtaccess/conf.

9.22. ipblock.cgi
Ce script correspond à la page Networking>ipblock. Il modifie
/var/smoothwall/ipblock/config.

Page 43

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9.23. timedaccess.cgi
Ce script correspond à la page Networking>timed access. Il enregistre les temps d'accès sur
/var/smoothwall/timedaccess/settings et la liste des machines cibles sur
/var/smoothwall/timedaccess/machines.

9.24. traffic.cgi
Ce script correspond à la page Networking>qos. Il utilise les fichiers
/var/smoothwall/ethernet/settings et /var/smoothwall/traffic/settings. Notez toutefois
que pour les priorités une échelle de 0 à 1 est définie. 0 correspond à la valeur 0 et 1 à la
valeur maximale que la bandepassante peut atteinde. Les priorités sont définies comme suit:
normal => [0.4,0.9]
high => [0.2, 0.9]
low => [0.15, 0.4]
slow => [0.01, 0.02]
smoothadmin => [0.05, 0.95]
webcache => [0.05, 0.95]
smallpkt => [0.05, 0.1]
localtraffic => [0.05, 0.95]

9.25. advnet.cgi
Script correspondant à l'onglet Networking>advanced. Il agit sur le fichier
/var/smoothwall/advnet/settings.

9.26. pppsetup.cgi
Ce script correspond à l'onglet Networkiong>ppp de l'interface web de Smoothwall Express
3.0. Il modifie les fichiers /var/smoothwall/isdn/settings, /var/smoothwall/adsl/settings,
/var/smoothwall/red/active, /var/smoothwall/ppp/settings,
/var/smoothwall/adsl/mgmt.o, /var/smoothwall/ppp/settings-$parametres_saisis et
/var/smoothwall/ppp/secrets. Le fichier /var/smoothwall/ethernet/settings est utilisé
pour la récupération de la configuration réseau.

9.27. interfaces.cgi
Cet onglet sert à modifier les paramètres des différenets interfaces réseau. Pour ce, il se base
sur l'utilisation de la commande /sbin/ifconfig. Le fichier
/var/smoothwall/ethernet/settings est utilisé par ce script aussi.

9.28. vpnmain.cgi
Correspond à l'onglet VPN>control. Ce script modifie sur /var/smoothwall/vpn/config et
/var/smoothwall/vpn/settings. La commande /usr/bin/smoothwall/writeipsec.pl est
exécutée afin d'activer l'utilisation des VPN IPsec. Le fichier /proc/net/ipsec_eroute est aussi
utilisé par cet onglet.

9.29. vpn.cgi/vpnconfig.dat
Ce script correspond au deuxième onglet du menu VPN. Il manipule le fichier
/var/smoothwall/vpn/config. La commande exécutée afin de redémarrer le tunneling par
ipsec est : /usr/bin/smoothwall/writeipsec.pl

Page 44

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9.30. logs.cgi/log.dat
Ce script permet d'afficher sur la page Logs>system les logs écrits par le système. La
récupération des logs se fait à partir du fichier /var/logs/messages.

9.31. logs.cgi/proxylog.dat
Script correspondant à la page Logs>web proxy. La récupération des logs se fait à partir du
fichier /var/log/squid/access.log.

9.32. logs.cgi/firewalllog.dat
Ce Script sert à l'intéraction avec la page Logs>firewall. La récupération des logs de cette
page se fait à partir du fichier /var/log/messages.

9.33. logs.cgi/idslog.dat
Le script logs.cgi/idslog.dat recupère les logs à partir du fichier /var/log/snort/alert. Il les
affiche ensuite sur la page Logs>ids.

9.34. logs.cgi/imviewer.cgi
Script correspondant à la page Logs>instant messages. Il récupère les logs à partir du dossier
/var/log/imspector/. Il parcoure les fichiers de ce dossier qui correspondent aux différents
protocoles de messagerie instantannée.

9.35. logs.cgi/pop3log.dat
Script correspondant à la page Logs>email. Ce script récupère les logs à partir du fichier
/var/log/maillog.

9.36. ipinfo.cgi
Ce script exécute la commande /usr/bin/whois –nocgi adresseIP_ou_Nom_de_domaine. Il
correspond à l'onglet Tools>ip information.

9.37. iptools.cgi
Script correspondant à l'onglet Tools>ip tools. Il utilise la commande /bin/traceroute -n
adresse_entrrée_en_paramètre ou ping -n -c 5 adresse_entrrée_en_paramètre selon le
choix effectué sur l'interface par l'utilisateur.

9.38. updates.cgi
Script correspondant à l'onglet Maintenance>updates. Il manipule le fichier
/var/smoothwall/patches/available pour savoir si des mises à jours sont disponibles. Si tel
est le cas, alors pour chaque mise à jour un fichier qui porte son nom est créé sous
/var/patches/. Ce fichier aura comme nom le nom du patch. Il prendra en entrée
/var/patches/nom_du_patch/patch.tar.gz. La commande /usr/bin/md5sum
/var/patches/nom_du_patch/patch.tar.gz est exécutée pour vérifier l'intégrité du fichier. La
commande cd /var/patches/$$ && /bin/tar xvfz patch.tar.gz > /dev/null est exécutée
ensuite, puis la commande /usr/bin/setuids/installpackagenom_du_patch pour l'installation
du package. Enfin un fichier /var/smoothwall/patches/installed sera créé pour lister les
mises à jours effectuées et une mise à jour du fichier /var/smoothwall/patches/available.

Page 45

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
9.39. modem.cgi
Ce script, correspondant à l'onglet Maintenance>modem manipule le fichier
/var/smoothwall/modem/settings. Il exécute aussi la commande système /bin/cp
/var/smoothwall/modem/defaults" /var/smoothwall/modem/settings -f pour mettre à
jour les paramètres du modem.

9.40. alcateladslfw.cgi
Ce script correspond à l'onglet Maintenance>speedtouch usb firmware. Il enregistre le fichier
fichier spécifié à l'interface sur /var/smoothwall/adsl/mgmt.o.

9.41. changepw.cgi
Ce script correspond à l'onglet Maintenance>passwords. Il exécute la commande
/usr/bin/htpasswd -m -b /var/smoothwall/auth/users admin paramètre1_saisi afin
d'enregistrer le mot de passe de l'administrateur et la commande /usr/bin/htpasswd -m -b
/var/smoothwall/auth/users dial paramètre2_saisi pour enregistrer le mot de passe de
l'utilisateur "dial".

9.42. backup.img
Ce script correspond à l'onglet Maintenance>backup. Il exécute d'abord la commande
/etc/rc.d/backupscript puis /usr/bin/tar -C /var/smoothwall/backup -cWf /dev/fd0 si on a
choisi de créer une disquette de restauration ou /usr/bin/tar -C /var/smoothwall/backup -cf
/var/smoothwall/tmp/backup.img si on a choisi de créer une image de restauration;

9.43. preferences.cgi
Script qui modifie /var/smoothwall/main/uisettings en forçant la valeur de MENU à off/on.

10. Les "adds-On" pour Smoothwall Express


Il est possible de personnaliser Smoothwall Express 3.0 en ajoutant des adds-on. Les
outils qu'on a l'habitude d'ajouter à Smoothwall sont décrits dans le forum de la
communauté Smoothwall dans la partie SmoothCustomize (voir l’adresse
http://community.smoothwall.org/forum/viewforum.php?f=26).

10.1. Dansguardian add-on


Dansguardian est un outil qui procure la possibilité d'un réel filtrage de contenu web
en examinant le contennu des pages et les entêtes. Dansgaurdian ne se limite pas au filtrage
d'URLs. Plus de détails sur Dansgaurdian sont disponibles sur le site officiel de dansguardian:
http://dansguardian.org/
Nous présentons dans ce qui suit comment procéder pour ajouter le filtre web
Dansguardian à Smoothwall Express.
− Copier le dossier tarball DGAV-SW3-2.8.0.6-6.4.4.2-i686-b012.tgz (dossier compressé
.tar.gz ou .tar.gz2) dans le dossier /tmp.
− Extraire le tarball via la commande : tar -zxvf /tmp/DGAV-SW3-<version>.tgz -C /
− Exécuter le script d'installation via la commande: /tmp/install-dgav
− Il faut s'assurer que le service proxy est activé et qu'il est mis en mode transparent.

Page 46

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
− S'il s'agit d'une nouvelle installation, il faut aller dans l'onglet filtering>DGAV et
sélectionner les options adéquantes de filtrage puis appuyer sur "save" pour enregistrer.
− Aller dans l'onglet filtering>status et activer "Dansguardian Content Filter" en cliquant
sur l'icone adéquate.
Si tout va bien, Dansgaurdian devrait s'exécuter. La figure suivante représente l’onglet relatif
à l’add-on Dansguardian.

Figure 50: Dansguardian add on

10.2. Smoothinfo add-on


Smoothinfo est un outil qui permet de générer des rapports qui consernent la
machine Smoothwall. Il permet de spécifier les points surlesquels on veut avoir des
rapports...
Nous présentons dans ce qui suit comment procéder pour ajouter le add on
Smoothinfo à Smoothwall Express. Pour cette fois, on va présenter une procédure qui
nécessite une connexion Internet (usage de wget). Les étapes à suivre sont :
− wget http://swemods.googlecode.com/files/smoothinfo-2.1-Express-3.0-i386.run
− sh smoothinfo-2.1-Express-3.0-i386.run
L’add on smoothinfo est alors installé. Un clic sur le menu Tools et un nouvel onglet
relatif à smoothinfo apparaît :

Page 47

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Figure 51: Smoothinfo add on

10.3. Adds-on supplémentaires


Plusieurs autres adds-on peuvent être installés sur la machine Smoothwall. Nous
citons entre autres:

− Guardian active response qui permet d'installer les fonctionnalités d'ips sur la machine
Smoothwall.
− Squid Analysis Report Generator (SARG) est un outil qui génére des rapports permettant
l'analyse du trafic (voir les sites les plus visités à partir du réseau de l'entreprise...)
− Smoothwall Express Mail Filter: sert à filtrer les mails en utilisant le protocole SMTP en
détectant des virus et des spams.
− Zerina: permet d'installer OpenVPN sur Smoothwall.

10.4. Remarques concernant les adds-on


− La procédure d'ajout d'autres outils à Smoothwall est similaire à celle qu'on vient de
voir... Pour plus de détails se référer au forum de la communauté Smoothwall
(http://community.smoothwall.org/forum/). .
− Quand on installe des adds-on sur smoothwall, l'intégration des nouvelles fonctionnalités
à l'interface web est automatique. Il suffit de rafraîchir la page pour apercevoir les
nouveaux onglets relatifs aux nouvelles fonctionnalités...

Conclusion
Smoothwall Express intègre les diverses fonctionnalités nécessaires pour un pare-feu
(filtrage web, connexion à un ids, logs de pare-feu...). Il offre une interface graphique
conviviale et légère (l'utilisation de javascript y est pour quelque chose...). Une explication
des fonctionnalités offertes par chaque onglet de l'interface est en outre disponible
immédiatement sur l'onglet (pas besoin d'aller voir l'aide, à moins qu'il y est besoin d'une
aide détaillée..). La supervision du trafic en temps réel est un plus non négligeable par
rapport à d'autres pare-feu existants (graphes et barres de bande passante...). Les règles de
pare-feu sont en outre indexées grâce à la définition de chaînes autres que les chaînes
classique d'iptables (INPUT, OUTPUT, FORWARD, NAT...). Ceci a surement des conséquences

Page 48

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
sur la performance du pare-feu Smoothwall Express (côté temps de réponse). Enfin, la
possibilité d'ajouter des adds-on à Smoothwall Express le rend un système complet puisqu'on
peut y intégrer toutes les fonctionnalités qu'on veut.

Page 49

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.
Netographie
Au cours de la préparation de ce document, nous nous sommes basés entre autres sur les
documents suivants:
[1]: Guide d'installation de Smoothwall Express 3.0
Source : http://garr.dl.sourceforge.net/sourceforge/smoothwall/smoothwall-express-3.0-install-
guide.pdf
Dernière visite : 07/07/2009
[2]: Forum de la communauté Smoothwall/installation Dansguardian
Source : http://community.smoothwall.org/forum/viewtopic.php?f=49&t=28154
Dernière visite : 07/07/2009
[3]: Forum de la communauté Smoothwall/installation Smoothinfo
Source : http://community.smoothwall.org/forum/viewtopic.php?f=54&t=28237
Dernière visite : 07/07/2009
[4]: Site officiel de Smoothwall
Source : http://www.smoothwall.org/
Dernière visite : 07/07/2009

Page 50

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09


Copyright © α-Engineering.