WLAN/openRADIUS
Ziel ist es einen "offenen" Zugang zum Netz anzubieten, aber jedoch Verschlüsselung beim Transport (zwischen Client und AP) bereitzustellen.
Dieses Ziel ist mit openRADIUS erreicht.
Einerseits wird WPA2-EAP (CCMP AES) verwendet und andererseits können zum Anmelden beliebige Zugangsdaten (login credentials) verwendet werden.
Hardware/Software
openRADIUS
- lxc "radius" container auf Flatbert
Installation?
Abgeleitet von:
allgemeine Konfiguration
- Proto: EAP-TTLS
- AP: C3D2.anybert
- AP: C3D2.anybert 5 (5 GHZ)
- Username: anonymous
- Password: anonymous
EAP-TTLS, Username: anonymous, Password: anonymous
Konfiguration vom Client
!!! für eine "höhere" Sicherheit sollte ein beliebiger Username/Password mit mindestens 16 Zeichen verwendet werden !!!
Konfiguration für das Verbinden mit NetworkManager
Konfiguration für das Verbinden mit wpa_supplicant
Konfiguration für das Verbinden mit wpa_supplicant
bei Linux
<source lang=bash> network={ ssid="C3D2.anybert" key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous"
- priority=25
} </source>
- 5 GHz Netz
<source lang=bash> network={ ssid="C3D2.anybert 5" key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous"
- priority=25
} </source>
Konfiguration für das Verbinden mit wpa_supplicant
bei BSD
Konfiguration für das Verbinden mit wpa_supplicant
bei FreeBSD
<source lang=bash> network={ ssid="C3D2.anybert" proto=RSN key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous" scan_ssid=1
- priority=145
} </source>
- 5 GHZ Netz
<source lang=bash> network={ ssid="C3D2.anybert 5" proto=RSN key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous" scan_ssid=1
- priority=145
} </source>
Konfiguration für das Verbinden mit wpa_supplicant
bei PC-BSD
Grundsätzlich kann die grafischen Oberfläche für die Verwaltung der Netzwerkverbindungen genutzt werden.
- <source lang=bash>pc-su pc-netmanager</source>
Es ist halt das verfügbare Netzwerk C3D2.anybert hinzuzufügen (zu verwenden) und dabei WPA Enterprise i.V.m. EAP-TTLS einzustellen.
- Verfahren für phase2 richtig eintragen
Bei grafischen Oberfläche für die Verwaltung der Netzwerkverbindungen (pc-bsd:Network Configuration) gibt es keine Möglichkeit die Einstellung für phase2 zu ändern. Sie ist immer MD5.
Um den Wert zu richtig einzutragen, muss wie bei #FreeBSD üblich, die Datei /etc/wpa_supplicant.conf
manuell bearbeitet werden.
- <source lang=bash>ee /etc/wpa_supplicant.conf</source>
<source lang=bash> network={ ssid="C3D2.anybert" proto=RSN key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous" scan_ssid=1
- priority=145
} </source>
Zertifikate
Zertifikat radius.hq.c3d2.de
WLAN/openRADIUS/radius.hq.c3d2.de.pem
Einrichtung des Certificate für WPA_Supplicant
siehe: https://gitlab.hq.c3d2.de/daniel.plominski/anybert.radius.hq.c3d2.de/blob/master/README.md
Version 0.2.1
<source lang=bash> $ sudo su $ cd /etc/wpa_supplicant; mkdir certs; cd certs $ wget --no-check-certificate https://gitlab.hq.c3d2.de/daniel.plominski/anybert.radius.hq.c3d2.de/raw/master/certs/anybert.radius.hq.c3d2.de $ wget --no-check-certificate https://gitlab.hq.c3d2.de/daniel.plominski/anybert.radius.hq.c3d2.de/raw/master/certs/radius.hq.c3d2.de </source>
- vi /etc/wpa_supplicant/wpa_supplicant.conf
<source lang=bash>
- C3D2 Wireless Network // ###
network={
ssid="C3D2.anybert" key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous" ca_cert="/etc/wpa_supplicant/certs/radius.hq.c3d2.de" # priority=25
}
network={
ssid="C3D2.anybert 5" key_mgmt=WPA-EAP eap=TTLS phase2="auth=PAP" identity="anonymous" password="anonymous" ca_cert="/etc/wpa_supplicant/certs/radius.hq.c3d2.de" # priority=26
}
- // C3D2 Wireless Network ###
</source>
Herunterladen vom RootCA
https://gitlab.hq.c3d2.de/daniel.plominski/anybert.radius.hq.c3d2.de/tree/master
Konfiguration vom Server
anonymous-eap-ttls erstellen
<source lang=bash>lxc-to-go-provisioning -n radius -t deb8 -h yes -p 1812,1813,1814 -s yes</source>
- works currently only with deb8 lxc
RootCA für RADIUS erstellen
- <source lang=bash>ssh root@172.22.99.15</source>
- <source lang=bash>lxc-to-go login (anybert)</source>
- <source lang=bash>cd /etc/freeradius/certs</source>
- <source lang=bash>mv ca.pem ca.pem_ORI</source>
- <source lang=bash>mv server.key server.key_ORI</source>
- <source lang=bash>mv server.pem server.pem_ORI</source>
- <source lang=bash>openssl genrsa -aes256 -out ca.key 2048</source>
- <source lang=bash>openssl req -new -x509 -days 3650 -key ca.key -out ca.pem</source>
- <source lang=bash>openssl genrsa -aes256 -out server.key 2048</source>
- <source lang=bash>openssl req -new -key server.key -out server.csr</source>
- <source lang=bash>openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca.key -set_serial 01 -out server.pem</source>
- <source lang=bash>vi /etc/freeradius/eap.conf</source>
<source lang=bash>
private_key_password = CHANGEME
</source>
- <source lang=bash>systemctl restart freeradius; systemctl status freeradius; tail -n 30 /var/log/freeradius/radius.log</source>