Dieser Artikel ist die Fortsetzung unserer bisherigen Arbeit an der IPFire-Firewall. In diesem Tutorial ist die Unterstützung für Hardware-Token (z. B. Smartcards) und deren Lesegeräte (CCID-Konformität) in das IPFire-Projekt integriert. Die folgenden Tools wurden erfolgreich für die Version IPFire 2.19 kompiliert.
- PCSC (PC/SC-Smartcard-Daemon)
- CCID (Chip/Smart Card Interface Devices) (kostenlose Softwaretreiber)
- OpenSC (Open-Source-Smartcard-Tools und -Bibliotheken)
Der PC/SC-Smartcard-Daemon wird für den Zugriff auf Smartcards auf der Linux-Plattform mit CCID oder proprietären Treibern verwendet. 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 Smartcard-Lesegeräte für die Linux/Unix-Umgebung. Der Smartcard-Zugriff (PKCS#11-API) und -Verwaltung (PKCS#15-Dateistruktur) wird vom OpenSC-Projekt unterstützt, das aus mehreren Open-Source-Tools und -Bibliotheken besteht. Hardware-Token wie Smartcards können für folgende Zwecke verwendet werden
- Sicheres Web-Login
- WorkStation-Anmeldung
- Dateiverschlüsselung
- VPN (OpenVPN, L2TP)
- E-Mail-Verschlüsselung
Einige der von OpenSC unterstützten Smartcard-Anbieter sind unten aufgeführt.
- ASEPCOS
- FTCOSPK01C
- OpenPGP-Karte
- Cyberflex
- CardOs
- STARCOS
Umgebungseinrichtung
Für die Einrichtung einer Entwicklungsumgebung wurde im vorherigen Artikel ausführlich erklärt.
Addons in der Test-Shell von IPFire
Es wird empfohlen, die IPFire-Addons in der Test-Shell (ähnlich dem Linux-Terminal) zu installieren, die mit dem folgenden Befehl im Stammverzeichnis aufgerufen wird.
./make shell
Die Quellpakete in der IPFire-Build-Umgebung befinden sich im /usr/src/cache Verzeichnis. Alle erforderlichen Pakete für dieses Tutorial sind bereits im Cache abgelegt Verzeichnis.
Die Quelle des pcsc-lite-Pakets wird im folgenden Schnappschuss gezeigt.
Bevor wir mit der Kompilierung des Tools pcsc-lite beginnen, wird empfohlen, die erforderliche libudev-dev-Bibliothek mit dem folgenden Befehl zu installieren
apt-get install libudev-dev
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
Wie unten gezeigt, wird vom Befehl configure kein Fehler generiert.
Führen Sie jetzt einfach ./make aus und ./make install Befehl, um den pcscd-Daemon in der Testumgebung zu installieren.
Die erfolgreiche Installation von pcsc-lite-Paketen zeigt einige wichtige Pfade, die zum Kompilieren des CCID-Pakets verwendet werden.
Der folgende Screenshot zeigt, dass pcscd in der Testumgebung in IPFire läuft.
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.
Der folgende Screenshot zeigt den Fehler, der vom ./configure-Skript des CCID-Pakets generiert wird.
Der Fehler zeigt, dass pcsc-lite vom Konfigurationsskript nicht gefunden wird. Setzen Sie daher PCSC_CFLAGS mit dem Konfigurationsskript wie unten gezeigt.
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Das Skript generiert jedoch einen weiteren Fehler, weil libpcsclite.pc nicht unter dem pkg-config-Pfad auf dem IPFire LFS gefunden wird.
Exportieren Sie daher zuerst den PKG_CONFIG_PATH und führen Sie erneut den Befehl configure script aus.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Die erfolgreiche Ausgabe des Konfigurationsskriptlaufs wird unten gezeigt. Es zeigt, dass die erforderlichen Dateien von PCSC vom Skript gefunden werden.
Führen Sie die Datei ./make aus &./make install Befehle, um die Installation der CCID-Treiber abzuschließen.
Kopieren Sie die udev-Regeln für die Smartcard-Lesegeräte in /etc/udev/rules Verzeichnis wie unten gezeigt.
Kopieren von 92_pcscd_ccid.rules Datei in /etc/udev/rules Verzeichnis.
Der folgende Screenshot zeigt das OpenSC-Tool im /usr/src/cache Verzeichnis.
Führen Sie das Konfigurationsskript aus, um die Abhängigkeiten des Pakets zu überprüfen.
Die Ausgabe des Konfigurationsskripts wird in den folgenden Schnappschüssen gezeigt.
Führen Sie die Befehle ./make und ./make install für die OpenSC-Installation in der Testumgebung aus.
Der folgende Screenshot zeigt, dass das OpenSC-Tool erfolgreich in der Test-Shell von IPFire installiert wurde.
Nach der Installation der erforderlichen Tools in der LFS-Shell von IPFire besteht der nächste Schritt darin, das Addon im Format des IPFire-Paketmanagers (pakfire) zu erstellen.
Zusammenstellung von IPFire-Addons
Das detaillierte Verfahren zum Erstellen von Add-Ons für eine IPFire-Umgebung ist bereits im Abschnitt „PSAD-Add-On erstellen“ des vorherigen Artikels beschrieben.
- Ein Kompilierungsskript, auch als lfs-Skript bekannt, wird im lfs erstellt Verzeichnis des IPFire-Setups.
- Änderungen für neue Addons müssen in der make.sh vorgenommen werden Skript.
Das LFS-Skript wird für die Pakete pcsc-lite-1.8.18 , ccid-1.4.24 und opensc-0.16.0 erstellt. Laden Sie alle lfs-Skripts für die Pakete herunter und platzieren Sie sie im lfs Verzeichnis von ipfire-2.x.
LFS-Skripte für die oben genannten Addons werden unten gezeigt.
pcsc-lite
ccid
opensc
Die Änderungen im Build-Skript (make.sh )-Datei werden unten angezeigt.
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
Der folgende Screenshot zeigt, dass die lfs-Skripte neuer Addons fehlerfrei kompiliert werden.
Der folgende Screenshot zeigt die Ausgabe des ersten Build-Befehls. Die Stammdateien denn alle drei Pakete werden während dieses Bauprozesses nicht gefunden.
Drei Rootfiles für die neuen Addons befinden sich im Log Verzeichnis mit demselben Paket-/Dateinamen wie unten gezeigt.
Der folgende Screenshot zeigt, dass die Rootfiles neuer Addons in die config/rootfiles/packages
kopiert werden Weg. Ändern Sie den Namen der kopierten Stammdateien so, dass er mit dem lfs übereinstimmt Name des neuen Addons. (im lfs-Verzeichnis abgelegt)
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
Die Rootfiles neuer Addons enthalten ein "+ "-Zeichen, das entfernt werden muss, bevor der Build-Befehl ausgeführt wird.
pcsc-lite-Stammdatei
ccid-Stammdatei
opensc-Stammdatei
Verwenden Sie den folgenden sed Befehl zum Entfernen des "+ " aus den Rootfiles der neuen Pakete signieren.
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 Stammdateien entfernt wurde.
PakFire ist das Paketverwaltungssystem für IPFire, das von den Installations-, Deinstallations- und Aktualisierungsroutinen in den neuen Add-Ons verwendet wird.
Erstellen Sie Verzeichnisse (wie lfs der Pakete) für alle neuen Addons innerhalb der src/paks Pfad und kopieren Sie die Skripte install.sh, uninstall.sh und update.sh aus src/paks/default/ in src/paks/pcsc-lite , src/paks/ccid,src/paks/opensc .
Führen Sie den Build-Befehl erneut aus, um den Build-Vorgang abzuschließen.
./make.sh build
Ignorieren Sie dieses Mal die Meldung „Stammdateien fehlen“ für alle neuen Add-Ons, da wir bereits Stammdateien in der Konfiguration aktualisiert haben Verzeichnis.
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 innerhalb der Pakete erstellt Verzeichnis.
Installation von pakfire-Paketen
Wie unten gezeigt, werden die kompilierten Pakete in das bereits installierte IPFire-System innerhalb von /opt/pakfire/tmp kopiert Verzeichnis.
Der folgende Screenshot zeigt, dass Pakete auf das IPFire-System kopiert werden.
Neue Add-Ons werden mit dem folgenden Befehl zur Installation auf IPFire extrahiert.
tar -xvf pcsc-lite-1.8.18-2.ipfire
tar -xvf ccid-1.4.24-2.ipfire
tar -xvf opensc-0.16.0-2.ipfire
Die Installation der neuen Addons wird im folgenden Screenshot mit ./install.sh gezeigt Skript.
Die erfolgreiche Installation von pcsc-lite wird im folgenden Schnappschuss gezeigt.
Die folgende Abbildung zeigt die Installation von CCID-Smartcard-Treibern.
Wie unten gezeigt, wird das openSC-Tool schließlich für die Verwaltung von Smartcards auf dem IPFire-System installiert.
In diesem Tutorial werden neue Addons in das Entwicklungssystem von IPFire eingebaut. Diese neuen Add-Ons werden verwendet, um Smartcards und ihre Lesegeräte mit dem Open-Source-IPFire-Projekt zu integrieren.