====== Dokumentation: DATEV Smart Token Weiterleitung (Linux zu Windows via RDP) ====== Diese Dokumentation beschreibt die Lösung für das Problem, bei dem ein USB-basierter DATEV-Identity-Token unter Linux nicht an eine Windows-Umgebung via RDP durchgereicht werden konnte. **Zielumgebung:** * **Client:** CachyOS (Arch Linux) mit ''xfreerdp3'' * **Ziele (Targets):** Windows 11 Notebook / Windows 11 Proxmox VM * **Hardware:** Kobil Systems GmbH Smart Token (ID 0d46:3014) ===== 1. Problemstellung ===== Der Kobil Smart Token wurde beim Einstecken am Linux-Client zwar via ''lsusb'' erkannt, konnte jedoch nicht erfolgreich in die Windows-Remotesitzung übergeben werden. Die DATEV-Software auf dem Zielsystem erkannte den Stick nicht. Symptome und Fehlermeldungen im ''xfreerdp3''-Log: * **Fehlender Windows-Dienst:** [ERROR][com.freerdp.utils.smartcard.call] - SCardEstablishContext failed with error SCARD_E_NO_SERVICE [-2146435043] * **Kein lokaler Linux-Reader aktiv:** [INFO][com.freerdp.utils.smartcard.call] - SCardListReadersW failed with error SCARD_E_NO_READERS_AVAILABLE [-2146435026] ===== 2. Ursachenanalyse ===== - **Generischer USB-Filter vs. Smartcard-Kanal:** Der Versuch, das Gerät als rohes USB-Gerät (via ''/usb:id...'' ohne Root-Rechte) weiterzuleiten, kollidierte mit der Funktionsweise von Smartcards unter RDP. Smartcards müssen über den nativen RDP-Kanal (''/smartcard'') getunnelt werden. - **Inaktive Windows-Schnittstelle:** Der Windows-Dienst für Smartcards lief auf dem Zielsystem nicht. - **Fehlende Linux-Infrastruktur:** Auf dem CachyOS-Client war der PC/SC-Dienst (Smartcard-Daemon) nicht vollständig installiert und konfiguriert. - **Windows-Sicherheitsrichtlinie:** Die Gruppenrichtlinien (GPO) von Windows blockierten die Smartcard-Umleitung für RDP-Sitzungen. ===== 3. Lösungsschritte ===== ==== Schritt 3.1: Konfiguration des Linux-Clients (CachyOS) ==== Die Smartcard-Middleware und Treiber müssen lokal installiert und gestartet werden, damit Linux den Token als Krypto-Gerät verwaltet: # 1. Benötigte Pakete via pacman installieren sudo pacman -S pcsclite ccid pcsc-tools # 2. Hintergrunddienste aktivieren und sofort starten sudo systemctl daemon-reload sudo systemctl enable --now pcscd.socket sudo systemctl enable --now pcscd.service **Funktionstest unter Linux:** Der Befehl ''pcsc_scan'' muss den Stick fehlerfrei als ''KOBIL Systems Smart Token'' mit eingelegter Karte (''Card inserted'') auflisten. ==== Schritt 3.2: Konfiguration des Windows-Ziels (Notebook / VM) ==== Auf dem Windows 11 Zielsystem (bzw. in der Proxmox VM) müssen folgende Anpassungen vorgenommen werden: - **Dienste einrichten:** Öffnen Sie ''services.msc''. Stellen Sie die Dienste **Smartcard** und **Smartcard-Geräteaufzählungsdienst** auf den Starttyp **Automatisch** und starten Sie diese. - **Gruppenrichtlinie (GPO) anpassen:** Öffnen Sie ''gpedit.msc'' und navigieren Sie zu: \\ ''Computerkonfiguration'' -> ''Administrative Vorlagen'' -> ''Windows-Komponenten'' -> ''Remotedesktopdienste'' -> ''Remotedesktopsitzungs-Host'' -> ''Geräte- und Ressourcenumleitung''. \\ Setzen Sie den Eintrag **"Keine Geräteumleitung für Smartcards zulassen"** explizit auf **Deaktiviert**. - **Neustart:** Starten Sie das Windows-System neu. - **DATEV:** Installieren Sie das ''DATEV Sicherheitspaket (Sipacompact)''. ==== Schritt 3.3: Verbindungsaufbau via xfreerdp3 ==== Die Remotesitzung wird als normaler Benutzer (**ohne** sudo) mit dem nativen ''/smartcard''-Parameter gestartet. Auf den generischen ''/usb''-Filter wird verzichtet. xfreerdp3 /v:nb005.fritz.box /u:hwehrs /p:'IHR_PASSWORT' /cert:ignore +home-drive /audio-mode:0 /kbd:layout:0x407,lang:0x407 /floatbar /drive:D,/mnt /gfx:AVC420:on /network:lan /microphone /dvc:rdpecam +video /smartcard -decorations /workarea **Hinweis für DATEV-Initialisierung:** Sollte der Stick nach dem Verbindungsaufbau in der Sitzung nicht sofort grün leuchten, in der Windows-Taskleiste auf das DATEV-Symbol klicken, die **Diagnose** öffnen und **FixPCSC** ausführen. ===== 4. Systemarchitektur & Datenfluss ===== Der folgende Graph veranschaulicht, wie der Token über die verschiedenen Schichten vom Linux-USB-Port bis in die Windows-DATEV-Software getunnelt wird: graph TD subgraph Linux_Client [Linux Client: CachyOS] A[Kobil USB Token] -->|Physisch| B[CCID Treiber] B --> C[pcsclite / pcscd.service] C -->|Lokaler Reader bereit| D[xfreerdp3 /smartcard] end subgraph RDP_Tunnel [Netzwerk / RDP] D -->|Virtueller Kanal: SCARD| E[RDP Protokoll] end subgraph Windows_Target [Windows 11: Notebook / VM] E -->|GPO erlaubt Umleitung| F[Windows Smartcard-Dienst] F --> G[DATEV Sicherheitspaket] G --> H[DATEV Anwendung] end style A fill:#9f9,stroke:#333,stroke-width:2px style H fill:#9cf,stroke:#333,stroke-width:2px