Ce référentiel est obsolète et sera supprimé peu de temps après le 22 août 2018 AOE. Autrement dit, la configuration fournie deviendra indisponible afin de ne pas propager davantage les fautes de sécurité.
L'outil d'assistant de configuration (CAT) d'eduroam effectue la tâche pour laquelle ce référentiel est censé accomplir, mais en mieux. Pour Linux, ils proposent des installateurs shellscript qui généreront une configuration wpa_supplicant pour vous, s'ils ne trouvent pas Network Manager installé.
CAT fait un meilleur travail car il vous fournit également un certificat que vous pouvez utiliser pour vérifier le serveur RADIUS de votre établissement d'origine avant de lui parler. La configuration fournie ici n'a pas fait cela, et c'est une mauvaise pratique : vous avez peut-être exposé votre mot de passe à des tiers involontaires.
Utiliser CAT, plutôt que cette configuration, signifie également que vous devez désormais surveiller quand la configuration ou le certificat de votre établissement d'origine est susceptible de changer et mettre à niveau votre configuration en conséquence.
Il est recommandé de modifier votre mot de passe si vous avez utilisé cette configuration.
Voir également les numéros 23, 24 et 25.
TLDR ; Cette configuration wpa_supplicant
pour eduroam semble plutôt robuste.
Eduroam est un service d'accès sans fil sécurisé mis à la disposition de la communauté de l'enseignement et de la recherche par de nombreux établissements d'enseignement à travers le monde. Il a été conçu pour que vous, en tant qu'étudiant ou chercheur, ayez à déployer un minimum d'efforts pour vous connecter à un réseau sans fil sécurisé, quel que soit l'établissement d'enseignement dans lequel vous vous trouvez aujourd'hui. Cela encourage les échanges éducatifs et la collaboration scientifique à travers le monde. (Cette vidéo explique eduroam à l'aide de dessins animés !)
wpa_supplicant
est un « supplicant IEEE 802.1X » générique (c'est-à-dire l'outil qui peut garantir que votre connexion sans fil est sécurisée). La plupart des gestionnaires de réseaux basés sur Linux utilisent wpa_supplicant
en arrière-plan. Bien sûr, wpa_supplicant
possède une interface de ligne de commande et il est assez simple d'exercer un grand contrôle sur votre configuration. (Il n'y a pas de dessins animés sur wpa_supplicant
☹.)
À cette fin, il est dommage que le site Web générique d'eduroam (corrigez-moi si je me trompe) ne propose apparemment aucune documentation sur la façon de configurer votre wpa_supplicant
. Au lieu de cela, ils proposent des installateurs aux utilisateurs finaux, y compris un script shell pour les utilisateurs Linux (qui pourrait être considéré comme une documentation primitive mais honnête). Certaines institutions proposent une documentation brute wpa_supplicant
, mais le font de manière ad hoc — sans aucune garantie que la configuration fonctionnera dans une autre institution, ce qui va à l'encontre de l'objectif d'Eduroam .
Il s'agit d'une tentative d'établir une configuration wpa_supplicant
unifiée, qui fonctionne à tous les niveaux. Cependant, pour l'instant, il ne s'agit que d'une configuration wpa_supplicant
non documentée qui semble fonctionner plutôt bien dans un certain nombre d'institutions. Donnez un coup de main et documentez-le, ou faites-moi simplement savoir si cette configuration fonctionne également pour vous.
identity
sur [email protected]
, si votre nom d'utilisateur est abc123
et que le domaine de votre université d'origine est ku.dk
.anonymous_identity
sur [email protected]
ou simplement @ku.dk
. L'utilisation d'une identité anonyme ne révèle votre identité à personne d'autre qu'à l'université d'origine : eduroam appelle chez vous pour vérifier votre identité et votre mot de passe chaque fois que vous vous connectez depuis un autre endroit. Le hachage du mot de passe doit être un hachage MD4 du codage Little-Endian UTF16 de votre mot de passe. Par exemple, si votre mot de passe est hamster
, vous pouvez le hacher comme suit :
$ echo -n 'hamster' | iconv -t utf16le | openssl md4
(Notez l'utilisation de guillemets simples pour éviter de s'échapper dans le shell.)
(Voir aussi la variable bash HISTCONTROL
pour garder les commandes hors de votre ~/.bash_history
.)
Si vous utilisez pass
ou un autre gestionnaire de mots de passe avec une interface de ligne de commande, vous pouvez plutôt envisager un pipeline comme celui-ci :
$ pass eduroam | tr -d 'n' | iconv -t utf16le | openssl md4
Une fois que vous disposez du hachage MD4, écrivez-le dans votre configuration comme suit :
password=hash:2fd23a...456cef
Attention ! MD4 est un algorithme de hachage obsolète et ne doit pas être considéré comme sécurisé.
Si vous préférez fonctionner sans gestionnaire de réseau, voici le moyen rapide et simple d'exécuter wpa_supplicant
avec cette configuration :
$ sudo wpa_supplicant -Dnl80211 -iwlp3s0 -c supplicant.conf -B
Où nl80211
est le pilote du noyau à utiliser. nl80211
est la nouvelle interface netlink 802.11 par défaut, destinée à remplacer l'ancienne wext
(Wireless-Extensions). Si vous n'avez pas nl80211
à portée de main, vous pouvez essayer wext
, mais wext
peut échouer avec l'erreur ioctl[SIOCGIWSCAN]: Argument list too long
face à trop de points d'accès. Si vous possédez une carte Intel, une autre alternative est iwlwifi
.
Une façon de trouver le pilote dont vous avez besoin consiste à utiliser lspci
:
$ lspci -k
wlp3s0
est le nom de l'interface réseau de votre carte sans fil. Vous pouvez trouver ceci en utilisant ip link
:
$ ip link
Vous pouvez éventuellement utiliser l'option -B
pour déplacer le processus wpa_supplicant
en arrière-plan. Cependant, le laisser de côté vous fournit des informations utiles si vous ne parvenez pas à vous connecter autrement.
De plus, démarrez dhcpcd
s’il ne démarre pas automatiquement.
Sur Raspbian Stretch, vous devrez également ajouter les lignes suivantes (avec l'aimable autorisation de @patrick-nits) :
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
country=<2-letter country code>
ctrl_interface
est nécessaire car Raspbian Stretch utilise wpa_cli
par défaut. ctrl_interface
est nécessaire chaque fois que vous utilisez wpa_cli
.country
est nécessaire "à des fins réglementaires". En particulier, cela modifie les bandes de fréquences que wpa_supplicant
utilisera. Le code du pays doit être un code ISO 3166-1 Alpha-2.