Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:eduroam:easyroam [2024/11/22 17:11] – [Installation der easyroam Profile auf Linux Geräten ohne Desktop Umgebung (wpa-supplicant only)] Ralf Paffrathde:eduroam:easyroam [2025/08/14 12:06] (aktuell) – [Erfahrungsberichte zur easyroam App auf diversen Geräten] Ralf Paffrath
Zeile 13: Zeile 13:
 In eduroam gibt es neben anderen Verfahren zur Anmeldung die Authentifizierungsmethode EAP-TLS. Bei dieser Methode kommen ausschließlich Client/Nutzer Zertifikate für die Anmeldung zum Einsatz. Diese Zertifikate für eduroam können die eduroam Nutzenden auf www.easyroam.de nur generieren, wenn sie im Besitz einer gültigen DFN-AAI IdP Kennung mit Opt-In sind. Die eduroam Client/Server Zertifikate sind Teil einer "Self-Signed PKI" und können nur in eduroam eingesetzt werden. Der easyroam Server speichert ausschließlich nur die Pairwise - ID (Pseudonym) des DFN-AAI IdP Accounts und die Seriennummer des Client/Nutzer Zertifikats. Letzteres ist auch Teil der Roaming Identität. Eine Besonderheit gegenüber aktuellen EAP-TLS Angeboten ist, dass die eduroam Nutzenden nicht mehr mit Namen im Zertifikat erkennbar sind. Somit ist es unmöglich Bewegungsprofile der eduroam Nutzenden zu erstellen. Jedoch ist es möglich, eine Zuordnung zwischen Pairwise - ID und Zertifikats-Seriennummer herzustellen und den eduroam Nutzenden eindeutig mit einer Person in Verbindung zu bringen. Somit ist man nicht generell anonym in eduroam unterwegs, wie das auch bisher der Fall ist. In eduroam gibt es neben anderen Verfahren zur Anmeldung die Authentifizierungsmethode EAP-TLS. Bei dieser Methode kommen ausschließlich Client/Nutzer Zertifikate für die Anmeldung zum Einsatz. Diese Zertifikate für eduroam können die eduroam Nutzenden auf www.easyroam.de nur generieren, wenn sie im Besitz einer gültigen DFN-AAI IdP Kennung mit Opt-In sind. Die eduroam Client/Server Zertifikate sind Teil einer "Self-Signed PKI" und können nur in eduroam eingesetzt werden. Der easyroam Server speichert ausschließlich nur die Pairwise - ID (Pseudonym) des DFN-AAI IdP Accounts und die Seriennummer des Client/Nutzer Zertifikats. Letzteres ist auch Teil der Roaming Identität. Eine Besonderheit gegenüber aktuellen EAP-TLS Angeboten ist, dass die eduroam Nutzenden nicht mehr mit Namen im Zertifikat erkennbar sind. Somit ist es unmöglich Bewegungsprofile der eduroam Nutzenden zu erstellen. Jedoch ist es möglich, eine Zuordnung zwischen Pairwise - ID und Zertifikats-Seriennummer herzustellen und den eduroam Nutzenden eindeutig mit einer Person in Verbindung zu bringen. Somit ist man nicht generell anonym in eduroam unterwegs, wie das auch bisher der Fall ist.
  
