SE2a5 2023/2024 EC1

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

Objectifs

A la base il vous est demandé d'implanter à nouveau le point 7.2 de votre sujet de travaux pratiques pour le module "sécurité dans les systèmes et réseaux" mais avec des différences notables.

Les différences sont les suivantes :

  • le point d'accès n'est pas un point d'accès aironet avec un IOS cisco mais un point d'accès TP-LINK EAP615 avec le logiciel OpenWRT ;
  • le réseau est réduit à un seul PC, de préférence connecté à Internet ;
  • vous n'implanterez que 2 SSID sur 2 VLAN pour simuler deux groupes d'élèves, appellons les SSID WiFi1 et WiFi2 associés aux VLAN 2 et VLAN 3.

Vous êtes libre de choisir les réseaux IPv4 à configurer sur les VLAN 2 et VLAN 3 du moment que vous utilisez des réseau non routés n'étant pas en conflit avec un réseau déjà utilisé par votre PC.

Vous devez installer les services suivants sur le PC :

  • créez deux interfaces vlan2 et vlan3 au dessus de l'interface Ethernet de connexion avec le point d'accès ;
  • deux serveurs d'identification à base de freeradius, faites en sorte que chaque instance utilise un répertoire de configuration différent, une instance doit se lier à vlan2 et la seconde à vlan3 ;
  • deux serveurs DHCP, une instances doit se lier à l'interface code>vlan2 et la seconde à l'interface vlan3 ;
  • réalisez une mascarade pour permettre aux machines utilisant WiFi1 et WiFi2 d'accèder à Internet.

Concernant le point d'accès vous devez déjà installer le logiciel OpenWRT.

Un fois OpenWRT opérationnel, il est est demandé de configurer deux SSID, un associé avec le VLAN 2 et l'autre avec le VLAN 3 avec une identification par WPA-EAP en pointant vers vos deux instances de freeradius. Vous devez tester deux méthodes de configuration. Une première via des lignes de commandes à taper sous OpenWRT via ssh, une seconde en utilisant l'interface Web LuCi d'OpenWRT. Ne tentez pas de méthode mixte.

Vous pouvez considérer qu'une configuration fonctionne si elle respecte les contraintes ci-dessus et si un téléphone peut se connecter en WiFi sur chaque SSID et sortir sur Internet (e.g. navigation Web).

Il s'agit là d'un cahier des charges initial qui peut être revu en cas d'ambigüité. Vous avez jusqu'au 15 juin pour réaliser cette épreuve complémentaire. Il vous est fortement conseillé de produire un travail régulier le plus tôt possible et de faire des rapports réguliers (en particulier au travers de ce Wiki) à votre encadrant. S'y prendre à la dernière minute avec un seul retour la veille de la date limite risque fortement de conduire à un échec.

Matériel nécessaire

Le matériel nécessaire est constitué :

  • d'un PC sous Linux pour l'implantation du serveur d'identification ;
  • d'un adaptateur USB/Ethernet pour connecter le PC au point d'accès sans impacter la connexion du PC à l'Internet, cet adaptateur est fourni par l'encadrant ;
  • d'un point d'accès TP-Link EAP615 permettant l'installation d'OpenWRT, ce point d'accès est fourni par l'encadrant.

Travail réalisé

Documents Rendus

Interfaces VLAN

Fichier de configuration pour la création des interfaces VLAN sous Linux :

S'assurer de charger le module modprobe 8021q sur le PC linux.
Ce module va nous permettre de créer et gérer les interfaces VLAN, pour segmenter le réseau en multiples réseaux distincts.

Commande : 

sudo modprobe 8021q
Pour vérifier que le module est bien chargé, utiliser la commande suivante : 

lsmod | grep 8021q

Lsmod 8021q check.png
Pour vérifier quelle est l'interface réseau du convertisseur ethernet vers USB-C, on utilise la commande ip a : 

Interface de connexion eth to usb.png
On remarque donc que nous allons devoir créer les VLANs sur l'interface de connexion enx0c3796a8eabc.

