So installieren Sie OpenSC auf der IPFire Firewall

Dieser Artikel ist die Fortsetzung unserer bisherigen Arbeit an der IPFire-Firewall, in der die Unterstützung von Hardware-Token (z.B. Smart Cards) und deren Lesern (CCID-Compliance) in das IPFire-Projekt integriert ist. Die folgenden Tools wurden erfolgreich für die IPFire 2.19 Version kompiliert.

Der PC/SC-Smartcard-Daemon wird verwendet, um mit CCID oder proprietären Treibern auf Smartcards auf der Linux-Plattform zuzugreifen; für den Zugriff auf die Smartcards ist ein Treiberprogramm für den CCID-Smartcard-Leser erforderlich. Das CCID-Paket enthält Treiber für verschiedene Chipkartenleser für die Linux/Unix-Umgebung. Der Smartcard-Zugriff (PKCS#11 API) und die Verwaltung (PKCS#15 Dateistruktur) wird vom OpenSC-Projekt unterstützt, das aus mehreren Open-Source-Tools und -Bibliotheken besteht. Hardware-Token wie z.B. Smartcard können für folgende Zwecke verwendet werden

  • Sicheres Web-Login
  • Anmeldung am Arbeitsplatz
  • Dateiverschlüsselung
  • VPN (OpenVPN,L2TP)
  • E-Mail-Verschlüsselung

Einige der von OpenSC unterstützten Smartcard-Anbieter sind im Folgenden aufgeführt.

  • ASEPCOS
  • FTCOSPK01C
  • OpenPGP-Karte
  • Cyberflex
  • KartenO
  • STARCOS

Umgebungseinstellungen

Für den Aufbau einer Entwicklungsumgebung wurde im vorherigen Artikel eine detaillierte Erklärung gegeben.

Addons in der Testshell von IPFire

Es wird empfohlen, die IPFire-Addons in der Testshell (ähnlich dem Linux-Terminal) zu installieren, die mit dem folgenden Befehl im Stammverzeichnis aufgerufen wird.

./make shell

Starten der IPFire-Shell

Die Quellpakete der IPFire-Buildumgebung befinden sich im Verzeichnis /usr/src/cache. Alle für dieses Tutorial benötigten Pakete sind bereits im Cache-Verzeichnis abgelegt.

Gehen Sie in das Verzeichnis IPFire Cache.

Der Quellcode des pcsc-lite-Pakets ist im folgenden Snapshot dargestellt.

pcsc-lite Quellpaket

Bevor wir mit der Kompilierung des pcsc-lite Tools beginnen, wird empfohlen, die erforderliche libudev-dev-Bibliothek mit folgendem Befehl zu installieren

apt-get install libudev-dev

libudev-dev-Bibliothek installieren

Extrahieren Sie nun das Quellpaket mit dem folgenden Befehl und führen Sie das Skript ./configure wie unten gezeigt aus.

tar -xf pcsc-lite-1.8.18.tar.bz2

pcsc-lite entpacken und konfigurieren

Wie unten gezeigt, wird durch den configure-Befehl kein Fehler erzeugt.

Konfigurieren Sie, ob der Befehl ohne Fehler ausgeführt wurde.

Führen Sie nun einfach den Befehl ./make und ./make install aus, um den pcscd-Daemon in der Testumgebung zu installieren.

Install pcscd daemon

Die erfolgreiche Installation von pcsc-lite-Paketen zeigt nur wenige wichtige Pfade, die zur Kompilierung von CCID-Paketen verwendet werden.

pcsc-lite erfolgreich installiert

Der folgende Screenshot zeigt, dass pcscd in IPFire in der Testumgebung läuft.

pcscd läuft in einer Testumgebung.

Das nächste Paket, das für Smartcards benötigt wird, ist das CCID-Treiberpaket. Wie unten gezeigt, wird das CCID-Paket im Cache-Verzeichnis abgelegt.

CCID-Paket im Cache-Verzeichnis

Der folgende Screenshot zeigt den Fehler, der durch das Skript ./configure des CCID-Pakets verursacht wurde.

CCID-Konfigurationsfehler

Der Fehler zeigt, dass pcsc-lite vom configure-Skript nicht gefunden wird. Setzen Sie daher PCSC_CFLAGS mit dem configure-Skript wie unten gezeigt.

./configure PCSC_CFLAGS=-I/usr/local/include/PCSC

PCSC_CFLAGS setzen

Ein weiterer Fehler wird jedoch durch das Skript erzeugt, da libpcsclite.pc nicht im pkg-config-Pfad auf der IPFire LFS gefunden wird.

Exportieren des PKG_CONFIG_PATHs

Exportieren Sie daher zunächst den PKG_CONFIG_PATH und führen Sie den Befehl configure script erneut aus.

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC

Führen Sie das configure-Skript erneut aus.

Die erfolgreiche Ausgabe des configure-Skriptlaufs ist unten dargestellt. Es zeigt, dass die benötigten Dateien von PCSC vom Skript gefunden werden.

Erfolgreich konfigurieren

Führen Sie die Befehle ./make &./make install aus, um die Installation der CCID-Treiber abzuschließen.

make und make install

Kopieren Sie die udev-Regeln für die Chipkartenleser in das Verzeichnis /etc/udev/rules, wie unten gezeigt.

Udev-Regeln kopieren

Kopieren der Datei 92_pcscd_ccid.rules in das Verzeichnis /etc/udev/rules.

kopieren 92_pcscd_ccid.rules Datei

Der folgende Screenshot zeigt das OpenSC-Tool im Verzeichnis /usr/src/cache.

OpenSC Tool

Führen Sie das configure-Skript aus, um die Abhängigkeiten des Pakets zu überprüfen.

Konfigurationsskript ausführen

Die Ausgabe des configure-Skripts ist in den folgenden Snapshots dargestellt.

Konfigurieren Sie Ausgang 1

Konfigurieren Sie Ausgang 2

Führen Sie die Befehle ./make und ./make install für die OpenSC-Installation in der Testumgebung aus.

OpenSC make und make install run.

Der folgende Screenshot zeigt, dass das OpenSC-Tool erfolgreich in der Testshell von IPFire installiert wurde.

OpenSC erfolgreich installiert

Nach der Installation der erforderlichen Tools in der LFS-Shell von IPFire ist der nächste Schritt, das Addon im IPFire-Paketmanager-Format (pakfire) zu erstellen.

Zusammenstellung von IPFire Addons

Die detaillierte Vorgehensweise zum Addon Building für eine IPFire-Umgebung ist bereits im Abschnitt „Building PSAD addon“ des vorherigen Artikels beschrieben.

  • Ein Kompilierungsskript, auch bekannt als lfs-Skript, wird im lfs-Verzeichnis des IPFire-Setups erstellt.
  • Änderungen an neuen Addons müssen im make.sh-Skript vorgenommen werden.

Das LFS-Skript ist für die Pakete pcsc-lite-1.8.18, ccid-1.4.24 und opensc-0.16.0 erstellt. Laden Sie alle lfs-Skripte für die Pakete herunter und legen Sie sie in das lfs-Verzeichnis von ipfire-2.x.

LFS-Skripte herunterladen

LFS-Skripte für die oben genannten Addons sind unten dargestellt.

pcsc-lite

pcsc-lite

ccid

opensc

OpenSC

Die Änderungen in der Build-Skriptdatei (make.sh) sind unten dargestellt.

Änderungen an.sh vornehmen

Führen Sie die folgenden Befehle aus, um die Pakete zu erstellen.

ipfiremake pcsc-lite
ipfiremake ccid
ipfiremake opensc

Für die Kompilierung der neuen Addons ist es erforderlich, den folgenden Befehl zweimal auszuführen.

./make.sh build

Ausführen von make build

Der folgende Screenshot zeigt, dass die lfs-Skripte neuer Addons fehlerfrei kompiliert werden.

Die Zusammenstellung der Skripte ist gelungen.

Der folgende Screenshot zeigt die Ausgabe des ersten Build-Befehls. Die Rootfiles für alle drei Pakete werden während dieses Build-Prozesses nicht gefunden.

Rootfiles nicht gefunden

Drei Wurzeldateien für die neuen Addons befinden sich im Log-Verzeichnis mit dem gleichen Paket-/Dateinamen wie unten gezeigt.

Rootfiles befinden sich im Log-Verzeichnis.

Der folgende Screenshot zeigt, dass die Rootfiles neuer Addons in das Verzeichnis config/rootfiles/packages Pfad. Ändern Sie den Namen der kopierten Rootfiles so, dass er dem lfs-Namen des neuen Addons entspricht. (im lfs-Verzeichnis)

cp log/pcsc-lite-1.8.18 config/rootfiles/packages/pcsc-lite
cp log/ccid-1.4.24 config/rootfiles/packages/ccid
cp log/opensc-0.16.0 config/rootfiles/packages/opensc

Kopieren von Root-Dateien

Die Rootfiles neuer Addons enthalten ein „+„-Zeichen, das vor dem Ausführen des Build-Befehls entfernt werden muss.

pcsc-lite Root-Datei

pcsc-lite Root-Datei

ccid Wurzeldatei

ccid Wurzeldatei

opensc rootfile

opensc rootfile

Verwenden Sie den folgenden sed-Befehl, um das Zeichen „+“ aus den Rootfiles der neuen Pakete zu entfernen.

sed -i 's/+//g' config/rootfiles/packages/pcsc-lite
sed -i 's/+//g' config/rootfiles/packages/ccid
sed -i 's/+//g' config/rootfiles/packages/opensc

Der folgende Screenshot zeigt, dass das Pluszeichen aus den Rootfiles entfernt wurde.

Pluszeichen aus Rootfiles entfernt

PakFire ist das Paketmanagementsystem für IPFire, das von den Installations-, Deinstallations- und Aktualisierungsroutinen der neuen Addons verwendet wird.

Erstelle Verzeichnisse (wie lfs der Pakete) für alle neuen Addons innerhalb des src/paks-Pfades und kopiere install.sh, deinstalliere.sh und update.sh-Skripte von src/paks/default/ in den src/paks/pcsc-lite, src/paks/accid, src/paks/opensc.

Kopieren von Installationsskripten

Führen Sie den Build-Befehl erneut aus, um den Build-Prozess abzuschließen.

./make.sh build

Ignorieren Sie diesmal die Meldung rootfiles missing für alle neuen Addons, da wir bereits rootfiles im config-Verzeichnis aktualisiert haben.

ignorieren der fehlenden rootfiles-meldung

Schließlich zeigt der folgende Screenshot, dass die neuen Addons (pcsc-lite-1.8.18-2.ipfire, ccid-1.4.24-2.ipfire, opensc-0.16.0-2.ipfire) wurden im Verzeichnis packages angelegt.

Paketerstellung abgeschlossen

Installation von Pakfire-Paketen

Wie unten gezeigt, werden die kompilierten Pakete auf das bereits installierte IPFire-System im Verzeichnis /opt/pakfire/tmp kopiert.

Kopieren von Paketen in das Produktivsystem

Der folgende Screenshot zeigt, dass Pakete auf das IPFire-System kopiert werden.

kopierte Pakete

Neue Addons werden mit dem folgenden Befehl zur Installation auf IPFire extrahiert.

 tar -xvf pcsc-lite-1.8.18-2.ipfire

Addons entpacken

 tar -xvf ccid-1.4.24-2.ipfire

entpacken Sie ccid

 tar -xvf opensc-0.16.0-2.ipfire

entpacken Sie ccid

Die Installation der neuen Addons ist im folgenden Screenshot mit dem Skript ./install.sh dargestellt.

Pakete installieren

Die erfolgreiche Installation von pcsc-lite ist im folgenden Schnappschuss dargestellt.

pcsc-lite erfolgreich installiert

Die folgende Abbildung zeigt die Installation der CCID-Chipkartentreiber.

Smartcard-Treiber installieren

Wie unten gezeigt, ist das openSC-Tool schließlich für die Verwaltung von Smart Cards auf dem IPFire-System installiert.

OpenSC-Tool installiert

In diesem Tutorial werden neue Addons in das Entwicklungssystem von IPFire integriert. Diese neuen Addons werden verwendet, um Smartcards und deren Leser in das Open-Source-IPFire-Projekt zu integrieren.

Das könnte Dich auch interessieren …