Bienvenue à tous dans cette nouvelle partie consacrée à la mise en pratique de ce que vous avez appris jusqu’à présent. Pour cette mise en pratique nous utiliserons pfSense et Iptables. L’un est un routeur/firewall que vous pouvez voir comme un OS, et qui va protéger votre LAN, l’autre est un logiciel que vous allez configurer sur un serveur afin de le protéger. Le but étant de créer une architecture DMZ et de rendre votre serveur accessible, tout en le protégeant. Allez, on commence.
Créez votre architecture
Vous allez commencer par placer ses composants dans votre maquette GNS3 :
Un routeur/firewall OPNsense (Un fork de pfSense).
Un serveur Web ToolBox (un petit serveur Linux avec un serveur web pré-configuré).
Un docker Ubuntu (pour les utilisateurs d’Internet et du LAN).
Trois webterm (pour accéder au firewall via HTTP et tester l’accès au web-serveur).
Le tout est disponible sur le marketplace de GNS3.
Mis à part les firewalls, tous ces composants sont déjà configurés. Vous n’avez qu’à changer leurs adresses IP.
Votre travail consiste donc à rendre accessible le serveur Web depuis Internet, mais que le LAN lui, ne le soit pas. Par contre depuis le LAN, il est possible de se connecter au serveur Web. Ce sont là les principes de l’architecture DMZ.
Vous allez commencer par configurer la DMZ, ensuite, vous ajouterez les composants du LAN.
Configurez les utilisateurs d’Internet
Pour simuler un utilisateur d’Internet, vous allez ajouter :
Un NAT (qui vous connecte à Internet et fournit un service DHCP).
Un Webterm.
Un Switch, pour relier le NAT, le docker Ubuntu et l’interface WAN du Firewall.
Le NAT ne demande aucune configuration.
Pour le Webterm, avant de l’allumer :
Cliquez droit sur son icône.
Puis cliquez sur « configuration ».
Enfin dé-commentez ces lignes :
auto eth0
iface eth0 inet dhcp
Ces lignes vous permettent de configurer l’interface en DHCP. Et c’est le NAT qui va lui attribuer une adresse.
Ajoutez les composants de votre DMZ
Commencez par ajouter vos composants, comme ceci :
Un réseau 192.168.2.0/24.
Une IP fixe pour le serveur Web. Pour se faire, configurez son interface en statique comme ceci :
cliquez droit sur son icône.
Puis cliquez sur « configuration ».
Enfin dé-commentez ces lignes :
auto eth0
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
gateway 192.168.2.1 (l’adresse du firewall)
En ce qui concerne le firewall, il doit donc :
Permettre aux utilisateurs d’Internet de joindre le serveur Web.
Et permettre au serveur Web de répondre aux requêtes des utilisateurs d’Internet.
Mais d’abord, ajoutez les composants de votre LAN.
Pour le démarrage du routeur/firewall, vous pouvez vous aider du cours sur GNS3.
Ajoutez les composants de votre LAN
Votre LAN est donc composé :
d’un Firewall,
d’un docker Ubuntu
et d’un Webterm pour vous connecter et configurer votre firewall.
Le tout sur un réseau 192.168.1.0/24.
Regardons maintenant comment configurer le firewall en commençant par la partie LAN.
Configurez votre LAN
Établissez, tout d’abord, votre politique de sécurité. Pour garantir la sécurité de votre LAN, vous voulez :
Que le réseau de la DMZ, n’ait aucun accès vers votre LAN.
Que votre LAN puisse naviguer sur le web.
Que votre LAN puisse accéder au serveur de la DMZ.
Une fois votre firewall, démarré, vous pouvez vous y connecter via le Webterm.
Suivez la procédure de démarrage en laissant les paramètres par défaut. Vous pouvez ajouter les DNS de Google (8.8.8.8 et 8.8.4.4) mais ce n’est pas nécessaire pour notre étude.
Le NAT est automatiquement généré par OPNsense, il ne vous manque plus qu’à configurer les règles de votre politique de sécurité.
Comme vous n’utilisez pas IPv6, désactivez la règle correspondante.
De plus, vos utilisateurs n’ont besoin d'accéder qu’à HTTP. Ils n’ont donc besoin que du port 80 (443 pour HTTPS).
Une fois votre DMZ créée, vous reviendrez sur les règles à créer entre les deux réseaux.
Configurez votre DMZ
La DMZ, c’est la partie ouverte à Internet. Vous établirez en premier lieu, la politique de sécurité, puis vous la configurerez point par point.
La politique de sécurité
Établissons rapidement la politique de sécurité :
Les utilisateurs d’internet doivent avoir accès au serveur WEB.
Le serveur Web doit pouvoir leur répondre.
Seuls les ports 80 et 443 (les ports HTTP et HTTPS) sont ouverts.
Commencez par activer l’interface OPT1 et renommez-la en DMZ.
Configurez l’interface DMZ
Commencez par rendre le serveur accessible depuis Internet.
Rendez le serveur Web accessible depuis Internet
Pour cela, il vous faut donc configurer le PAT.
Cliquez sur Ajouter :
Voici la redirection de l’adresse WAN et du port 80, vers l’adresse du serveur Web et vers le port 80.
Il ne vous manque plus qu’à créer la règle firewall permettant l’accès à l’adresse WAN part le port 80.
Vous n’avez plus qu’à tester, en entrant l’adresse WAN du routeur dans le navigateur Firefox de l’utilisateur Internet.
Et voilà, ça fonctionne ! Votre serveur Web est bien accessible.:soleil:
Il vous faut maintenant vérifier que votre DMZ elle, n’a pas accès au LAN. Depuis le serveur Web, tentez des ping vers les interfaces LAN et WAN du firewall.
Ça ne fonctionne pas ? C’est que votre configuration est bonne ! :p
Voilà, les trois points de votre politique de sécurité sont respectés. Vous avez pu, lors de ce chapitre, sécuriser votre architecture réseau grâce aux règles de votre firewall. Nous verrons dans le prochain chapitre comment renforcer cette sécurité en configurant directement le firewall du serveur WEB.
Ce qu’il faut retenir
OPNsense est un routeur/firewall open source. C’est un fork de pfSense.
ToolBox est un serveur Linux, où un serveur Web est déjà installé, il permet de tester une configuration web.
Webterm est un docker Linux avec Firefox d'installé. Il permet dans votre cas d’accéder à la configuration par HTTP de votre firewall.
Dans une architecture DMZ :
La DMZ est accessible depuis Internet.
Le LAN n’est pas accessible depuis Internet.
Le LAN peut ou non avoir accès à Internet.
Le LAN peut ou non avoir accès à la DMZ.
La DMZ n’a pas accès au LAN.
Dans le cas d’une architecture WEB, seuls les ports concernés doivent être ouverts. Les autres ports restent fermés.