Dans le fichier de configuration /etc/network/interfaces, on y créer les VLAN 2 (IP statique : 192.168.2.1) et VLAN 3 (IP statique : 192.168.3.1): 

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source /etc/network/interfaces.d/*

auto vlan2
iface vlan2 inet static
	address 192.168.2.1
	netmask 255.255.255.0
	vlan-raw-device enx0c3796a8eabc
	

auto vlan3
iface vlan3 inet static
	address 192.168.3.1
	netmask 255.255.255.0
	vlan-raw-device enx0c3796a8eabc
Description des interfaces : 
auto vlanX        -> directive pour que l'interface s'active dès le démarrage du PC.
inet static       -> méthode pour attribuer une adresse IP statique pour l'interface VLAN
address           -> adresse IP attribuée au VLAN
netmask           -> masque de sous réseau utilisé 
vlan-raw-deviceX  -> identifiant réseau auquel le VLAN est associé
Pour vérifier que les interfaces VLAN sont bien créées, on utilise les commandes suivantes : 
-> systemctl restart networking (redémarrer le service réseau)
-> systemctl status networking (pour voir que le service réseau fonctionne et qu'il n'y a pas d'erreurs)

Systemctl status networking.png


-> ip a : 

Interfaces vlans ip a.png 

Script de lancement

Script de lancement des serveurs d'identification et des serveurs DHCP

Pour le script de lancement, j'ai voulu lancer les serveurs freeradius en mode débug. Ce mode permet de voir les indentifications en temps-réel et de vérifier si un utilisateur se connecte avec le bon login et mot-de-passe.

Il faut utiliser un terminal spécifique pour le lancement de ce script.

Pour terminer le script de lancement, il faut utiliser les touches CRTL-C.

Le script a le déroulement suivant :
1) on redémarre le service réseau
2) on redémarre les serveurs DHCP pour attribuer les IP aux utilisateurs connectés aux VLANs spécifiques
3) on lance une première instance freeradius, liée au VLAN2, qui se trouve dans le répertoire /etc/freeradius/vlan2/
4) on lance une deuxième instance freeradius, liée au VLAN3, qui se trouve dans le répertoire /etc/freeradius/vlan2/
Script de lancement : 

systemctl restart networking
systemctl restart isc-dhcp-server

freeradius -X -d /etc/freeradius/vlan2/ &
freeradius -X -d /etc/freeradius/vlan3/ &

wait
Vérification que le script se lance correctement avec la commande ./: 

Freeradius vlan3.png

Freeradius vlan2.png

On remarque que les serveurs DHCP et Freeradius se lancent correctement et qu'ils écoutent respectivements sur les IP: 192.168.2.1 / port : 2020 et IP: 192.168.3.1 / port 3030.

Les serveurs sont bien liés aux VLAN 2 et 3. 

Fichiers de configuration Radius

Création des deux instances freeradius : dupliquer le fichier "3.0" dans /etc/freeradius , les renommer avec un autre nom : 

Instances radius.png
Pour configurer les serveurs freeradius, j'ai modifié les fichiers suivants :

Fichier 

Pour l'instance VLAN2 :


Pour l'intance VLAN3 :



Fichiers de configuration du serveur DHCP

/etc/dhcp/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
# configuration file instead of this file.
#

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;


subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.10 192.168.2.100;
    option routers 192.168.2.1;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option domain-name "myLocalDNS.com";
}

subnet 192.168.3.0 netmask 255.255.255.0 {
    range 192.168.3.10 192.168.3.100;
    option routers 192.168.3.1;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option domain-name "myLocalDNS.com";
}
Dans /etc/default/isc-dhcp-server , ajouter les vlans dans "INTERFACES4=" " : 

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#	Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="vlan2 vlan3"
Restart du serveur dhcp pour prendre en compte les modifications : 
systemctl restart isc-dhcp-server / systemctl status isc-dhcp-server (pour vérifier les erreurs)

Procédure pour installer OpenWRT

Etape 1 : Installation de OpenWrt sur le Tp-link (méthode via interface en ligne)

Aller sur le site d'OpenWrt (download firmware) et trouver le logiciel adapté au tplink eap615-wall : https://openwrt.org/toh/views/toh_fwdownload

Openwrt download.png


Télécharger le "Factory Image", et le renommer "factory.bin" (dossier download du pc)

Factory.bin.png


Brancher le tplink à une box ou routeur et aller sur le site http://tplinkeap.net (login : admin ; password : admin)

Page d'acceuil TPlink.png


Une fois sur la page d'acceuil, aller dans System -> Firmware

Page d'acceuil2tplink.png

Update firmware page.png

Dans Browse, choisir dans le dossier Download 'factory.bin' et cliquer sur Update. L'installation d'OpwenWrt va forcer l'ip du tplink à 192.168.1.1,  il faudra uiliser cette ip pour se connecter sur LuCi (interface web d'OpenWrt).

Débrancher le TPlink de la box / routeur, le connecter à l'injecteur de courant et au PC via le convertisseur ethernet -> USB-C. Sur un navigateur, rentrer l'ip 192.168.1.1 .

LuCi.png


Test connexion via ssh -> 'ssh root@192.168.1.1'

Ssh openwrt.png


Etape 2 : Installation des packages nécessaires pour utiliser l'option WPA-EAP lors de la création des ssid

Vérification de l'architecture utilisé par le TPlink -> commande cat/etc/os-release

Architecture.png


Aller sur la page download de OpenWrt pour télécharger les packages associé à l'architecture 'mipsel_24kc' : https://downloads.openwrt.org/releases/23.05.3/packages/mipsel_24kc/base/


Télécharger les packages suivants : 

Packages.png


Dans l'interface LuCi, aller dans l'onglet System -> Software, remove le package pré-installé "wpad-bacics".
Upload les nouveaux packages avec l'onglet "Upload Package". 
Commencer par les "ucode" (le package wpad doit être installé en dernier, étant dépendant des "ucode")

OpenwertSoftwrepack.png

Commandes en ligne pour configurer le point d'accès

Création d'un device vlan :


uci add network device

uci set network.@device[-1].name='br-lan.2'
uci set network.@device[-1].type='8021q'
uci set network.@device[-1].ifname='br-lan'
uci set network.@device[-1].vid='2'
uci set network.@device[-1].macaddr='A8:42:A1:B2:B6:D4'
uci set network.@device[-1].mtu='1500'
uci set network.@device[-1].txqueuelen='1000'
uci set network.@device[-1].ipv6='auto'
uci set network.@device[-1].ipv6mtu='1500'
uci set network.@device[-1].dadtransmits='1'
uci set network.@device[-1].promisc='1'
uci set network.@device[-1].acceptlocal='1'
uci set network.@device[-1].arp_accept='1'
uci set network.@device[-1].drop_gratuitous_arp='0'
uci set network.@device[-1].sendredirects='1'
Création d'une interface wifi1 :


uci set network.wifi1=interface
uci set network.wifi1.proto='static'
uci set network.wifi1.device='br-lan.2'
uci set network.wifi1.ipaddr='192.168.2.2'
uci set network.wifi1.netmask='255.255.255.0'
uci set network.wifi1.gateway='192.168.2.1'
Pour enregistrer les modifications sur le device vlan et l'interface : 

uci commit network
/etc/init.d/network restart
Création du ssid Wifi1:

uci set wireless.@wifi-iface[0]=wifi-iface
uci set wireless.@wifi-iface[0].network='wifi1'
uci set wireless.@wifi-iface[0].device='radio0'
uci set wireless.@wifi-iface[0].mode='ap'
uci set wireless.@wifi-iface[0].ssid='Wifi1'
uci set wireless.@wifi-iface[0].encryption='wpa'
uci set wireless.@wifi-iface[0].auth_server='192.168.2.1'
uci set wireless.@wifi-iface[0].auth_port='2020'
uci set wireless.@wifi-iface[0].auth_secret='passwordSecret'
uci set wireless.@wifi-iface[0].auth_type='WPA-EAP'
Pour enregistrer les modifications sur le ssid 'Wifi1':

uci commit wireless
wifi reload

Procédure pour configurer le point d'accès avec LuCi

Étape 1 : Création du device type Vlan 'br-lan3'

Dans le menu Network -> Interfaces, cliquer sur devices et ajouter la configuration suivante :

Brl3 GS.png


Brl3 AS.png


Étape 2: Modification de la configuration du bridge device 'br-lan'

Image brlan.png


Brl AS.png


Brlan bridge.png

Note :

. Le Vlan d'ID 99 permet juste de pouvoir continuer de configurer les vlans 2 et 3. Il n'a pas d'importance ni de conséquence sur le paramétrage du bridge.

. Ce paramétrage permet de tagger les Vlans 2 et 3 : permet une gestion plus efficace du réseau en regroupant les utilisateurs par Vlan

. Activation du port LAN1 -> utilisé pour dissocier le PC "routeur" et le PC paramétrage du TPlink. M'a permis également de faire du débug car quand je voulais faire un ping depuis un autre pc vers une interface VLAN créée auparavant, je ne reçevais pas de paquets de retour. J'ai donc installé TSHARK sur mon pc ubuntu et WIRESHARK pour analyser les trames envoyées / reçues, pour faire des tests et trouver la bonne configuration du TPlink pour faire communiquer les différentes machines entre elles.


Étape 3: Création de l'interface 'wifi2'

Dans le menu Network -> Interfaces, ajouter la configuration suivante :


Imagewifi2interface.png


WIFI2 AS.png

Étape 5: Modification de l'interface 'lan'

Lan GS.png


Lan AS.png


Note : pour pouvoir configurer le TPlink, il faudra donc utiliser l'IP 192.168.10.2 et connecter un cable ethernet sur le port eth1 du TPlink


Étape 6: Création de l'interface 'wifi2'

Dans le menu Network -> Wireless, ajouter la configuration suivante :


ACW2 GS.png


ACW2 WIFITYPE.png