whitebook_smoothwallexpress3.0_v1.2

50
** THINK OPEN THINK SECURE www.alpha-engineering.net AOUT 2009 WHITE BOOK SMOOTHWALL EXPRESS 3.0

Upload: richy-bigot-scoarnec

Post on 01-Jul-2015

1.579 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WhiteBook_SmoothWallExpress3.0_v1.2

**

THINK OPEN

THINK SECURE

www.alpha-engineering.net

AOUT 2009

WHITE BOOK

SMOOTHWALL EXPRESS 3.0

Page 2: WhiteBook_SmoothWallExpress3.0_v1.2

Page 2

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09 Copyright © α-Engineering

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

Ing.

Datasheet de Smoothwall

Express 3.0

1.1 01/07/2009 Chaker ZAAFOURY

Expert SSIR

Révision et amélioration

1.2 07/07/2009 Mourad BELKHODJA

Ing.

Ajout du paragraphe 3

(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 3: WhiteBook_SmoothWallExpress3.0_v1.2

Page 3

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 4: WhiteBook_SmoothWallExpress3.0_v1.2

Page 4

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 5: WhiteBook_SmoothWallExpress3.0_v1.2

Page 5

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 6: WhiteBook_SmoothWallExpress3.0_v1.2

Page 6

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 7: WhiteBook_SmoothWallExpress3.0_v1.2

Page 7

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 8: WhiteBook_SmoothWallExpress3.0_v1.2

Page 8

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 9: WhiteBook_SmoothWallExpress3.0_v1.2

Page 9

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 10: WhiteBook_SmoothWallExpress3.0_v1.2

Page 10

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 11: WhiteBook_SmoothWallExpress3.0_v1.2

Page 11

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 12: WhiteBook_SmoothWallExpress3.0_v1.2

Page 12

WHITEBOOK SMOOTHWALL EXPRESS 3.0 - Version 1.2 - AOUT 09 Copyright © α-Engineering.

Page 13: WhiteBook_SmoothWallExpress3.0_v1.2

Page 13

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 14: WhiteBook_SmoothWallExpress3.0_v1.2

Page 14

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

RED_NETMASK=255.255.255.0

GREEN_DISPLAYDRIVER=pcnet32

PURPLE_DEV=

RED_TYPE=STATIC

RED_DEV=eth0

RED_BROADCAST=192.168.1.255

GREEN_DRIVER_OPTIONS=

DNS2=0.0.0.0

RED_ADDRESS=192.168.1.227

GREEN_NETMASK=255.255.255.0

DNS1=192.168.1.133

CONFIG_TYPE=2

ORANGE_DEV=

RED_DHCP_HOSTNAME=smoothwall

RED_DISPLAYDRIVER=pcnet32

GREEN_NETADDRESS=192.168.58.0

RED_NETADDRESS=192.168.1.0

GREEN_BROADCAST=192.168.58.255

GREEN_DRIVER=

GREEN_ADDRESS=192.168.58.2

GREEN_DEV=eth1

RED_DRIVER_OPTIONS=

RED_DRIVER=pcnet32

Page 15: WhiteBook_SmoothWallExpress3.0_v1.2

Page 15

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/dhcp/

/var/smoothwall/ipblock/

/var/smoothwall/p3scan/

/var/smoothwall/restore/

/var/smoothwall/vpn/

/var/smoothwall/advnet/

/var/smoothwall/dmzholes/

/var/smoothwall/isdn/

/var/smoothwall/patches/

/var/smoothwall/sipproxy/

/var/smoothwall/xtaccess/

/var/smoothwall/auth/

/var/smoothwall/ethernet/

/var/smoothwall/knownports/

/var/smoothwall/portfw/

/var/smoothwall/snort/

/var/smoothwall/backup/

/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)

/var/smoothwall/main/

/var/smoothwall/ppp/

/var/smoothwall/time/

/var/smoothwall/banners/

/var/smoothwall/filtering/

/var/smoothwall/modem/

/var/smoothwall/proxy/

/var/smoothwall/timedaccess/

/var/smoothwall/clamav/

/var/smoothwall/hosts/

/var/smoothwall/mods/

/var/smoothwall/red/

/var/smoothwall/tmp/

/var/smoothwall/ddns/

/var/smoothwall/im/

/var/smoothwall/outgoing/

/var/smoothwall/remote/

/var/smoothwall/traffic/

Page 16: WhiteBook_SmoothWallExpress3.0_v1.2

Page 16

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 17: WhiteBook_SmoothWallExpress3.0_v1.2

Page 17

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 18: WhiteBook_SmoothWallExpress3.0_v1.2

Page 18

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 19: WhiteBook_SmoothWallExpress3.0_v1.2

Page 19

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 20: WhiteBook_SmoothWallExpress3.0_v1.2

Page 20

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 21: WhiteBook_SmoothWallExpress3.0_v1.2

Page 21

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 22: WhiteBook_SmoothWallExpress3.0_v1.2

Page 22

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 23: WhiteBook_SmoothWallExpress3.0_v1.2

Page 23

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 24: WhiteBook_SmoothWallExpress3.0_v1.2

Page 24

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 25: WhiteBook_SmoothWallExpress3.0_v1.2

Page 25

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 26: WhiteBook_SmoothWallExpress3.0_v1.2

Page 26

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 27: WhiteBook_SmoothWallExpress3.0_v1.2

Page 27

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 28: WhiteBook_SmoothWallExpress3.0_v1.2

Page 28

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 29: WhiteBook_SmoothWallExpress3.0_v1.2

Page 29

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 30: WhiteBook_SmoothWallExpress3.0_v1.2

Page 30

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 31: WhiteBook_SmoothWallExpress3.0_v1.2

Page 31

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 32: WhiteBook_SmoothWallExpress3.0_v1.2

Page 32

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 33: WhiteBook_SmoothWallExpress3.0_v1.2

Page 33

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 34: WhiteBook_SmoothWallExpress3.0_v1.2

Page 34

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 35: WhiteBook_SmoothWallExpress3.0_v1.2

Page 35

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 36: WhiteBook_SmoothWallExpress3.0_v1.2

Page 36

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 37: WhiteBook_SmoothWallExpress3.0_v1.2

Page 37

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 38: WhiteBook_SmoothWallExpress3.0_v1.2

Page 38

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 39: WhiteBook_SmoothWallExpress3.0_v1.2

Page 39

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 40: WhiteBook_SmoothWallExpress3.0_v1.2

Page 40

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 earstw hile counterparts. $settings{' GREEN_ADDRESS'} = $cgiparams{' GREEN_ADDRESS'} if ( defined $cgiparams{'GREEN_ADDRESS'} ); $settings{'GREEN_NETMASK'} = $cgiparams{'GREEN_NE TMASK'} 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 41: WhiteBook_SmoothWallExpress3.0_v1.2

Page 41

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 42: WhiteBook_SmoothWallExpress3.0_v1.2

Page 42

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 43: WhiteBook_SmoothWallExpress3.0_v1.2

Page 43

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 44: WhiteBook_SmoothWallExpress3.0_v1.2

Page 44

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 45: WhiteBook_SmoothWallExpress3.0_v1.2

Page 45

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 46: WhiteBook_SmoothWallExpress3.0_v1.2

Page 46

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 47: WhiteBook_SmoothWallExpress3.0_v1.2

Page 47

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 48: WhiteBook_SmoothWallExpress3.0_v1.2

Page 48

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 49: WhiteBook_SmoothWallExpress3.0_v1.2

Page 49

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 50: WhiteBook_SmoothWallExpress3.0_v1.2

Page 50

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