Kurztipp: NetworkManager, 802.1x und SELinux

IEEE 802.1X ist ein Standard zur Authentifizierung und Autorisierung von Geräten in Netzwerken. So können physische LAN-Ports, VLANs oder WLANs erst nach erfolgreicher Authentifizierung, beispielsweise über RADIUS, eine Verbindung zum Netzwerk herstellen. Die Kommunikation kann beispielsweise über TLS oder PPP-EAP-TLS verschlüsselt werden.

Wenn diese Netzwerkkonfiguration im Zusammenhang mit NetworkManager und SELinux zum Einsatz kommen soll, ist der Speicherort des benötigten User-Zertifikats und -Schlüssels essentiell. Diese sollten idealerweise im Ordner ~/.cert liegen - auch, wenn das in der Dokumentation nicht erwähnt wird:

1$ ls -laZ ~/.cert/work/
2insgesamt 8
3drwxr-xr-x. 1 christian christian unconfined_u:object_r:home_cert_t:s0   56  4. Okt 13:00 .
4drwxr-xr-x. 1 christian christian unconfined_u:object_r:home_cert_t:s0    6  4. Okt 12:59 ..
5-rw-------. 1 christian christian unconfined_u:object_r:home_cert_t:s0 2932  4. Okt 13:02 mymachine.cer
6-rw-------. 1 christian christian unconfined_u:object_r:home_cert_t:s0 3434  4. Okt 13:01 mymachine.key
Wichtig

Der SELinux-Type home_cert_t ist essentiell - falls dieser nicht übereinstimmt, sollte restorecon -Rv ~/.cert diesen entsprechend setzen.

Gemäß Red Hat-Dokumentation können die Dateien auch unterhalb des Ordners /etc/pki liegen - das funktioniert jedoch unter Fedora 38 für mich nicht.

Wenn der SELinux-Kontext inkorrekt ist funktioniert der Netzwerkzugriff schlichtweg nicht. Beim Herstellen von Verbindungen werden Dialoge zur Eingabe des User Keys eingeblendet - eine Verbindung kommt jedoch nicht zustande. Leider werden auch keine Regelverstöße protokolliert oder sachdienliche Fehlermeldungen ausgegeben:

 1# ausearch -i -m avc -ts today
 2<no matches>
 3
 4# audit2why -i /var/log/audit/audit.log
 5Nothing to do
 6
 7# journalctl -u NetworkManager.service
 8...
 9Okt 04 10:38:08 mamachine NetworkManager[17034]: <info>  [1696408688.8238] device (enp5s0f4u1u1): Activation: starting connection 'Kabelgebundene Verbindung 1'
10Okt 04 10:38:08 mamachine NetworkManager[17034]: <info>  [1696408688.8239] device (enp5s0f4u1u1): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
11Okt 04 10:38:08 mamachine NetworkManager[17034]: <info>  [1696408688.8239] manager: NetworkManager state is now CONNECTING
12Okt 04 10:38:08 mamachine NetworkManager[17034]: <info>  [1696408688.8240] device (enp5s0f4u1u1): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
13Okt 04 10:38:08 mamachine NetworkManager[17034]: <info>  [1696408688.8343] device (enp5s0f4u1u1): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
14Okt 04 10:38:08 mamachine NetworkManager[17034]: <info>  [1696408688.8350] dhcp4 (enp5s0f4u1u1): activation: beginning transaction (timeout in 45 seconds)
15Okt 04 10:38:53 mamachine NetworkManager[17034]: <info>  [1696408733.8020] device (enp5s0f4u1u1): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
16Okt 04 10:38:53 mamachine NetworkManager[17034]: <info>  [1696408733.8027] manager: NetworkManager state is now CONNECTED_LOCAL
17Okt 04 10:38:53 mamachine NetworkManager[17034]: <warn>  [1696408733.8031] device (enp5s0f4u1u1): Activation: failed for connection 'Kabelgebundene Verbindung 1'

Übersetzungen: