Ziel ist es einen "offenen" Zugang zum Netz anzubieten, aber jedoch Verschlüsselung beim Transport (zwischen Client und AP) bereitzustellen.

Dieses Ziel ist mit [[WLAN/openRADIUS|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:

https://github.com/plitc/lxc-to-go/blob/master/hooks/templates/org.openwrt.freeradius.anonymous-eap-ttls

== allgemeine Konfiguration ==

* Proto: EAP-TTLS
* AP: '''C3D2.anybert'''
* AP: '''C3D2.anybert 5''' (5 GHZ)
* Username: '''anonymous'''
* Password: '''anonymous'''

<code>EAP-TTLS, Username: anonymous, Password: anonymous</code>

== 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 <code>wpa_supplicant</code> ===

==== Konfiguration für das Verbinden mit <code>wpa_supplicant</code> 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>

===== für 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 <code>wpa_supplicant</code> bei [[BSD]] ====

===== Konfiguration für das Verbinden mit <code>wpa_supplicant</code> 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>

===== für 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 <code>wpa_supplicant</code> 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 <code>/etc/wpa_supplicant.conf</code> 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 ''anybert.radius.hq.c3d2.de''====
<source lang=bash>
Land                 DE
Bundesland           Sachsen
Ort                  Dresden
Firma                C3D2
Organisationseinheit C3D2
Allgemeiner Name     anybert.radius.hq.c3d2.de
E-Mail-Adresse       mail@c3d2.de

Fingerabdrücke

SHA1 16 19 C5 93 A5 3E E7 3F 07 DC B9 B1 F1 B3 FB DD 62 F5 25 C6
MD5 F9 3E CB 8E 2A 52 21 CF F4 AF 43 29 50 9D FE 3B
</source>

==== 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

https://github.com/plitc/lxc-to-go/blob/master/hooks/templates/org.openwrt.freeradius.anonymous-eap-ttls

==== 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>

== Siehe auch ==

* [[wikipedia:de:Remote Authentication Dial-In User Service]]
* [[WLAN#WLAN]]

== Weblinks ==

* http://sites.e-advies.nl/openradius/

[[Kategorie:Netzwerk]]
[[Kategorie:Infrastruktur]]
[[Kategorie:HQ]]
