Apprentissage des règles de filtrage sur un Firewall

Apprendre à administrer un Firewall pfSense

Le schéma de mon infrastructure

Le but était ici d'apprendre à paramétrer un firewall, son NAT et ses règles de filtrage

Nous avons donc créé trois machines virtuelles (dites VM) : une pour le pare-feu, une pour le client cherchant à naviguer ou se connecter au client, et une faisant office de serveur WEB. Voici l’architecture qui a guidé notre travail :

La configuration des machines

Une petit configuration via les paramètres de VirtualBox nous permet de connecter toutes ces machines sur le même réseau et, après avoir configuré le pare-feu correctement et avoir activé le DHCP (donc l’adressage dynamique des adresses IP), nous nous retrouvons avec un serveur qui a l’adresse :

Mais nous pouvons tout à fait changer cette adresse IP et outrepasser l’adressage dynamique. Ainsi nous choisissons une nouvelle adresse pour le serveur, grâce aux commandes suivantes :

« sudo nano /etc/network/interfaces » => permet de passer en administrateur grâce à la commande « sudo » et d’écrire grâce à « nano ». Le fichier « interfaces » qui se trouve dans le chemin que nous indiquons à la machine s’ouvre alors et nous pouvons le modifier. J’ai donc ajouté ceci au fichier afin de changer l’adressage IP :

« auto lo

iface lo inet loopback

auto enp0s3

iface enp0s3 inet static

    address
172.16.50.10

    netmask
255.255.255.0

    gateway
172.16.50.1

    dns-nameservers
8.8.8.8 »

Et voilà le travail ! L’adresse n’est plus 172.16.50.52 mais bien 172.16.50.10 !

L'installation des services

J’ai d’abord installé Apache, puis le service SSH. Ces deux services me permettront de communiquer avec ma machine qui fait office de serveur et d’être à la fois sûre d’être comprise et de comprendre en retour les réponses du serveur. Le service SSH est ce qui permet à un utilisateur de se connecter de façon sécurisée à distance sur une autre machine.

Nous pouvons voir dans les deux captures d’écran ci-dessus que les deux services sont présents et actifs.

L'interface pfSense

L’interface web d’un pare-feu est ce qui nous permet de communiquer efficacement avec lui, afin de lui annoncer quelles sont les règles de filtrage qu’il doit appliquer. Par définition, un pare-feu bloque tout ce qu’on ne lui demande pas d’autoriser. Il peut également bloquer encore plus, et avec une grande précision, des menaces de notre connaissance.

Voici à quoi ressemble l’interface web de pfSense :


Le menu des règles est très intuitif et nous permet de définir des protocoles autorisés ou proscrits. Par exemple, j’ai autorisé le protocole ICMP dans le cadre de cet exercice, afin de pouvoir effectuer des pings entre mes machines, de façon à vérifier qu’elles pouvaient bien communiquer sur le réseau :


Le mieux est ensuite de vérifier que le ping fonctionne, ce qui est le cas :


Nous avons ensuite également vu les redirection de ports NAT, en plus des  règles de filtrage. Cela permet au firewall de traduire des adresses IP publiques en adresses IP privées, mais également de traduire des ports, par exemple en expliquant au pare-feu que « 2222 » est la même chose que « 22 », le port qui, en informatique, est réservé au protocole SSH (le fameux qui permet la prise en main à distance d’une machine)


TEST :

Tout ceci m’a donc permis d’effectuer des tests depuis ma machine client : j’ai pu me connecter avec la VM qui simulait un client sur son PC sur la VM du firewall :

Ici on peut observer que j’ai utilisé le port « 2222 » mais la commande SSH, ce qui prouve que mon firewall a bien été paramétré et comprenait bien que 2222 et 22 étaient, dans ce cas, deux ports pour le protocole SSH.

Bonus

J’ai tenté d’ouvrir les réseau des machines virtuelles sur mon véritable réseau afin d’interagir avec elles via mon propre PC. Pour ce faire, j’ai retrouvé mon adresse IP sur mon invite de commande avec la commande « ipconfig », puis j’ai modifié les règles de filtrage sur l’interface web du firewall :

A présent, la source autorisée est celle de mon réseau personnel. J’ai testé de ping le firewall depuis mon invite de commande afin de vérifier que ma règle avait bien été appliquée :

Le ping fonctionne, donc ma règle est bonne !

Je peux passer à l’étape suivante : je dois vérifier que l’accès à l’interface web en http avec le port 8080 fonctionne, idem pour le SSH avec le port 2222.

HTTP :


Et connexion en SSH depuis mon invite de commande :