Bug 19173 - Base64-codierte Speicherung des Passworts bei der XenApp-Anmeldung ermöglichen
Base64-codierte Speicherung des Passworts bei der XenApp-Anmeldung ermöglichen
Status: CLOSED FIXED
Product: Z_UCS Thin Client Services (superseded)
Classification: Unclassified
Component: General
UCS TCS 3.0
Other Linux
: P5 normal (vote)
: UCS TCS 3.1
Assigned To: Tim Petersen
Moritz Muehlenhoff
:
Depends on:
Blocks: 20415
  Show dependency treegraph
 
Reported: 2010-07-30 12:09 CEST by Roman Asendorf
Modified: 2010-11-10 19:44 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Asendorf univentionstaff 2010-07-30 12:09:59 CEST
Das im univention-thin-client-session-xenapp enthaltene Session-Script Citrix-XenApp wertet die Passwortinformationen im Klartext aus der Datei /tmp/passwd zur Single-Sign-On-Lösung aus. Das Passwort wird jedoch base64-encoded gespeichert, so dass die Anmeldung am Windows nicht funktioniert.

Hier fehlt eine base64-decode:

--- Citrix-XenApp.orig  2010-07-30 12:02:53.000000000 +0200
+++ Citrix-XenApp       2010-07-30 12:08:56.000000000 +0200
@@ -45,7 +45,7 @@
 /usr/bin/metacity &
 
 if test -e /tmp/passwd; then
-    user_password=`cat /tmp/passwd`
+    user_password=`cat /tmp/passwd | base64-decode`
     rm /tmp/passwd
 fi
