top of page

Kathara

Dernière mise à jour : 4 sept. 2020

Présentation de la situation professionnelle :


Le but est de simuler le déploiement d'une architecture réseau avec un serveur web qui n'est pas situé sur le même réseau que les pc clients et qui est donc accessible grâce à un routeur.

Dans notre cas la page web sera la page par défaut de serveur Apache.




Présentation des outils utilisés :


Docker :


Docker est un hyperviseur de type 1, il permet de créer des conteneurs (presque comme une VM mais très léger en terme de ressources) son utilisation est très pratique, car on peut créer un serveur web sur demande ou encore n'importe quelle autre service très rapidement.


docker Hub : hub.docker.com

Installation : sudo apt install docker.io


Kathara :


Kathara est également un hyperviseur de type 1, elle fonctionne avec docker pour démarrer sur les images de Docker HUB, cependant elle permet de gérer un ensembe de machines à la fois par exemple démarrer tout un labo d'un seul coup (plusieurs machines, ce sont les l-commandes exemple lstart, lclean ; les commandes pour gérer une seule machine, les v-commandes).

Je vous recommande l'image kathara/quagga pour vos machines car elle contient les

protocoles de routage OSPF, BGP, IS-IS, et d'autre outils pour l'administration des réseaux.

Apache2 et bind9 sont également installé de base.

Vous pouvez la récupérer avec la commande :

docker pull kathara/quagga


Les deux application fonctionne ensemble pour permettre des tâches d'administrateur réseau, monter un réseau local d'entreprise avec un serveur dns pour la résolution de nom et un serveur web intranet. Cela est également parfait pour créer un environnement de tests de vulnérabilité et autres ...

Kathara ne permet pas comme Docker d'enregistrer ces VMs crées et modifié.

On peut modifier la configuration de kathara assez facilement avec la commande : kathara settings



kathara : www.kathara.org







Découverte et première utilisation de Kathara :


But :

Communiquer avec un serveur web situé sur un autre réseau avec notre pc grâce à un routeur. En utilisant l'application kathara


Prérequis :

  • OS version serveur : ubuntu 18.04.3 !!! ubuntu server 19.10 ne marche pas

  • Installer xTerm (terminal) car kathara l'utilise par défaut pour lancer ses VMs


Pour notre premier labo avec kathara on va créer un réseau assez simple avec un routeur possédant une interface dans 2 réseaux différents, eth0 sur 192.168.1.254/24 et eth1 sur 192.168.2.254/24 un pc1 : 192.168.1.123/24 et un serveur web (apache2) : 192.168.2.10/24


On commence par crée un fichier nom_machine.startup et un dossier nom_machine par équipement :

Voila ce que vous devez avoir pour votre 1er lab les écriture en bleu correspondent à des dossiers, le dossier shared est crée après avoir lancé le lab ne le crée pas. Il contient les fichiers shared.startup et shared.shutdown, ce sont les config qui s'appliquent à toutes les machines du lab, ce fichier est pris en compte avant le fichier .startup et .shutdown


Ensuite, il faut créer le fichier lab.conf (indispensable pour démarrer le lab), voici son contenu dans notre cas :

Quand je dis "dans mon réseau local" je ne parle pas de mon réseau ou il y'a ma livebox, mes équipements, ce ne sont pas les mêmes réseaux !! Il ne peuvent pas communiquer ensemble sauf si j'ajoute une route depuis le routeur vers mon réseau sur ma machine virtuelle ubuntu Server(ne pas oublier d'ajouter la route également sur la machine virtuelle ).


Ce fichier définit les domaines de collision de chaque interface,

pc1[0]=lanhome : signifie que l'interface eth0 de pc1 est sur le domaine de collision lanhome


Après avoir créer lab.conf il faut remplir les fichiers .startup pour définir les adresse IP et les autre configurations,


Fichier pc1.startup :






Fichier serveurweb.startup :





Apache2 est installé de base sur l'image kathara/quagga sinon j'aurais du l'installer directement depuis ce fichier.


Le fichier rtrout.startup qui permet de relier les 2 sous-réseaux entre eux :









Vous avez normalement tous les fichiers nécessaire pour le lancement de votre premier lab kathara, la commande kathara lstart permet de démarrer le labo (il faut être dans le dossier contenant tout le lab) :

La commande kathara lstart à bien fonctionné et à créer les domaines de collision lanhome et serveur (ce sont nos 2 réseaux 192.168.1.0/24 et 192.168.2.0/24), on voit qu'elle à aussi démarré nos 3 machines.

On voit bien que le serveurweb est sur le réseau 192.168.2.0 alors que pc1 sur 192.168.1.0, le routeur est bien connecté aux 2 réseaux, on peut tenter de faire un ping depuis pc vers le serveur, mais on va plutôt essayer de récupérer directement la page web que fournit le serveur tout en lançant tcpdump sur le serveur pour voir : je lance la commande :

links @IP_serveurweb



On voit bien le GET / HTTP/1.1 sur la machine serveurweb ainsi que l'auteur de la page web qui apparaît en bas à gauche de la machine pc1 , on voit 192.168.2.10.

J'ai laissé la page Apache2 par défaut mais vous pouvez bien sur la changer en créer les dossiers /serveurweb/var/www/html/votre_index.html , il faut bien créer ce fichier sur votre machine contenant le lab et non directement sur la machine serveurweb ( kathara ne prend pas les modifications effectués lors du prochain démarrage)


Pour mettre le site que l'on veut :

Dans le fichier index.html on peut mettre le fichier que l'on désire, j'ai testé avec le code source de leboncoin :

Voila j'espère que ce tuto vous aura été utile, merci d'avoir pris le temps de le lire, ça me fait plaisir :) , je voulais vous montrez la puissance de kathara pour administrer des réseaux =) .






Comments


Post: Blog2_Post
bottom of page