SE4 2024/2025 EC1
Objectifs
A la base il vous est demandé d'implanter 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 cisco autonome de type 1600 tournant sous un IOS cisco classique mais un point d'accès cisco 2802 intégrant un contrôleur "Mobility Express" ;
- 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
etWiFi2
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
etvlan3
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
etWiFi2
d'accèder à Internet.
Concernant le point d'accès, 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
. Il vous est demandé d'effectuer cette configuration en utilisant uniquement les commandes en ligne du contrôleur "Mobility Express" sans jamais utiliser l'interface Web.
Un point d'accès cisco 2802 possède deux modes : le mode point d'accès et le mode contrôleur (Mobility Express). Commencez par remettre le point d'accès en configuration usine puis connectez-vous sur le port série, n'utilisez pas le configurateur initial. Vérifiez avec la commande sh version
que le point d'accès est bien en mode contrôleur.
Quelques commandes du mode contrôleur sont données ci-dessous :
(Cisco Controller) config sysname WLC1 (Cisco Controller) config prompt WLC1 (WLC1) config interface create vlang1 101 (WLC1) config interface port vlang1 1 (WLC1) config interface address dynamic-interface vlang1 10.60.1.10 255.255.255.0 10.60.1.1 (WLC1) config wlan create 1 "SSID G1" SSID_G1 (WLC1) config wlan interface 1 vlang1 (WLC1) show wlan summary (WLC1) config radius auth add 1 193.48.57.164 1812 ascii <secret_group1> (WLC1) config wlan radius_server auth add 1 1 (WLC1) config wlan aaa-override enable 1 (WLC1) config wlan security wpa enable 1 (WLC1) config wlan security wpa wpa2 enable 1 (WLC1) config wlan security wpa wpa1 disable 1 (WLC1) config wlan security wpa wpa2 ciphers aes enable 1 (WLC1) config wlan security wpa wpa2 ciphers tkip disable 1 (WLC1) config wlan security wpa akm 802.1x enable 1 (WLC1) config wlan broadcast-ssid enable 1 (WLC1) config wlan enable 1 (WLC1) save config
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 1 septembre pour réaliser le travail demandé. Il vous est explicitement demandé de produire un travail régulier le plus tôt possible *et* de faire des rapports réguliers (obligatoirement au travers de ce Wiki) à votre encadrant. S'y prendre à la dernière minute avec un seul retour à quelques jours de la date limite est une garantie d'échec.
Matériel nécessaire
Le matériel nécessaire est constitué :
- d'un PC sous Linux pour l'implantation du serveur d'identification (à votre charge) ;
- 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 cisco 2802 avec le système Mobility Express, ce point d'accès est fourni par l'encadrant.
Travail réalisé
18/07:
A ce jour j'ai crée mes interfaces VLAN (fichier dans les documents rendus) qui ont pour adresses 192.168.2.1 pour le VLAN 2 et 192.168.3.1 pour le VLAN 3 et ils sont bien au dessus de l'interface eth0 comme on peut le voir avec ce ip a:
Je suis passé à la configuration de mes instances freeradius. Pour cela j'ai copié la configuration de base 2 fois (une par VLAN) pour bien différencier chaque instances pour chaque VLAN. Je travaille donc dans /etc/freeradius/vlan2/
et /etc/freeradius/vlan3/
.
Pour que mes instances fonctionnent, j'ai modifié les adresses et les ports de /etc/freeradius/vlan2/sites-enabled/default
comme ceci:
listen {
ipaddr = 192.168.2.1
port = 1812
type = auth
}
listen {
ipaddr = 192.168.2.1
port = 1813
type = acct
}
Puis dans etc/freeradius/vlan2/sites-enabled/inner-tunnel
:
listen {
ipaddr = 127.0.0.1
port = 18130
type = auth
}
J'ai aussi réalisé la même chose pour les fichier du VLAN 3 en remplacant les adresses IP par celles du VLAN 3 et le port dans inner-tunnel par 18130 pour pas que les deux instances écoutent le même port.
Ainsi, j'arrive à lancer mes deux instances en parallèles comme le montre cette capture :
Pour obtenir cette capture j'ai lancé les deux instances en mode debug avec les commandes freeradius -X -d /etc/freeradius/vlan2
et freeradius -X -d /etc/freeradius/vlan3
. Maintenant que nos instances freeradius fonctionnent, je suis passé à la configuration des serveurs DHCP.
Après avoir installé le package isc-dhcp-server
, j'ai crée 2 fichiers .conf qui sont /etc/dhcp/dhcpd-vlan2.conf
et /etc/dhcp/dhcpd-vlan3.conf
.
Dans ces fichiers, j'y ai renseigné dans quel sous réseau ils doivent fonctionner.
Ensuite, pour lancer les deux services j'ai crée deux fichiers systemd: /etc/systemd/system/dhcpd-vlan2.service
et /etc/systemd/system/dhcpd-vlan2.service
dans lesquels j'indique le type de service (en l'occurence le type forking
car je vais en lancer 2 en parallèle) et la commande à l'execution qui est (pour le serveur destiné au VLAN 2 par exemple): ExecStart=/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd-vlan2.conf -pf /run/dhcp-server/dhcpd-vlan2.pid eth0.2
.
Après un systemctl daemon-reload
et systemctl enable dhcpd-vlan2
(pareil pour dhcpd-vlan3
), je lance mes services avec un systemctl start dhcpd-vlan2
(pareil pour celui du VLAN 3) et en regardant leur état avec un systemctl status dhcpd-vlan2
(et vlan3) on voit bien que mes serveurs tournent correctement en parallèle:
Pour être sûr que mes serveurs écoutent sur le bon port,
Mes deux serveurs écoutent bien sur le port 67 qui est le port par défaut de dhcp donc tout à l'air bon.
Documents Rendus
Les documents que je mets sont mes fichiers en l'état actuel de mon avancement, il peut avoir des changements.
Interfaces VLAN
Fichier de configuration pour la création des interfaces VLAN sous Linux :
/etc/network/interfaces
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto eth0.2 # VLAN2
iface eth0.2 inet static
address 192.168.2.1
netmask 255.255.255.0
vlan-raw-device eth0
auto eth0.3 # VLAN3
iface eth0.3 inet static
address 192.168.3.1
netmask 255.255.255.0
vlan-raw-device eth0
Script de lancement
Script de lancement des serveurs d'identification et des serveurs DHCP
----
Fichiers de configuration Radius
Comme ce sont quasiment les mêmes pour chaque VLAN je vais mettre ceux pour le VLAN 2 et ajouter en commentaires les modifications pour le VLAN 3.
/etc/freeradius/vlan2/sites-enabled/default
listen {
ipaddr = 192.168.2.1 # 192.168.3.1 pour VLAN 3
port = 1812
type = auth
}
listen {
ipaddr = 192.168.2.1 # 192.168.3.1 pour VLAN 3
port = 1813
type = acct
}
server default {
authorize {
preprocess
chap
mschap
digest
suffix
eap
files
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
Auth-Type EAP {
eap
}
eap
}
post-auth {
}
preacct {
}
accounting {
}
session {
}
post-proxy {
}
}
/etc/freeradius/vlan2/sites-enabled/inner-tunnel
listen {
ipaddr = 127.0.0.1
port = 18130 #18120 pour VLAN 3
type = auth
}
server inner-tunnel {
authorize {
}
authenticate {
}
post-auth {
}
preacct {
}
accounting {
}
session {
}
post-proxy {
}
}
Fichiers de configuration du serveur DHCP
Comme pour les fichiers Radius, les modifications pour le VLAN 3 sont en commentaires.
/etc/dhcp/dhcpd-vlan2.conf
:
option domain-name-servers ns1.vlan2.org, ns2.vlan2.org; #ns1.vlan3.org, ns2.vlan3.org pour VLAN 3
authoritative;
ddns-update-style none;
subnet 192.168.2.0 netmask 255.255.255.0 { # 192.168.3.0 pour VLAN 3
range 192.168.2.10 192.168.2.100; # 192.168.3.10 192.168.3.100 pour VLAN 3
option routers 192.168.2.1; # 192.168.3.1 pour VLAN 3
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
/etc/systemd/system/dhcpd-vlan2.service
:
[Unit]
Description=ISC DHCP Server VLAN2 # Ou VLAN3
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd-vlan2.conf -pf /run/dhcp-server/dhcpd-vlan2.pid eth0.2
# ExecStart=/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd-vlan3.conf -pf /run/dhcp-server/dhcpd-vlan3.pid eth0.3 pour VLAN 3
Restart=on-failure
[Install]
WantedBy=multi-user.target
Commandes en ligne pour configurer le point d'accès
----