Version 4.1 von Christian Germann am 2022/05/06 14:17

Zeige letzte Bearbeiter
1 Im Zuge der stärkeren Verbreitung von Android 11 (oder neuer) und des WPA3-Standards ist es nötig, bei RADIUS-gesicherten WLAN-Netzen sauber signierte SSL-Zertifikate am RADIUS-Server einzusetzen, damit die Clients eine Verbindung herstellen können.
2
3 Daher wurde ab Puppet-Version 1.5.0 die Möglichkeit implementiert, ein ausgewähltes Let's Encrypt Zertifikat zum FreeRADIUS-Dienst im logosrv zu übertragen. Folgende Anpassungen sind dazu nötig.
4
5 **1.** (% style="color:#3498db" %)**[puppeteer]**(%%) Neues Let's Encrypt SSL-Zertifikat per acmetool oder acme.sh beantragen, hierfür einen geeigneten Namen verwenden (z.B. wlan.ShortName.logoip.de oder radius.ShortName.logoip.de). Danach 2x prun ausführen.
6
7 **2.** (% style="color:#3498db" %)**[puppeteer]**(%%) Folgenden Inhalt in die YAML-Datei /etc/logodidact/hiera/custom.d/ldhost.yaml eintragen bzw. ergänzen (ShortName entsprechend im Codeblock anpassen)
8
9 {{code language="bash"}}
10 # Transfer Let's Encrypt SSL certificate to logosrv (target dir = /etc/freeradius/certs)
11 ld_legacy::radius::ensure: true
12 ld_legacy::radius::cn: 'wlan.ShortName.logoip.de'
13 {{/code}}
14
15 **3.** (% style="color:#3498db" %)**[ldhost]**(%%) prun ausführen zum Übertragen der Zertifikate
16
17 **4.** (% style="color:#3498db" %)**[logosrv]**(%%) Konfigurationsdatei des FreeRADIUS-Dienst bearbeiten und darin die Let's Encrypt Zertifikate verknüpfen (einmalige Anpassung, muss manuell vorgenommen werden)
18
19 In der vorhandenen Config-Datei /etc/freeradius/eap.conf die entsprechenden drei Parameter anpassen (rot markierte Zeilen)
20
21 (% style="font-family:Courier New,Courier,monospace" %)tls {(%%)
22 (% style="color:#e74c3c; font-family:Courier New,Courier,monospace" %) private_key_file = ${certdir}/wlan.ShortName.logoip.de.key             (% style="color:#27ae60; font-family:Courier New,Courier,monospace" %)#ShortName entsprechend anpassen(%%)
23 (% style="color:#e74c3c; font-family:Courier New,Courier,monospace" %) certificate_file = ${certdir}/wlan.ShortName.logoip.de.crt             (% style="color:#27ae60; font-family:Courier New,Courier,monospace" %)#ShortName entsprechend anpassen(%%)
24 (% style="color:#27ae60; font-family:Courier New,Courier,monospace" %) # If CA_file (below) is not used, then the certificate_file below
25 # MUST include not only the server certificate, but ALSO all of
26 # the CA certificates used to sign the server certificate.(%%)
27 (% style="color:#e74c3c; font-family:Courier New,Courier,monospace" %) #CA_file = ${cadir}/ca.pem                                             (% style="color:#27ae60; font-family:Courier New,Courier,monospace" %)#Zeile auskommentieren(% style="font-family:Courier New,Courier,monospace" %)
28 }
29
30
31 Danach den FreeRADIUS-Dienst mit dem Kommando /etc/init.d/freeradius restart neustarten.
32
33
34 zur Steigerung der Kompatibilität mit Android 11 / 12 Geräten kann man ein Let's Encrypt Zertifikat per acme.sh Tool beantragen, welches nicht durch zwei Zertifizierungsstellen "cross-signed" wurde.
35
36 Daür ist folgende Anpassung im puppeteer nötig.
37
38 Ändern Sie die /usr/share/acme.sh/issue wie folgt ab.
39
40 {{code language="yaml"}}
41 #!/bin/bash
42
43 source /usr/share/acme.sh/sbe.conf
44 export PATH="${SBE_SCRIPT_DIR}:$PATH"
45
46 domain="$1"
47 if [ -z "${domain}" ]; then
48 echo "No domain specified"
49 exit 1
50 fi
51
52 "${SBE_SCRIPT_DIR}/acme.sh" \
53 --issue \
54 -d "${domain}" \
55 -w "${SBE_WEBROOT}" \
56 --fullchain-file "${SBE_PUBLISH}/${domain}.crt" \
57 --key-file "${SBE_PUBLISH}/${domain}.key" \
58 --post-hook "${SBE_SCRIPT_DIR}/fix-perm" \
59 --renew-hook "${SBE_SCRIPT_DIR}/fix-perm" \
60 --preferred-chain "ISRG Root X1" \
61 --force
62 {{/code}}
63
64 Danach wie gewohnt das Zertifikat über sle beantragen.
65
66
67 Hier der Unterschied zwischen den Zertifikaten.
68
69 Das neue Zertifikat (oben) würde von einem Android-Gerät akzeptiert werden.
70
71 Das untere Zertifikat entspricht der ursprünglichen Variante, ohne Anpassung.
72
73 [[image:image-20220506141124-1.png]]