Login
Newsletter
Werbung

Do, 13. März 2014, 15:00

WLAN-AP mit dem Raspberry Pi

ssid legt den Namen des WLANs fest, so, wie er von den typischen Client-Programmen angezeigt wird. channel legt die Frequenz fest, auf der das WLAN gefunkt werden soll; eine Übersicht, in der Kanalnummer und Frequenz gegenübergestellt werden, kann in der englischen Wikipedia eingesehen werden. Allerdings dürfen nicht alle theoretisch möglichen Frequenzen genutzt werden; hierzulande regelt die Bundesnetzagentur die für WLAN zulässigen Frequenzbereiche. Die für den Heimgebrauch freigegebenen Frequenzen können auf der Website der Behörde separat für WLAN im 2,4 GHz-Bereich und 5 GHz-Bereich eingesehen werden. Die Nutzung nicht genehmigter Frequenzen stellt nach §149 Abs. 1 Nr. 10 TKG eine Ordnungswidrigkeit da, die nach §149 Abs. 2 Satz 1 3. Variante TKG mit einem Bußgeld von bis zu 500.000 Euro geahndet werden kann. Der Parameter country_code instruiert hostapd, die im jeweiligen Land geltenden Vorschriften hinsichtlich der Kanal- und Sendeleistungsgrenzen zu beachten. Allein auf ihn verlassen sollte man sich aus naheliegenden Gründen jedoch nicht.

Die Kanäle 9 und 10 sind üblicherweise nicht zu empfehlen, da sie häufig Opfer von Interferenzen durch Mikrowellenherde werden. Ansonsten ist es ratsam, die in der Umgebung bereits genutzten Kanäle mit Werkzeugen wie iwlist(8) festzustellen und zum Zwecke möglichst geringer Interferenz einen noch nicht genutzten Kanal auszuwählen.

# ip link set wlan0 up
# iwlist wlan0 scan | grep -A1 Channel:
  Channel:1
  Frequency:2.412 GHz (Channel 1)
--
  Channel:6
  Frequency:2.437 GHz (Channel 6)
--
  Channel:104
  Frequency:5.25 GHz
# ip link set wlan0 down

Im Beispiel sind die Kanäle 1, 6 und 104 bereits von WLANs belegt, wobei letzterer ein Kanal aus dem 5 GHz-Bereich ist und dementsprechend ohnehin erst einmal zu ignorieren ist (die meisten handelsüblichen USB-WLAN-Adapter sind nicht in der Lage, 5 GHz im Master-Modus zu stemmen). Es sollte daher ein Kanal gewählt werden, der von den belegten Kanälen 1 und 6 möglichst weit entfernt ist; in der Beispielkonfiguration ist dies Kanal 11.

Die abschließende Angabe hw_mode=g legt den Modus fest, in dem hostapd das Interface betreiben wird. Es handelt sich dabei um den letzten Buchstaben des entsprechenden IEEE 802.11-Standards, wie folgender Tabelle entnommen werden kann:

WLAN-Frequenzbereiche
WertStandard Frequenz
a IEEE 802.11a 5 GHz
b IEEE 802.11b 2,4 GHz
g IEEE 802.11g 2,4 GHz
ad IEEE 802.11ad 60 GHz

Aufbauend auf diese Standards kann zusätzlich IEEE 802.11n aktiviert werden, indem die weiteren Direktiven 80211n und ht_capab gesetzt werden. Dies ist für die ordnungsgemäße Funktion eines gewöhnlichem Heim-WLANs jedoch nicht erforderlich und soll daher auch nicht weiter behandelt werden. Generell sollte von g als solidem Standardwert nur nach vorangegangener Überlegung abgewichen werden.

