Tags:
create new tag
view all tags

Einleitung

Diese Anleitung beschreibt die schrittweise Installation des PKI-Clients der Firma Aladdin sowie die Anpassung des Paketes rdesktop unter Ubuntu 8.04.
Das Ziel ist es mittels des RDP-Protokolls eine Smartcard-Anmeldung auf Windows-Servern zu ermöglichen.
Das hier beschriebene Vorgehen setzt die Anmeldung innerhalb der Shell als Benutzer 'root' voraus.

Vorbereitung

Benötigt werden der Linux-PKI-Client der Firma Aladdin und der Sourcecode des Paketes rdesktop (www.rdesktop.org).
Die Datei Etoken-3-65.3-linux-redhat-i386.tar.gz nach /opt kopieren und dort entpacken.
cd /opt
tar zxvf Etoken-3-65.3-linux-redhat-i386.tar.gz
cd etoken-3-65.3-linux-i386

Installer.pm patchen

vim Installer.pm

Folgende Zeilen sollten geändert werden:

Zeile 212: my @known=qw ( suse enterprise fedora );
in -> my @known=qw ( suse enterprise fedora ubuntu );

Zeile 286: die "you must install pcscd prior to eToken installation\n" unless ( -f "/usr/local/sbin/pcscd" );
in -> die "you must install pcscd prior to eToken installation\n" unless ( -f "/usr/sbin/pcscd" );

Danach die benötigten Pakete mit folgendem Befehl installieren:

apt-get install pcscd libstdc++6

Einen noch nicht vorhandenen aber benötigten Symlink erstellen:

ln -s /usr/lib/libpcsclite.so.1.0.0 /usr/lib/libpcsclite.so.0

Startscript anpassen

vim /etc/init.d/pcscd

Zeile 21 ändern in

PCSCD=/usr/sbin/pcscd

Installation ausführen

./petoken install

Anpassungen für udev und Reader System

dies ermöglicht das automatische Erkennen des eTokens
vim /etc/udev/rules.d/01-etoken.rules

# Check for 64k etoken...
ACTION=="add", BUS=="usb", SYSFS{idProduct}=="0600", SYSFS{idVendor}=="0529", SYMLINK="etokenPro64k", RUN="/etc/etoken/add etokenPro64k"
BUS=="usb", ACTION=="remove", RUN="/etc/etoken/remove"

Um die neuen Regeln zu aktivieren folgenden Befehl ausführen:

udevcontrol reload_rules
Nun sollte der eToken von udev erkannt werden.

Fehlende Scripte erzeugen bzw. kopieren

cp /etc/hotplug.d/usb/etoken.hotplug /usr/local/bin/etoken
mkdir /etc/etoken
cd /etc/etoken
vim add

#!/bin/bash # If you need anything to be done when inserting the etoken this goes here.
/usr/local/bin/etoken add /dev/etokenPro

vim remove

#!/bin/bash
# When removing the etoken pro 32K USB it goes here.
if [ ${PRODUCT} == \"529/514/100\" ]; then
# We shall only call the remove script, if it was really the
# etokenPro, that was removed.
/usr/local/bin/etoken remove /dev/etokenPro
fi

Dateien ausführbar machen:

chmod +x add
chmod +x remove

reader.conf

vim /etc/reader.conf.d/etoken

# Aladdin eToken virtual reader #0
FRIENDLYNAME "eToken - AKS ifdh"
DEVICENAME /dev/null
LIBPATH /usr/local/lib/aksifdh.so
CHANNELID 0x11111111

# Aladdin eToken virtual reader #1
FRIENDLYNAME "eToken - AKS ifdh"
DEVICENAME /dev/null
LIBPATH /usr/local/lib/aksifdh.so
CHANNELID 0x11111112

# Aladdin eToken virtual reader #2
FRIENDLYNAME "eToken - AKS ifdh"
DEVICENAME /dev/null
LIBPATH /usr/local/lib/aksifdh.so
CHANNELID 0x11111113

# Aladdin eToken virtual reader #3
FRIENDLYNAME "eToken - AKS ifdh"
DEVICENAME /dev/null
LIBPATH /usr/local/lib/aksifdh.so
CHANNELID 0x11111114

Die Inhalte von reader.conf mit folgendem Befehl einlesen:

update-reader.conf

Alle eToken-Dienste stoppen und neu starten

/etc/init.d/etokend stop
/etc/init.d/etsrvd stop
/etc/init.d/pcscd stop

Die Reihenfolge, in der die Dienste gestartet werden ist wichtig!

/etc/init.d/etokend start
/etc/init.d/pcscd start
/etc/init.d/etsrvd start
Damit ist die Konfiguration der Aladdin-eToken-Unterstützung abgeschlossen.

rdesktop mit Unterstützung für Smartkarten kompilieren

Die Version von rdesktop, die mit Ubuntu ausgeliefert wird, ist standardmäßig nicht fähig RDP-Verbindungen mit Smartkarten herzustellen, daher ist es notwendig dieses Feature nachzurüsten. Die Übersetzung mit den distributionseigenen Quellen scheiterte jedoch. Daher wird hier auf das aktuelle Paket des rdesktop-Projekts zurückgegriffen.

Aktuelles Paket rdesktop von www.rdesktop.org herunterladen und in /opt entpacken

cd /opt
tar zxvf rdesktop-1.6.0.tar.gz
cd rdesktop-1.6.0

Weitere benötigte Pakete installieren:

apt-get install libssl-dev libpcsclite-dev

Kompilieren und installieren

./configure --enable-smartcard
make
make install

Testen

rdesktop mit folgendem Befehl als root starten:
/usr/local/bin/rdesktop -u username -d domain -r scard:"eToken Pro 0600"="eToken PRO 0600;AKS" -g 1024x768 -k de -a 16 servername.uni-muenster.de

Troubleshooting

Sollte der eToken nicht erkannt werden, empfiehlt es sich zunächst alle beteiligten Dienste zu stoppen:
/etc/init.d/etokend stop
/etc/init.d/etsrvd stop
/etc/init.d/pcscd stop

Im Anschluss nur den etokend starten und pcscd 'von Hand ausführen':

/etc/init.d/etokend start
pcscd -f

Nun sollte beim Anschließen des eTokens folgende Meldung erscheinen:

05280918 eventhandler.c:438:EHStatusHandlerThread() Card inserted into eToken - AKS ifdh 00 00
00000027 Card ATR: 3B F2 18 00 FF C1 0A 31 FE 55 C8 06 8A

Wird weiteres Debugging von rdesktop zu Fehlerdiagnose benötigt, lässt sich dies mit folgender Option neu übersetzen:

cd /opt/rdesktop-1.6.0
make clean
./configure --enable-smartcard --with-debug-smartcard
make
make install

-- HolgerHempen - 03 Jul 2008

Topic revision: r1 - 2008-07-03 - HolgerHempen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding ZIVwiki? Send feedback
Datenschutzerklärung Impressum