Zeroshell
Issu de : https://www.youtube.com/watch?v=kU7zc8n-DJk
Présentation
Zeroshell est une distribution Linux servant à mettre en place une "box", c'est-à-dire un routeur comprenant de nombreux services, le tout en passant par une interface web (d'où le nom "Zeroshell" : le but est de ne pas utiliser de shell du tout). Elle s'installe sous en passant par un Live CD. Il existe différentes versions, notamment pour Raspberry Pi, je partirais ici de la version classique en version 3.9.0. Après réflexion, l'intérêt de Zeroshell par rapport à un PfSense est sa faible consommation en ressources, les fonctions étant similaires (même si OpnSense est plus complet, Zeroshell tourne sur un Raspberry !).
Installation
Je commence par créer une VM Linux - Other Linux en 64 bits, et y insérer l'ISO de ZeroShell. Zeroshell n'est pas gourmand du tout, 2 Go de disque et 384 Mo de RAM suffisent. Je vais lui mettre trois cartes réseau (LAN, externe, DMZ) en mode : interne, non connecté, pont. Je change l'ordre de boot pour mettre le disque dur en premier, et je boote.
Lors du premier boot, ZeroShell a déjà un profil, une config exemple et tout... Que je vais garder, et rajouter mon profil. Je commence par formater le DD avec le menu dans la lettre A (Le clavier est en qwerty). Une fois fait, je peux choisir entre VGA et serial en fonction du matos que j'ai (serial sert si je n'ai pas de connexion pour un écran). Pas de paramètres au kernel, je fait entrée.
Je vais ensuite créer un profil de configuration (qui stocke tous mes réglages). Je rentre un nom et je laisse le reste, pour ce tutoriel ça devrait suffire. Je choisit ensuite la carte 1 qui est en réseau interne. Je peux changer l'IP.
Je vais ensuite dans le profile manager pour activer le profil que je viens de créer, ensuite de quoi il reboote. C'est fait : je n'ai plus qu'à utiliser un autre PC pour accéder à l'interface webui. On pourrait passer par le shell, mais ce n'est pas trop dans l'esprit :)
Passage à la WebUI
Depuis mon pc client, je vais me connecter à la webui. J'accepte le certificat autogénéré, et je me connecte avec admin - zeroshell. On arrive alors sur un genre de PfSense en plus moche. Je peux aller voir mon profil qui est activé dans "profiles".
Je vais mettre en place le réseau : dans l'onglet network, je sélectionne ETH02, et je clique sur DynIP; puis j'active le DNS et je fais "Renew" pour disposer d'une adresse IP externe. L'adresse IP obtenue en DNS apparait. Je vais ensuite ajouter une adresse à ETH0 avec "Add IP", ce qui me fait directement une sous-interface (ici je mets 10.0.0.254/24).
DHCP
Sur le menu de gauche, je clique sur "DHCP" pour en mettre un en place. Il faut ensuite le configurer : je peux créer un nouveau subnet avec "new", puis je choisit mon pool 10.0.0.0. Je choisit un lease time et un range, ainsi que les options et save. Je peux ensuite configurer mon client en DHCP, qui obtient alors la première IP disponible. Je reviens sur l'interface depuis le client mais cette fois depuis 10.0.0.254. On a cependant pas encore accès au net depuis le client.
NAT
C'est tout simple : dans le menu de gauche je choisit "Router", puis je clique sur l'onglet "NAT", et je choisit la carte réseau correspondant au réseau de SORTIE. Je l'ajoute, save, c'est bon. On attend un peu qu'il crée des règles, et c'est bon.
Qu'est-ce qu'on peut faire avec tout ça?
Extensions
On peut rajouter un tas de paquet différents, mais il faut pour ça un code d'activation (qu'on peut obtenir de différentes manières : https://zeroshell.org/activation/) mais je n'en ai pas. Il semble y en avoir beaucoup, comme nmap, SNORT, Asterisk...
Monitoring
L'onglet monitoring permet de gérer différentes alertes. Sur la droite, on peut renseigner adresse e-mail ou sms pour envoyer les alertes. On peut reconfigurer les alertes ou en créer d'autres, cela passe par du bash.
FIN DU PROJET
Novembre 2021 : ZeroShell n'existe plus :(