Die im Block »Security« angebenen Einstellungen regeln, wie hostapd die Sicherheit des WLANs konzipiert. Der maßgebliche Parameter an dieser Stelle ist wpa=3, womit nach Wahl des Clients sowohl WPA als auch WPA2 als Verschlüsselungsmethode erlaubt wird. Wer nur WPA2 will, setzt wpa=2. wpa_key_mgmt=WPA-PSK legt das Verfahren der Schlüsselverwaltung fest. WPA-PSK steht dabei für das Verfahren des Pre-shared Keys (PSK), also des vorgegebenen Netzwerkschlüssels. Weniger technisch ausgedrückt meint dies einfach das, was man vom üblichen Heim-WLAN kennt: Es wird ein einzelner WLAN-Schlüssel vergeben, der für jedermann gilt. Optional können mit diesem Verfahren auch mehrere zulässige WLAN-Schlüssel verwaltet werden (dies erfordert allerdings die Zurhilfenahme einer weiteren Option wpa_psk_file). Der andere erlaubte Wert für wpa_key_mgmt ist WPA-EAP, besser bekannt als »WPA Enterprise«, bei dem mit Benutzernamen und -passworten gearbeitet werden kann, was sich offenbar insbesondere an Universitäten großer Beliebtheit erfreut. Dessen Konfiguration ist allerdings weitaus komplexer und soll hier nicht Gegenstand sein.

wpa_pairwise legt die für WPA zu verwendenden Verschlüsselungsalgorithmen fest, rsn_pairwise diejenigen für WPA2. Zur Auswahl stehen das sicherere CCMP und das für ältere Geräte geeignete TKIP (oder auch beide), wobei Geräte, die WPA2 unterstützen, im Regelfall auch CCMP als Verschlüsselungsalgorithmus verstehen. Lediglich einige Windows-Treiber haben wohl Probleme mit der Kombination aus WPA und CCMP, sodass man beim Betrieb eines WPA-WLANs von dessen Verwendung absehen sollte. Da WPA nicht mehr als sicher angesehen wird und üblicherweise WPA2 als Alternative empfohlen wird, sollte die Notwendigkeit für das angreifbare TKIP im Laufe der nächsten Zeit vermutlich absinken; noch gibt es aber wohl genügend Geräte, die WPA2 überhaupt nicht unterstützen. Die folgende Tabelle stellt die Kombination der einzelnen Direktiven noch einmal klar:

Verschlüsselungsmethoden
wpa=nVerschlüsselungAnwendbare Direktiven
wpa=1WPA wpa_pairwise
wpa=2WPA2 rsn_pairwise
wpa=3WPA und WPA2 wpn_pairwise und rsn_pairwise

wpa_passphrase schließlich legt – wenig überraschend – den Netzwerkschlüssel fest, dessen Verwendung zuvor mittels wpa_key_mgmt=WPA-PSK angefordert wurde. Mittels auth_algs=1 wird der Authentifizierungsalgorithmus als »open auth« festgelegt. Die Werte 2 und 3 sind nur für WEP-Verschlüsselung sinnvoll und können, da gegen WEP ohnehin genügend Angriffe bekannt sind, getrost außen vor gelassen werden.

Übrig bleiben nur noch einige Feineinstellungen. logger_syslog=-1 instruiert hostapd, die Nachrichten aller Komponenten gleichermaßen in das Syslog zu schreiben, logger_syslog_level=2 filtert Nachrichten, deren Wichtigkeit unter »info« liegt, heraus. Von größerem Interesse ist die Option max_num_sta, mit der angegeben wird, wie viele Clients sich maximal am AP anmelden können. Hier sollte man einen Wert wählen, der grob der Anzahl der erwarteten Nutzer entspricht und die Hardware (Raspberry Pi!) bei gleichzeitiger Nutzung des WLANs durch all diese Nutzer nicht überfordert; IEEE 802.11 legt als Obergrenze 2007 Clients fest. Über deny_mac_file lassen sich Clients, deren MAC-Adressen denen in der angegebenen Datei entsprechen, von der Nutzung des WLANs ausschließen.

Da MAC-Adressen sehr leicht zu fälschen sind, sollte hierin aber keinesfalls eine große Sicherheitsbarriere gesehen werden. Die Datei selbst enthält einfach nur eine zeilenweise Auflistung verbotener MAC-Adressen, etwa so:

# List of MAC addresses that are not allowed to authenticate (IEEE 802.11)
# with the AP.
00:20:30:40:50:60
00:ab:cd:ef:12:34
00:00:30:40:50:60

Damit ist die Konfiguration von hostapd abgeschlossen. Umfangreiche Dokumentation ist in Form einer Beispieldatei sowie auf der Website von Linux verfügbar.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung