SE4 2024/2025 EC1

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

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 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, 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:

Ip a vlan2 et 3.png

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/defaultcomme 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 :

Freeradius x2.png

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:

Mes serveurs dhcp tournent.png


Pour être sûr que mes serveurs écoutent sur le bon port,

Netstat.png


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

----