Forum Français

 View Only
last person joined: 2 days ago 

Bienvenue sur le forum communautaire français d'Airheads.
Expand all | Collapse all

filtrage MAC + Radius sur 2930F

This thread has been viewed 64 times
  • 1.  filtrage MAC + Radius sur 2930F

    Posted Feb 13, 2024 03:37 AM

    Bonjour,

    D'abord mon besoin : je souhaiterais pouvoir bloquer l'accès au réseau à des équipements externes que je considère comme "pirate".

    Le contexte :

    J'interviens dans plusieurs établissements scolaires où les élèves, voire professeurs, ne se gênent pas pour débrancher les ordinateurs fixes des salles de cours ou informatique pour y connecter leur ordinateur personnel (ou borne wifi, ou ...).

    Plusieurs VLANs sont configurés sur les 2930F, les principaux étant les vlans Pédagogique et Administratif. Sur un même switch on peut retrouver les 2 types (pas de séparation distincte).

    Afin de bloquer ces ordinateurs "pirates", j'ai commencé à étudier l'authentification de ces périphériques par un serveur RADIUS (freeradius). Mon objectif est de saisir la liste de toutes les adresses MAC autorisées des postes appartenant au vlan Pédagogique et de bloquer toutes les MAC inconnues.

    Mais je me retrouve confronter à un problème. Mon filtrage s'applique aussi aux périphériques présents sur d'autres vlans puisque j'applique le filtrage sur TOUS les ports des switches. En effet je ne peux me permettre de ne l'activer que sur les ports du vlan pédagogique (beaucoup trop chronophage et susceptible d'être modifié régulièrement).

    Il semblerait qu'on soit obligé de fournir un n° de vlan sur lequel basculer lorsque le switch reçoit une réponse du RADIUS. Or si le périphérique n'est pas connecté au vlan pédagogique (un poste administratif par exemple) celui-ci devrait rester dans le vlan où il se trouve déjà (pas de redirection).

    Et c'est là tout le noeud du problème...

    VLAN membership priority

    Arubanetworks remove preview
    VLAN membership priority
    Following client authentication, an 802.1X port resumes membership in any tagged VLANs for which it is already assigned in the switch configuration. The port also becomes an untagged member of one VLAN according to the following order of options: Procedure 1st Priority: The port joins a VLAN to which it has been assigned by a RADIUS server during client authentication.
    View this on Arubanetworks >

    Bien que cette doc indique : "3rd Priority: If the port does not have an Authorized-Client VLAN configured, but does have a static, untagged VLAN membership in its configuration, then the switch assigns the port to this VLAN"

    Si je n'indique pas un n° de vlan dans la commande

    aaa port-access authenticator 1-26                                           (auth-vid 10 / unauth-vid 10)

    alors le périphérique reste bloqué. 

    Est-ce que je rate quelque chose ? Ou bien ce que je souhaite réaliser n'est pas possible ?

    J'espère avoir été assez clair dans ma description du problème.

    Merci par avance.



  • 2.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 13, 2024 12:00 PM

    Bonjour Tatanas,

    C'est quoi la configuration complete du switch ?

    ton RADIUS renvoie un Accept ou Reject si il ne trouve pas la Mac Adresse ?



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 3.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 14, 2024 07:06 AM

    Alors je viens de vérifier les logs du switch (sh log -r) et je n'ai strictement aucune communication avec le serveur Radius.

    Mais avant de gratter dans la conf (et risquer de perdre notre temps), penses-tu que ce que je souhaite faire est réalisable ?

    Je parle bien d'un blocage des postes du vlan pédagogique qui ne seraient pas présents dans la "liste blanche" des MAC autorisées du Radius.

    EDIT : le fonctionnement de la commande "port-security" serait idéal si l'on pouvait centraliser les adresses mac autorisées...




  • 4.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 15, 2024 09:15 AM

    Oui, c'est possible

    Apres ca serai presque plus simple via du 802.1x (si tes machines sont dans un domaine !)



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 5.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 15, 2024 10:15 AM

    Les machines sont bien en domaine.

    Donc si c'est possible, comment devrais-je configurer les switches ?

    Voici un exemple de ce que j'ai pu tester côté switch : 

    vlan 2 name Administratif
    vlan 2 untagged 11-20
    vlan 3 name Peda
    vlan 3 tagged 22
    vlan 3 untagged 1-10
    vlan 7 name WifiPublic
    vlan 7 tagged 22
    vlan 16 name WifiManagement
    vlan 16 untagged 22

    radius-server host 192.168.0.1 key "secretkey"
    aaa authentication port-access eap-radius
    aaa port-access authenticator all
    aaa port-access authenticator active

    et côté freeradius :

    fichier users :
    # liste blanche
    aabbccddeeff Cleartext-Password := "secretkey"


    fichier clients.conf :
    client switch {
            secret = secretkey
            ipaddr = 192.168.1.0/25 #plage réseau des switches
    #       nas-port-id = 3 # censé filtré seulement le vlan 3 ?
    }

    Comme je le disais précédemment, il n'y a aucune communication avec le radius alors que le switch le ping sans problème. Manque-t-il quelque-chose côté switch ?

    Comment ne filtrer que le vlan 3 ? Beaucoup de questions et aucune doc claire sur le sujet.




  • 6.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 15, 2024 10:44 AM

    port-access c'est pour la partie 802.1x

    Il faut que tu actives l'auth mac

    aaa authentication mac-based chap-radius 
    aaa port-access mac-based 1/1


    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 7.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 16, 2024 02:04 AM

    Alors c'est vrai que dans mon dernier test je n'avais pas l'authentification par mac mais dans les précédents j'avais bien indiqué ces lignes et je n'avais pas de meilleurs résultats.

    Lorsqu'on active cette méthode d'authentification, le switch renvoie bien une requête vers le Radius ? Et dois-je retirer l'authentification port-access ?

    EDIT :

    Bon il y a du mieux ! J'arrive à m'authentifier sur le radius. MAIS pour l'instant tous les vlans sont concernés par l'authentification, hors je ne souhaite l'appliquer qu'au vlan 3. Est-ce que cette restriction doit se faire sur le switch ou sur le Freeradius ?




  • 8.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 16, 2024 04:36 AM

    l'authentification est par port et non par vlan... 



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 9.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 16, 2024 04:47 AM

    Tu m'avais pourtant répondu précédemment "Oui c'est possible"...

    Quoi qu'il en soit, je viens de voir cette commande "radius-server access-request include tunnel-private-group-id vlan static" qui semble transmettre dans la demande d'accès le n° de vlan du port qui fait la demande. Donc j'imagine qu'il faut ensuite régler le serveur Freeradius pour lire ce n° et répondre en fonction.




  • 10.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 16, 2024 04:52 AM

    L'idée est plutot de faire l'inverse...

    Tu autorise les differents MAC peda et tu envoie le vlan 3 

    si c'est en erreur, tu va sur le vlan par défaut (unauth-vid) 



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 11.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 16, 2024 07:36 AM

    A force de gratter, j'ai fini par y arriver. Je posterai plus tard la configuration du Freeradius ainsi que celle du switch.

    Dernière question : est-ce possible d'indiquer au switch que si le Radius n'est pas accessible, alors il n'applique pas d'authentification ?




  • 12.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 16, 2024 08:20 AM

    Oui, il faut regarder du coté des critical "vlan"

    https://www.arubanetworks.com/techdocs/AOS-S/16.11/ASG/KB/content/asg%20kb/cri-aut.htm



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 13.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 16, 2024 08:32 AM

    Oui c'est bien ce que je craignais. Il semblerait qu'on soit obligé d'indiquer un n° de vlan sur lequel tomber lorsque le radius est hors ligne.

    Hors j'espérais pouvoir utiliser le vlan déjà "préconfiguré" (static ?) sur le port en question.

    A moins qu'on puisse définir un user-role qui rebasculerait le port en "no aaa port-access mac-based" ?




  • 14.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Feb 16, 2024 09:00 AM

    Non pas possible



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------



  • 15.  RE: filtrage MAC + Radius sur 2930F

    Posted Feb 16, 2024 09:44 AM

    Il semblerait donc que la seule solution (dans mon cas) soit de jouer avec la variable cached-reauth-period.




  • 16.  RE: filtrage MAC + Radius sur 2930F

    Posted Mar 01, 2024 08:36 AM

    Voici donc une petite procédure pour ceux qui souhaiteraient faire la même chose que moi :

    Configuration des switches ARUBA

    radius-server host @ip_radius key "azerty"

    radius-server access-request include tunnel-private-group-id vlan static

    aaa authentication mac-based chap-radius

    aaa port-access mac-based 1/1-1/24

    aaa port-access mac-based 1/1-1/24 addr-limit 256

    aaa port-access mac-based 1/1-1/24 cached-reauth-period 31536000

    Explications :

    radius-server host @ip_radius key "azerty"

    Déclaration du serveur Radius

    radius-server access-request include tunnel-private-group-id vlan static

    Ajoute l'information du n° de vlan dans la demande d'accès au Radius, La variable "tunnel-private-group-id" sera utilisé dans le fichier /etc/freeradius/3.0/sites-enabled/default

    aaa authentication mac-based chap-radius

    Activation de l'authentification par adresse mac

    aaa port-access mac-based 1/1-1/24

    Choix des ports sur lesquels on applique l'authentification Radius

    aaa port-access mac-based 1/1-1/24 addr-limit 256

    Permet un maximum de 256 adresses mac différentes par port. Obligatoire pour les ports sur lesquels sont connectées des bornes wifi (chaque client wifi passe par le même port)

    aaa port-access mac-based 1/1-1/24 cached-reauth-period 31536000

    Pour éviter un blocage des ports si le serveur Radius est inaccessible, on indique une durée d'un an à la valeur cached-reauth-period. Ainsi si le périphérique s'est déjà authentifié, il sera automatiquement autorisé sur le port.

    Configuration du serveur FreeRadius

    Ajouter ce code à la fin du fichier /etc/freeradius/3.0/mods-enabled/files (après le bloc files {…}) :

    files authorized_macs {

    # The default key attribute to use for matches. The content

    # of this attribute is used to match the "name" of the

    # entry.

    key = "%{Calling-Station-ID}"

    usersfile = ${confdir}/authorized_macs

    # If you want to use the old Cistron 'users' file

    # with FreeRADIUS, you should change the next line

    # to 'compat = cistron'. You can the copy your 'users'

    # file from Cistron.

    #compat = no

    }

    Créer un fichier authorized_macs dans le répertoire /etc/freeradius/3.0/ dans lequel vous indiquerez toutes les adresses mac autorisées à utiliser le réseau (restreint au vlan 3). Attention au format des adresses mac, pour les Aruba il faut les indiquer avec des tirets "-".

    Exemple de fichier authorized_macs (une adresse mac par ligne) :

    AA-BB-CC-DD-EE-FF

    11-22-33-44-55-66

    Ajouter ce code dans le fichier /etc/freeradius/3.0/sites-enabled/default dans le bloc "authorize {" juste en dessous de "preprocess" :

    rewrite_calling_station_id

    # Now check against the authorized_macs file

    authorized_macs

    if (!ok) {

    if (Tunnel-Private-Group-ID != "3") {

    update control {

    Auth-Type := Accept

    }

    }

    else {

    # No match was found, so reject

    reject

    }

    }

    else {

    # The MAC address was found, so update Auth-Type

    # to accept this auth.

    update control {

    Auth-Type := Accept

    }

    }

    Ajouter la plage ip des switches dans le fichier /etc/freeradius/3.0/clients.conf (à la fin du fichier)

    client switch {

    secret = azerty

    ipaddr = 192.168.0.0/25

    }

    Dans le fichier /etc/freeradius/3.0/radiusd.conf, remplacer les lignes déjà existantes par celles-ci afin d'avoir un fichier de log plus détaillé :

    auth = yes

    auth_badpass = yes

    auth_goodpass = yes

    Redémarrer le service radius une fois terminé :

    systemctl restart freeradius.service

    Les logs se trouvent dans le fichier /var/log/freeradius/radius.log.




  • 17.  RE: filtrage MAC + Radius sur 2930F

    MVP GURU
    Posted Mar 01, 2024 10:17 AM

    Merci tatanas pour le retour

    Pour les bornes WiFi, tu peux dire que le port est pour une borne et les autres équipements ne sont pas authentifié apres... (Filter-ID...)



    ------------------------------
    PowerArubaSW : Powershell Module to use Aruba Switch API for Vlan, VlanPorts, LACP, LLDP...

    PowerArubaCP: Powershell Module to use ClearPass API (create NAD, Guest...)

    PowerArubaCL: Powershell Module to use Aruba Central

    PowerArubaCX: Powershell Module to use ArubaCX API (get interface/vlan/ports info)..

    ACEP / ACMX #107 / ACDX #1281
    ------------------------------