WLAN: Unterschied zwischen den Versionen

(→‎Windows 7: current status after some tests)
(WLAN Win 8/10 ergänzt)
 
(35 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
 
== certificate ==
 
== certificate ==
  
To check if you're connecting to the correct SSID, you can and should add the ssl certificate to your connection setting. You can download the [https://www.hackerspace-bamberg.de/hackerspace-bamberg.de.crt SSL Certificate] from our [https://www.hackerspace-bamberg.de/hackerspace-bamberg.de.crt Server].
+
To check if you're connecting to the correct SSID, you can and should add the ssl certificate to your connection setting. You can download the [https://www.hackerspace-bamberg.de/bckspc-downloads/bckspc-ca.crt SSL CA-Certificate] ([https://www.hackerspace-bamberg.de/bckspc-downloads/bckspc-ca.zip ZIP-File]) from our Server.
  
'''Warning:''' The certificate expires every two years. You can also check against the [https://www.startssl.com/certs/der/ca-g2.crt StartSSL G2 certificate] which is valid much longer.
+
== Linux ==
  
== netctl ==
+
=== NetworkManager (GUI) ===
 +
 
 +
* Download the [[#certificate|certificate]]
 +
* Select the "backspace 802.1x" network in your WiFi settings
 +
* Select the previously downloaded certificate
 +
*: [[Datei:Linux NetMan Certificate.png|400px]]
 +
* Select "TTLS" and "PAP" as the authentication and inner authentication method, respectively (see below)
 +
* Fill in your username and password (see below)
 +
*: [[Datei:Linux NetMan Authentication.png|400px]]
 +
 
 +
=== NetworkManager (nmcli) ===
 +
 
 +
<syntaxhighlight line enclose="div">
 +
# update your nickname and if you want change the cert path
 +
nickname=fnord
 +
cert=~/.config/bckspc.crt
 +
 
 +
# copy and paste this
 +
curl -o "$cert" https://www.hackerspace-bamberg.de/bckspc-downloads/bckspc-ca.crt
 +
device=$(nmcli d show | grep -B1 'GENERAL.TYPE.*wifi$' | head -n1 | cut -f2 -d: | xargs)
 +
nmcli c add save yes \
 +
  ifname "$device" \
 +
  type wifi \
 +
  con-name bckspc \
 +
  ssid "backspace 802.1x" \
 +
  802-1x.ca-cert "$cert" \
 +
  802-1x.eap ttls \
 +
  802-1x.identity "$nickname" \
 +
  802-1x.phase2-auth pap \
 +
  wifi-sec.key-mgmt wpa-eap
 +
 
 +
# to connect use your gui or this command
 +
nmcli c up bckspc --ask
 +
</syntaxhighlight>
 +
 
 +
=== netctl ===
  
 
Save config as /etc/netctl/$interfacename-backspace_8021x. You have to restart netctl-auto (e.g. systemctl restart netctl-auto@$interface)
 
Save config as /etc/netctl/$interfacename-backspace_8021x. You have to restart netctl-auto (e.g. systemctl restart netctl-auto@$interface)
Zeile 29: Zeile 64:
 
     'identity="USERNAME"'
 
     'identity="USERNAME"'
 
     'password="YOUR_PASSWORD"'
 
     'password="YOUR_PASSWORD"'
     'ca_cert="hash://server/sha256/53e6ab9cafbabb671ce2a68783eb707b660796cef230cc8755183fc7bc7f5c67"'
+
     'ca_cert="hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97"'
 
     'phase2="auth=PAP"'
 
     'phase2="auth=PAP"'
 
)
 
)
Zeile 36: Zeile 71:
 
FYI: Replace the interface name according to your system
 
FYI: Replace the interface name according to your system
  
== wpa_supplicant ==
+
=== wpa_supplicant ===
  
 
Add to '''/etc/wpa_supplicant/wpa_supplicant.conf''':
 
Add to '''/etc/wpa_supplicant/wpa_supplicant.conf''':
Zeile 48: Zeile 83:
 
  password="YOUR_PASSWORD"
 
  password="YOUR_PASSWORD"
 
  phase2="auth=PAP"
 
  phase2="auth=PAP"
  ca_cert="hash://server/sha256/53e6ab9cafbabb671ce2a68783eb707b660796cef230cc8755183fc7bc7f5c67"
+
  ca_cert="hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97"
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== connman ==
+
=== connman ===
  
 
'''UNTESTED!'''
 
'''UNTESTED!'''
Zeile 59: Zeile 94:
 
[service_backspace]
 
[service_backspace]
 
Type=wifi
 
Type=wifi
Name="backspace 802.1x"
+
Name=backspace 802.1x
 
EAP=ttls
 
EAP=ttls
 
Phase2=PAP
 
Phase2=PAP
 
Identity=USERNAME
 
Identity=USERNAME
 
Passphrase=YOUR_PASSWORD
 
Passphrase=YOUR_PASSWORD
 +
CACertFile = hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Zeile 84: Zeile 120:
 
Identity = USERNAME
 
Identity = USERNAME
 
Passphrase = PASSWORD
 
Passphrase = PASSWORD
CACertFile = /etc/ssl/certs/ca-bundle.crt
+
CACertFile = hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== wicd ==
+
=== wicd ===
  
 
<syntaxhighlight line enclose="div">
 
<syntaxhighlight line enclose="div">
Zeile 103: Zeile 139:
 
  anonymous_identity="$_ANONYMOUS_IDENTITY"
 
  anonymous_identity="$_ANONYMOUS_IDENTITY"
 
  phase2="auth=PAP"
 
  phase2="auth=PAP"
  ca_cert="hash://server/sha256/53e6ab9cafbabb671ce2a68783eb707b660796cef230cc8755183fc7bc7f5c67"
+
  ca_cert="hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97"
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Zeile 111: Zeile 147:
 
== Android ==
 
== Android ==
  
[[Datei:Wifi-android-8021x.png|200px]]
+
This is how you can connect with the android operating system to our 802.1x WIFI (WPA2 Enterprise)
 
 
== Linux - NetworkManager ==
 
 
 
[[Datei:WiFi Settings - backspace 8021x.png|400px]]
 
 
 
Ignore the certificate warning as long as we don't provide a certificate.
 
 
 
[[Datei:WiFi - Certificate-Warning.png|400px]]
 
 
 
== Mac OS X ==
 
 
 
The following procedure has been tested using Mac OS 10.11 El Capitan.
 
 
 
Earlier versions of OS X offered to specify the authentication protocol when connecting to a wireless network. However, in newer versions you'll have to install a configuration profile in order to connect to our network using 802.1x with EAP-TTLS/PAP. This configuration profile contains our certificate and all required settings.
 
  
* [[Media:Backspace.mobileconfig | Backspace.mobileconfig]]<br />MD5: 7ca7ff1eb4f0fda8039dc079430c870e<br />SHA1: c395a6e090ed21e2c346b5784f2a4ee2d34bf290
+
* Download our certificate (see top)
 +
* Open downloaded certificate
 +
* Save [https://www.hackerspace-bamberg.de/bckspc-downloads/bckspc-ca.crt certificate] as backspace.crt and '''type "Wifi"'''
 +
* Modify/Configure your backspace 802.1x connection according to the screenshot below
 +
* '''Attention:''' Some newer Android versions require a domain name if you use the certificate. Use '''radius.core.bckspc.de'''
 +
* Firefox on android might fail to import the certificate, stating that the certificate authority is already trusted. In these cases, chrome can stil import the certificate.
  
Simply download the file to your computer. You can check its integrity using the provided checksums. After opening the file, confirm the installation.
+
[[Datei:8021x-android-1.png|200px]] [[Datei:8021x-android-2.png|200px]] [[Datei:8021x-android-3.png|200px]] [[Datei:8021x-android-4.png|200px]]
  
[[Datei:802.1x osx 0.png|500px]]
+
== macOS and iOS ==
  
Please note that the configuration profile is not signed. Therefore you'll also have to confirm the following warning.
+
'''A ready profile file can be downloaded [[:File:Backspace802.1x.mobileconfig.zip|here]] (you need to provide your LDAP credentials when asked). You don't need to follow the other steps if you use this file.''' Note: For iOS you need to extract this ZIP file and send it to you phone (e.g. via email).
  
[[Datei:802.1x osx 1.png|500px]]
+
----
  
When asked for a username and password, enter your Backspace credentials.
+
The following procedure has been tested using macOS 10.11 El Capitan to macOS 10.14 Mojave.
  
[[Datei:802.1x osx 2.png|500px]]
+
Earlier versions of macOS offered to specify the authentication protocol when connecting to a wireless network. However, in newer versions you'll have to install a configuration profile in order to connect to our network using 802.1X with EAP-TTLS/PAP. This configuration profile contains our certificate and all required settings.
  
Confirm the installation using your OS X account credentials:
+
It is fairly easy to generate a configuration file for your devices yourself with the added bonus of already including your username and password. This file can be used for all your Macs and iOS devices.
  
[[Datei:802.1x osx 3.png|400px]]
+
To generate the config file you need to download the Apple Configurator from the Mac App Store. [https://itunes.apple.com/de/app/apple-configurator-2/id1037126344?mt=12]
  
You should now see the 'Backspace' profile in the profiles dialog:
+
Start the Configurator and choose File -> New Profile
  
[[Datei:802.1x osx 4.png|500px]]
+
In the General tab give the profile a name.
  
After the profile has been installed, connect to the 'backspace 802.1x' network:
+
Then go down to Wi-Fi and configure the Payload:
  
[[Datei:802.1x osx 5.png|300px]]
+
SSID: backspace 802.1x<br />
 +
Security: Enterprise WPA2<br />
 +
EAP-TTLS<br />
 +
you can add your username and password here<br />
 +
Inner Authentification: PAP<br />
  
You can verify your connection setup by looking for an IP address in the network configuration dialog. The authentication status next to '802.1X' should read 'Authenticated by EAP-TTLS':
+
Choose Save from the File menu and give the profile a name.
  
[[Datei:802.1x osx 6.png|500px]]
+
You can now install the profile on your Mac. (The installation only seems to work, if you have installed the Certificate under "Certificates" in the Configurator. But you must not click the certificate under "Trust" in the Wi-Fi payload, because that will fail the authentification. See below for trusting the RADIUS server.)
  
== iOS ==
+
To install the file on your iOS device, simply connect the device to the laptop running Configurator via USB and drag the profile file onto the device when it shows up in the application.
  
Download the [[#Mac OS X | configuration profile]] to your iOS device and install it. When asked for a username and password, enter your Backspace credentials. After that, you should be able to connect to the 'backspace 802.1x' network.
+
Alternatively you can send the file to yourself via email. Tap the file in the Mail app and install it on your iOS device. '''WARNING''': This will likely send your credentials '''unencrypted''' through the internet!
  
== Windows 7 ==
+
When installing your profiles the systems will tell you that the certificate is not signed and that you need to trust the RADIUS server. You just need to accept both and are ready.
 
 
Windows 7 does not support EAP-TTLS / PAP from scratch. The same is true for eduroam networks and this is why there are a lot of instructions from universities which use SecureW2 as an additional Software to enable EAP-TTLS:
 
 
 
* https://www.cms.hu-berlin.de/de/dl/netze/wlan/config/eduroam/win7/eduroam-win7-securew2.pdf
 
 
 
Unfortunately, SecureW2 is not free (it used to be, but they revoked that).
 
 
 
Another option could be XSupplicant from the [http://open1x.sourceforge.net/ Open1X project]; they were working towards Windows 7 support, but it seems that they didn't make it. (Latest news is from 25 Sept 2010 that
 
version 2.2.2 should support it; I tried v2.2.2.504.x64, didn't work).
 
 
 
To summarize, right now we do not now a free option to connect with EAP-TTLS / PAP under Windows 7.
 
 
 
(read [http://www.windowsnetworking.com/articles-tutorials/netgeneral/Using-Third-Party-802-1X-Clients-Windows.html this article] for a good discussion on the tool market and other commercial options)
 
  
 
== Windows 8 and above ==
 
== Windows 8 and above ==
  
Since Windows 8 the system itself is capable of EAP-TTLS.
+
Look at this [https://documentation.meraki.com/MR/Encryption_and_Authentication/Configuring_EAP-TTLS___PAP_Authentication_on_Windows_8_and_10 tutorial] in German language.
 
 
TODO: Someone with windows should do some screenshots.
 

Aktuelle Version vom 12. Juli 2023, 20:37 Uhr

We're moving our wifi infrastructure to an authenticated and encrypted ssid. At the moment it's hard to change our internal wifi password, because our door system depends on it. If you are not in our internal wifi you can't operate the door.

This is one reason why we want to use 802.1x with EAP-TTLS. Every member has it's own username/password combination which can be reset or changed through a webinterface. If a member quits the space, we just have to deactivate the account and the internal access is gone.

The other reason is: Every member has its own encrypted channel to our access points. In addition the member has the possibility to check, if the SSID can be trusted (avoid roque APs) with an ssl certificate

certificate

To check if you're connecting to the correct SSID, you can and should add the ssl certificate to your connection setting. You can download the SSL CA-Certificate (ZIP-File) from our Server.

Linux

NetworkManager (GUI)

  • Download the certificate
  • Select the "backspace 802.1x" network in your WiFi settings
  • Select the previously downloaded certificate
    Linux NetMan Certificate.png
  • Select "TTLS" and "PAP" as the authentication and inner authentication method, respectively (see below)
  • Fill in your username and password (see below)
    Linux NetMan Authentication.png

NetworkManager (nmcli)

# update your nickname and if you want change the cert path
nickname=fnord
cert=~/.config/bckspc.crt

# copy and paste this
curl -o "$cert" https://www.hackerspace-bamberg.de/bckspc-downloads/bckspc-ca.crt
device=$(nmcli d show | grep -B1 'GENERAL.TYPE.*wifi$' | head -n1 | cut -f2 -d: | xargs)
nmcli c add save yes \
  ifname "$device" \
  type wifi \
  con-name bckspc \
  ssid "backspace 802.1x" \
  802-1x.ca-cert "$cert" \
  802-1x.eap ttls \
  802-1x.identity "$nickname" \
  802-1x.phase2-auth pap \
  wifi-sec.key-mgmt wpa-eap

# to connect use your gui or this command
nmcli c up bckspc --ask

netctl

Save config as /etc/netctl/$interfacename-backspace_8021x. You have to restart netctl-auto (e.g. systemctl restart netctl-auto@$interface)

Description='backspace WPA2 802.1X'
Interface=wlp3s0
Connection=wireless
Security=wpa-configsection
IP=dhcp
ESSID="backspace 802.1x"
WPAConfigSection=(
    'ssid="backspace 802.1x"'
    'proto=RSN WPA'
    'key_mgmt=WPA-EAP'
    'eap=TTLS'
    'identity="USERNAME"'
    'password="YOUR_PASSWORD"'
    'ca_cert="hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97"'
    'phase2="auth=PAP"'
)

FYI: Replace the interface name according to your system

wpa_supplicant

Add to /etc/wpa_supplicant/wpa_supplicant.conf:

network={
 ssid="backspace 802.1x"
 key_mgmt=WPA-EAP
 eap=TTLS
 identity="USERNAME"
 password="YOUR_PASSWORD"
 phase2="auth=PAP"
 ca_cert="hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97"
}

connman

UNTESTED!

[service_backspace]
Type=wifi
Name=backspace 802.1x
EAP=ttls
Phase2=PAP
Identity=USERNAME
Passphrase=YOUR_PASSWORD
CACertFile = hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97

Sailfish OS

Tested and working

Put the following into /var/lib/connman/wifi_bckspc-8021x.config

then

systemctl restart connman

[service_backspace]
Type = wifi
Name = backspace 802.1x
EAP = ttls
Phase2 = PAP
Identity = USERNAME
Passphrase = PASSWORD
CACertFile = hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97

wicd

ctrl_interface=/var/run/wpa_supplicant
network={
 ssid="backspace 802.1x"
 scan_ssid=$_SCAN
 identity="USERNAME"
 password="YOUR_PASSWORD"
 proto=WPA2
 key_mgmt=WPA-EAP
 group=CCMP
 pairwise=CCMP
 eap=TTLS
 anonymous_identity="$_ANONYMOUS_IDENTITY"
 phase2="auth=PAP"
 ca_cert="hash://server/sha256/3e8977b8a92cc0be99b940323a2125fc2032727074a282d066801ee9dc3a2d97"
}

Warning: This is not yet tested. ca_cert certificate checking should work as it does for netctl and wpa_supplicant. Adapted from 31c3 wiki

Android

This is how you can connect with the android operating system to our 802.1x WIFI (WPA2 Enterprise)

  • Download our certificate (see top)
  • Open downloaded certificate
  • Save certificate as backspace.crt and type "Wifi"
  • Modify/Configure your backspace 802.1x connection according to the screenshot below
  • Attention: Some newer Android versions require a domain name if you use the certificate. Use radius.core.bckspc.de
  • Firefox on android might fail to import the certificate, stating that the certificate authority is already trusted. In these cases, chrome can stil import the certificate.

8021x-android-1.png 8021x-android-2.png 8021x-android-3.png 8021x-android-4.png

macOS and iOS

A ready profile file can be downloaded here (you need to provide your LDAP credentials when asked). You don't need to follow the other steps if you use this file. Note: For iOS you need to extract this ZIP file and send it to you phone (e.g. via email).


The following procedure has been tested using macOS 10.11 El Capitan to macOS 10.14 Mojave.

Earlier versions of macOS offered to specify the authentication protocol when connecting to a wireless network. However, in newer versions you'll have to install a configuration profile in order to connect to our network using 802.1X with EAP-TTLS/PAP. This configuration profile contains our certificate and all required settings.

It is fairly easy to generate a configuration file for your devices yourself with the added bonus of already including your username and password. This file can be used for all your Macs and iOS devices.

To generate the config file you need to download the Apple Configurator from the Mac App Store. [1]

Start the Configurator and choose File -> New Profile

In the General tab give the profile a name.

Then go down to Wi-Fi and configure the Payload:

SSID: backspace 802.1x
Security: Enterprise WPA2
EAP-TTLS
you can add your username and password here
Inner Authentification: PAP

Choose Save from the File menu and give the profile a name.

You can now install the profile on your Mac. (The installation only seems to work, if you have installed the Certificate under "Certificates" in the Configurator. But you must not click the certificate under "Trust" in the Wi-Fi payload, because that will fail the authentification. See below for trusting the RADIUS server.)

To install the file on your iOS device, simply connect the device to the laptop running Configurator via USB and drag the profile file onto the device when it shows up in the application.

Alternatively you can send the file to yourself via email. Tap the file in the Mail app and install it on your iOS device. WARNING: This will likely send your credentials unencrypted through the internet!

When installing your profiles the systems will tell you that the certificate is not signed and that you need to trust the RADIUS server. You just need to accept both and are ready.

Windows 8 and above

Look at this tutorial in German language.