Comment 1 Roman Asendorf univentionstaff 2010-07-30 13:19:35 CEST
(In reply to comment #0)
> Das im univention-thin-client-session-xenapp enthaltene Session-Script
> Citrix-XenApp wertet die Passwortinformationen im Klartext aus der Datei
> /tmp/passwd zur Single-Sign-On-Lösung aus. Das Passwort wird jedoch
> base64-encoded gespeichert, so dass die Anmeldung am Windows nicht
> funktioniert.
> 
> Hier fehlt eine base64-decode:
> 
> --- Citrix-XenApp.orig  2010-07-30 12:02:53.000000000 +0200
> +++ Citrix-XenApp       2010-07-30 12:08:56.000000000 +0200
> @@ -45,7 +45,7 @@
>  /usr/bin/metacity &
> 
>  if test -e /tmp/passwd; then
> -    user_password=`cat /tmp/passwd`
> +    user_password=`cat /tmp/passwd | base64-decode`
>      rm /tmp/passwd
>  fi


Die base64-Codierung wurde bisher nur in einer Kundenumgebung verwendet, in der die pam-Konfiguration das entsprechende Script zur Speicherung der Passwortinformationen verwendet.
 
--- gdm.orig    2010-07-30 12:03:15.000000000 +0200
+++ gdm 2010-07-30 13:13:27.000000000 +0200
@@ -35,7 +35,7 @@
 '''
 @!@
 
-session                required        pam_runasroot.so export_pass program=/usr/bin/save_pass.sh demouser=demo silent
+session                required        pam_runasroot.so export_pass program=/usr/bin/save_pass-base64.sh demouser=demo silent
 
 #auth          required        pam_runasroot.so demouser=demo demouserscript=/usr/share/univention-client-login/cleanup-demo.sh silent
 #auth          required        pam_runasroot.so save_pass silent


Für eine allgemeine Produktintegration wäre eine UCR-basierte Konfiguration denkbar, um die Codierung/Decodierung an- oder abzuschalten.

Pakete: univention-thin-client-session-xenapp, univention-thin-client-x-base
Comment 2 Moritz Muehlenhoff univentionstaff 2010-08-15 09:44:08 CEST
Eine Teil der Kunden-Anpassungen wurde bereits in TCS 3.0 integriert (es gibt ein weiteres Skript save-pass-base64). Man könnte die Zwischenspeicherung in Base64 auch allgemein zum Standard machen, das müsste gar nicht per UCR konfigurierbar sein.
Comment 3 Tim Petersen univentionstaff 2010-09-24 14:37:24 CEST
(In reply to comment #2)
Man könnte die Zwischenspeicherung in
> Base64 auch allgemein zum Standard machen, das müsste gar nicht per UCR
> konfigurierbar sein.

Das wurde nun für UCS TCS 3.1 umgesetzt - die Passwortspeicherung erfolgt nun immer base64-kodiert.

fixed
Comment 4 Moritz Muehlenhoff univentionstaff 2010-10-12 16:21:35 CEST
Die Speicherung des Passworts in /usr/bin/save-pass erfolgt nun standardmässig base64-codiert. Eine Anmeldung mit dem Citrix XenApp-Skript wurde erfolgreich getestet. Das Windows-TS-Skript decodiert ebenfalls base64 bevor der Zugriff erfolgt.
Comment 5 Moritz Muehlenhoff univentionstaff 2010-10-14 16:35:38 CEST
Ich wollte auf einer frischen Installation das Windows Terminalserver-Skript testen (dort war im Gegensatz zu der anderen VM noch nicht das XenApp-Paket installiert) und die Anmeldung am Windows TS schlägt mit der Fehlermeldung

/etc/gdm/Sessions/Windows-Terminal-Server: line 44: base64-decode: command not found

Da fehlt noch eine Abhängigkeit.
Comment 6 Moritz Muehlenhoff univentionstaff 2010-10-14 16:45:42 CEST
Das war ein Fehler in der VM, mime-codecs wurde durch eine kaputte Repository-Einstellung zurückgehalten.
Comment 7 Stefan Gohmann univentionstaff 2010-10-14 19:49:41 CEST
(In reply to comment #6)
> Das war ein Fehler in der VM, mime-codecs wurde durch eine kaputte
> Repository-Einstellung zurückgehalten.

Das darvf eigentlich nicht passieren. Das Tool muss dann per univention-thin-client-download-debs vom Paket mitgebracht werden. Ansonsten wird das auf amd64-Systemen scheitern.
Comment 8 Moritz Muehlenhoff univentionstaff 2010-10-15 08:54:14 CEST
(In reply to comment #7)
> (In reply to comment #6)
> > Das war ein Fehler in der VM, mime-codecs wurde durch eine kaputte
> > Repository-Einstellung zurückgehalten.
> 
> Das darvf eigentlich nicht passieren. Das Tool muss dann per
> univention-thin-client-download-debs vom Paket mitgebracht werden. Ansonsten
> wird das auf amd64-Systemen scheitern.

Das war aber ein generischer Fehler in der Verwaltung der apt-Quellen: Ich hatte eine 2.4 von DVD mit den Standard-Thin-Client-Komponenten installiert und dann uts für 2.3 und 2.4 über /etc/apt/sources.list eingebunden. Es fehlten aber in /etc/apt/sources.list.d/15_ucs_online-version.list die generierten Einträge für das Standard 2.3/2.4.

mime-codecs kommt nicht aus dem uts-Scope, sondern aus dem normalen Repository, deshalb wurde es zurückgehalten.
Comment 9 Moritz Muehlenhoff univentionstaff 2010-10-15 09:01:48 CEST
Das muss für amd64 noch angepasst werden.
Comment 10 Tim Petersen univentionstaff 2010-10-15 11:14:29 CEST
Änderungen angepasst - die base-64* Tools waren auf einem amd64 System nun vorhanden. Changelog wurde nachgetragen.
Comment 11 Moritz Muehlenhoff univentionstaff 2010-10-18 13:22:43 CEST
Ich habe eine TCS 3.1-VM unter amd64 aufgesetzt; eine Windows-TS-Anmeldung hat damit funktioniert und base64-decode und base64-encode sind auf dem Thin Client aufrufbar.
Comment 12 Stefan Gohmann univentionstaff 2010-11-10 19:44:04 CET
UCS TCS 3.1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS TCS erneut auftreten, so sollte der Bug dupliziert werden:
"Clone This Bug".