-Die Server Software ist eine .NET Entwicklung in C-Sharp geschrieben. Es wurde bewusst auf PHP verzichtet, da PHP nicht die Server Sicherheit bot, die an die Server Software gelegt wurde. Der Server unterstützt aktuell drei Sprachen: Deutsch, Englisch und Chinesisch (wird zur Zeit überarbeitet)+Die Server Software ist eine .NET Entwicklung in C-Sharp geschrieben. Es wurde bewusst auf PHP verzichtet, da PHP nicht die Server Sicherheit bot, die an die Server Software gelegt wurde. Der Server unterstützt aktuell zwei Sprachen: Deutsch und Englisch
  
 Die Anleitungen auf einem Blick finden die easyroam Nutzenden [[https://doku.tid.dfn.de/de:eduroam:easyroam-anleitungen|hier]]. Die Anleitungen auf einem Blick finden die easyroam Nutzenden [[https://doku.tid.dfn.de/de:eduroam:easyroam-anleitungen|hier]].
Zeile 274: Zeile 274:
 Domain: easyroam.eduroam.de Domain: easyroam.eduroam.de
 Nutzerzertifikat auswählen: Dateinamen, den man, s. oben, beim Einlesen der PKCS12-Datei vergeben hat, auswählen, z.B. MyAndroidCert</code> Nutzerzertifikat auswählen: Dateinamen, den man, s. oben, beim Einlesen der PKCS12-Datei vergeben hat, auswählen, z.B. MyAndroidCert</code>
-<alert>ACHTUNG: Als Identität gibt man die Seriennummer des easyroam Pseudozertifikats an, gefolgt vom easyroam Realm der EIGENEN!!! Einrichtung. +<alert>ACHTUNG: Die hier aufgeführten Beispiele sind als Illustration gedacht und sollten keinesfalls unreflektiert via copy + paste übernommen werden! \\ \\ Als Identität gibt man die Seriennummer des easyroam Pseudozertifikats an, gefolgt vom easyroam Realm der EIGENEN!!! Einrichtung. 
 Beispiel: Wenn vorher der Realm anonymous@dfn.de oder anonymous@uni-greifswald.de eingegeben wurde, muss nun vor dem dfn.de oder vor uni-greifswald.de ein easyroam-pca stehen, mit Angabe der Seriennummer des Pseudozertifikats, z.B. 12345678910@easyroam-pca.dfn.de oder 12345678910@easyroam-pca.uni-greifswald.de. Die Seriennummer und der Realm, also 12345678910@easyroam-pca.dfn.de und 12345678910@easyroam-pca.uni-greifswald.de sind in der Anleitung hier nur Beispiele, bitte nicht übernehmen!!!  Beispiel: Wenn vorher der Realm anonymous@dfn.de oder anonymous@uni-greifswald.de eingegeben wurde, muss nun vor dem dfn.de oder vor uni-greifswald.de ein easyroam-pca stehen, mit Angabe der Seriennummer des Pseudozertifikats, z.B. 12345678910@easyroam-pca.dfn.de oder 12345678910@easyroam-pca.uni-greifswald.de. Die Seriennummer und der Realm, also 12345678910@easyroam-pca.dfn.de und 12345678910@easyroam-pca.uni-greifswald.de sind in der Anleitung hier nur Beispiele, bitte nicht übernehmen!!! 
 Die Identität ist in der Regel der CN (Common Name) des easyroam Pseudozertifikats. Die Übereinstimmung von Identität und CN im easyroam Pseudozertifikat wird vom RADIUS Server geprüft. Ohne korrekte Eingabe der Identität ist keine Anmeldung in eduroam via easyroam möglich. Die Identität ist in der Regel der CN (Common Name) des easyroam Pseudozertifikats. Die Übereinstimmung von Identität und CN im easyroam Pseudozertifikat wird vom RADIUS Server geprüft. Ohne korrekte Eingabe der Identität ist keine Anmeldung in eduroam via easyroam möglich.
Zeile 288: Zeile 288:
  
 ==== Installation der easyroam Profile auf Linux Geräten ==== ==== Installation der easyroam Profile auf Linux Geräten ====
 +=== Extrahieren der erforderlichen Zertifikate aus der easyroam PKCS12 Datei === 
 Die Nutzung von easyroam ist selbstverständlich auch auf Linux Derivaten möglich. Leider gibt es keine allgemein gültige Anleitung. Im folgenden wird beschrieben wie die einzelnen Komponenten, die bei einer manuellen Konfiguration von easyroam auf Linux Geräten benötigt werden, aus dem easyroam Portal gewonnen werden können: Die Nutzung von easyroam ist selbstverständlich auch auf Linux Derivaten möglich. Leider gibt es keine allgemein gültige Anleitung. Im folgenden wird beschrieben wie die einzelnen Komponenten, die bei einer manuellen Konfiguration von easyroam auf Linux Geräten benötigt werden, aus dem easyroam Portal gewonnen werden können:
  
Zeile 357: Zeile 357:
 echo "Done." echo "Done."
 </code> </code>
- +=== Verwendung der extrahierten easyroam Profile am Beispiel des Netzwerk Managers mit der Bezeichnung netctl === 
-6. Es finden sich in der Tat Anleitungen im Netz, um EAP-TLS auf diversen Network Managern aus den angegebenen Komponenten zu konfigurieren. Exemplarisch wird anhand des CLI netctl auf Archlinux gezeigt wie EAP-TLS und damit easyroam/eduroam auf einem Linux Gerät konfiguriert werden kann. Folgendes wird vorausgesetzt:+ Folgendes wird vorausgesetzt:
   * easyroam_extract.sh aufgerufen   * easyroam_extract.sh aufgerufen
   * netctl   * netctl
Zeile 373: Zeile 373:
     'eap=TLS'     'eap=TLS'
     'proto=WPA RSN'     'proto=WPA RSN'
-    'identity="76673789883214453797@easyroam.realm_der_einrichtung.tld"'   # <---- Hier muss der CN (Common Name), also der Wert der Datei /etc/easyroam-certs/identity s. Beispiel links. Auf keinen Fall die Pairwise-ID eingeben!!!!!+    'identity="76673789883214453797@easyroam.realm_der_einrichtung.tld"'   # <---- Hier muss der CN (Common Name), also der Wert aus der Datei /etc/easyroam-certs/identity s. Beispiel links. Auf keinen Fall die Pairwise-ID eingeben!!!!!
     'client_cert="/etc/easyroam-certs/easyroam_client_cert.pem"'     'client_cert="/etc/easyroam-certs/easyroam_client_cert.pem"'
     'private_key="/etc/easyroam-certs/easyroam_client_key.pem"'     'private_key="/etc/easyroam-certs/easyroam_client_key.pem"'
Zeile 382: Zeile 382:
 ) </code> ) </code>
 Mit Root Rechten wird folgendes Kommando aufgerufen:<code>netctl start easyroam </code>Soll permanent easyroam installiert werden, so wird folgendes Kommando aufgerufen:<code>netctl enable easyroam</code> Mit Root Rechten wird folgendes Kommando aufgerufen:<code>netctl start easyroam </code>Soll permanent easyroam installiert werden, so wird folgendes Kommando aufgerufen:<code>netctl enable easyroam</code>
 +
 +=== Verwendung der extrahierten easyroam Profile am Beispiel des Netzwerk Managers mit der Bezeichnung NetworkManager (nmcli) ===
 +
 +Nachdem die Schritte 1. bis 5. ausgeführt und die easyroam Zertifikate extrahiert wurden, wird folgendes Script aufgerufen, welches auf der Grundlage des {{ :de:eduroam:easyroam_nmcli.sh |Script}} der [[https://rz.uni-greifswald.de/dienste/technische-infrastruktur/wlan-eduroam/linux/|Universität Greifswald]] angepasst wurde:
 +<code>
 +#!/bin/bash
 +
 +# Usage: bash   easyroam_nmcli.sh
 +
 +set -e
 +
 +# check if we are root
 +
 +if [[ $EUID -ne 0 ]]; then
 +    echo "You must be root to run easyroam_nmcli.sh." 1>&2
 +    exit 100
 +fi
 +
 +# check for easyroam-cert files
 +
 +[ -d /etc/easyroam-certs ] && ConfDir=/etc/easyroam-certs || { echo "Aborted, run easyroam_extract.sh first!"; exit 1;  }
 +[ -f /etc/easyroam-certs/easyroam_client_cert.pem ] ||  { echo "Aborted, client_cert missing."; exit 1;  }
 +[ -f /etc/easyroam-certs/easyroam_root_ca.pem ] ||  { echo "Aborted, root_ca missing."; exit 1;  }
 +[ -f /etc/easyroam-certs/easyroam_client_key.pem ] ||  { echo "Aborted, client_key missing."; exit 1;  }
 +[ -f /etc/easyroam-certs/identity ] && Identity=$(cat "$ConfDir/identity") ||  { echo "Aborted, identity missing"; exit 1;  }
 +
 +Pwd="pkcs12"
 +# check for nmcli
 +
 +if ! type nmcli >/dev/null 2>&1; then
 +        echo ""
 +        echo "ERROR: nmcli not found!" >&2
 +        echo "This wizard assumes that your network connections are NOT managed by NetworkManager." >&2
 +        echo ""
 +        exit 1
 +fi
 +
 +# check for wifi device
 +
 +if ! nmcli -g TYPE,DEVICE device | grep wifi >/dev/null; then
 +        echo ""
 +        echo "ERROR: Unable to find any wifi device!" >&2
 +        echo ""
 +        exit 1
 +fi
 +
 +
 +# configure parameters
 +
 +WIntName=$(iw dev | awk '$1=="Interface"{print $2}')
 +
 +WOn="GENERAL.STATE:"
 +
 +WLANName="eduroam"
 +
 +ALT_SUBJECT="DNS:easyroam.eduroam.de"
 +
 +# TLS_1.3
 +TLS_VERSION="0x100"
 +
 +# Remove existing connections
 +
 +nmcli connection show | \
 +        awk '$1==c{ print $2 }' c="$WLANName" | \
 +        xargs -rn1 nmcli connection delete uuid
 +
 +# switch wlan on
 +
 +nmcli dev show "$WIntName" | \
 +      awk '$1==c{ print $2 }' c="$WOn" | \
 +      xargs -rn1 nmcli radio wifi on
 +
 +# Create new connection
 +
 +nmcli connection add \
 +        type wifi \
 +        con-name "$WLANName" \
 +        ssid "$WLANName" \
 +        -- \
 +        wifi-sec.key-mgmt wpa-eap \
 +        802-1x.eap tls \
 +        802-1x.altsubject-matches "$ALT_SUBJECT" \
 +        802-1x.phase1-auth-flags "$TLS_VERSION" \
 +        802-1x.identity "$Identity" \
 +        802-1x.ca-cert "$ConfDir/easyroam_root_ca.pem" \
 +        802-1x.client-cert "$ConfDir/easyroam_client_cert.pem" \
 +        802-1x.private-key-password "$Pwd" \
 +        802-1x.private-key "$ConfDir/easyroam_client_key.pem"
 + </code>    
 +<alert>Im File /etc/NetworkManager/NetworkManager.conf kann mit \\
 +\\
 +[device]\\
 +wifi.scan-rand-mac-address=yes \\
 +\\
 +die Randomisierung der MAC-Adresse konfiguriert werden.</alert>
 +        
 +
 +
  
 ==== Installation der easyroam Profile auf Linux Geräten ohne Desktop Umgebung (wpa-supplicant only) ==== ==== Installation der easyroam Profile auf Linux Geräten ohne Desktop Umgebung (wpa-supplicant only) ====
Zeile 463: Zeile 561:
    pairwise=CCMP    pairwise=CCMP
    group=CCMP    group=CCMP
-   identity="12345678910111213abcd@realm_der_einrichtung.tld"   # <---- Hier muss der CN (Common Name), also der Wert der Datei /etc/easyroam-certs/identity s. Beispiel links. Auf keinen Fall die Pairwise-ID eingeben!!!!!+   identity="12345678910111213abcd@realm_der_einrichtung.tld"   # <---- Hier muss der CN (Common Name), also der Wert aus der Datei /etc/easyroam-certs/identity s. Beispiel links. Auf keinen Fall die Pairwise-ID eingeben!!!!!
    altsubject_match="DNS:easyroam.eduroam.de"    altsubject_match="DNS:easyroam.eduroam.de"
    ca_cert="/etc/easyroam-certs/easyroam_root_ca.pem"    ca_cert="/etc/easyroam-certs/easyroam_root_ca.pem"
Zeile 496: Zeile 594:
 <alert> Bitte beachten: Das GUI auf Linux Systemen zeigt leider nicht alle easyroam Konfigurationsdetails an, welche aus Gründen der Sicherheit konfiguriert werden mussten. Eine manuelle Änderung im Nachgang der Installation der easyroam Profile, "zerschießt" unweigerlich die easyroam Konfiguration auf dem Linux System.</alert> <alert> Bitte beachten: Das GUI auf Linux Systemen zeigt leider nicht alle easyroam Konfigurationsdetails an, welche aus Gründen der Sicherheit konfiguriert werden mussten. Eine manuelle Änderung im Nachgang der Installation der easyroam Profile, "zerschießt" unweigerlich die easyroam Konfiguration auf dem Linux System.</alert>
  
-==== Erfahrungsberichte zur easyroam app auf ANDROID Geräten ====+==== Erfahrungsberichte zur easyroam App auf diversen Geräten ==== 
 +=== ANDROID-Geräte === 
 + 
 +Ein paar Nutzende der easyroam App auf Android-Geräten, wie z. B. von Samsung oder Huawei, haben berichtet, dass ihre easyroam Profile nach einiger Zeit verschwinden, obwohl die Zertifikate noch gültig sind. Um die Profile wieder in die WLAN-Einstellungen des Geräts zu bekommen, muss die easyroam App geöffnet und das Profil über den Reinstallieren-Button erneut installiert werden. 
 + 
 +Das Löschen von Nutzerdaten ist normalerweise nicht üblich auf Android-Geräten. Es scheint, dass einige Distributoren Daten, die Nutzende über Apps auf ihre Geräte bringen, nicht als vertrauenswürdig betrachten. 
 + 
 +Unser Team hat festgestellt, dass es einen Zusammenhang zwischen dem Löschen der Profile und der Zeit gibt. Wenn Nutzer länger als eine Woche nicht mit dem eduroam WLAN verbunden sind, wird das Profil aus der Konfiguration entfernt. \\ 
 + 
 +=== iOS-Geräte === 
 + 
 +Bei der Übertragung von Daten von einem älteren auf ein neueres iOS-Gerät kam es zu sogenannten „Zombie-Einträgen“ in den WLAN-Einstellungen. Infolgedessen trat die Fehlermeldung „Verbindung mit eduroam fehlgeschlagen“ in der easyroam App auf. Eine Reinstallation oder Neuinstallation der Profile war nicht möglich. Es liegt offensichtlich ein Betriebssystemfehler vor. 
 + 
 +Tritt dieses Problem auf, ist zunächst eine manuelle Installation des easyroam Profils über die mobileConfig-Datei durchzuführen. Anschließend wird das manuell installierte Profil wieder gelöscht. Durch das Entfernen des manuell installierten Profils wird der „Zombie-Eintrag“ entfernt. Danach funktioniert auch die easyroam App wieder und das alte Profil mit dem noch gültigen Zertifikat kann erneut installiert werden.
  
-Bisher liegen uns keine Erfahrungsberichte vor.+Grundsätzlich müssen auf iOS-Geräten, auf denen manuell easyroam Profile über die mobileConfig-Datei installiert werden, diese wieder entfernt werden, damit die easyroam App korrekt funktionieren kann. Es ist dokumentiert, dass manuelle Konfigurationen Vorrang vor den durch Apps installierten Daten auf iOS-Geräten haben 
    
 <alert>  Support Address: ([[easyroam@dfn.de|easyroam@dfn.de]]) </alert> <alert>  Support Address: ([[easyroam@dfn.de|easyroam@dfn.de]]) </alert>
  
  • Zuletzt geändert: vor 10 Monaten