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