Questo articolo è la continuazione del nostro precedente lavoro sul firewall IPFire. In questo tutorial, il supporto per i token hardware (come le smart card) e i loro lettori (conformità CCID) sono integrati con il progetto IPFire. I seguenti strumenti sono stati compilati correttamente per la versione IPFire 2.19.
- PCSC (daemon per Smart Card PC/SC)
- CCID (Chip/Smart Card Interface Devices) (driver software gratuiti)
- OpenSC (strumenti e librerie di smart card open source)
Il demone per smart card PC/SC viene utilizzato per accedere alle smart card sulla piattaforma Linux utilizzando CCID o driver proprietari. Per accedere alle smart card è necessario un programma driver per il lettore di smart card CCID. Il pacchetto CCID contiene driver per diversi lettori di smart card per l'ambiente Linux/Unix. L'accesso tramite smartcard (API PKCS#11) e la gestione (struttura del file PKCS#15) sono supportati dal progetto OpenSC, che consiste in diversi strumenti e librerie open source. I token hardware come le smart card possono essere utilizzati per i seguenti scopi
- Accesso Web sicuro
- Accesso a WorkStation
- Crittografia file
- VPN (OpenVPN,L2TP)
- Crittografia e-mail
Di seguito sono riportati molti dei fornitori di smart card supportati da OpenSC.
- ASEPCOS
- FTCOSPK01C
- Carta OpenPGP
- Cyberflex
- CardO
- STARCOS
Configurazione ambiente
Per la configurazione di un ambiente di sviluppo, una spiegazione dettagliata è stata data nell'articolo precedente.
Componenti aggiuntivi nella shell di test di IPFire
Si consiglia di installare gli addon IPFire nella shell di test (simile al terminale Linux) che viene invocata utilizzando il comando seguente nella directory principale.
./make shell
I pacchetti di origine nell'ambiente di compilazione IPFire si trovano all'interno di /usr/src/cache directory. Tutti i pacchetti richiesti per questo tutorial sono già inseriti nella cache directory.
La fonte del pacchetto pcsc-lite è mostrata nella seguente istantanea.
Prima di iniziare la compilazione dello strumento pcsc-lite, si consiglia di installare la libreria libudev-dev richiesta con il seguente comando
apt-get install libudev-dev
Ora estrai il pacchetto sorgente usando il comando seguente ed esegui lo script ./configure come mostrato di seguito.
tar -xf pcsc-lite-1.8.18.tar.bz2
Come mostrato di seguito, il comando configure non genera alcun errore.
Ora esegui semplicemente ./make e ./make install comando per installare il demone pcscd nell'ambiente di test.
L'installazione riuscita dei pacchetti pcsc-lite mostra alcuni percorsi importanti che verranno utilizzati per compilare il pacchetto CCID.
Lo screenshot seguente mostra che pcscd è in esecuzione in IPFire nell'ambiente di test.
Il prossimo pacchetto richiesto per le smart card è il pacchetto dei driver CCID. Come mostrato di seguito, il pacchetto CCID viene inserito nella directory della cache.
La schermata seguente mostra l'errore generato dallo script ./configure del pacchetto CCID.
L'errore mostra che pcsc-lite non è stato trovato dallo script di configurazione. Pertanto, imposta PCSC_CFLAGS con lo script di configurazione come mostrato di seguito.
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Tuttavia, lo script genera un altro errore perché libpcsclite.pc non si trova nel percorso pkg-config su IPFire LFS.
Pertanto, prima esporta il PKG_CONFIG_PATH ed eseguire di nuovo il comando script di configurazione.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
L'output riuscito dell'esecuzione dello script di configurazione è mostrato di seguito. Mostra che i file richiesti di PCSC vengono trovati dallo script.
Esegui ./make &./fai installazione comandi per completare l'installazione dei driver CCID.
Copia le regole udev per i lettori di smart card in /etc/udev/rules directory come mostrato di seguito.
Copia di 92_pcscd_ccid.rules in /etc/udev/rules directory.
La schermata seguente mostra lo strumento OpenSC nella /usr/src/cache directory.
Esegui lo script di configurazione per verificare le dipendenze del pacchetto.
L'output dello script di configurazione viene mostrato nelle istantanee seguenti.
Esegui i comandi ./make e ./make install per l'installazione di OpenSC nell'ambiente di test.
La schermata seguente mostra che lo strumento OpenSC è stato installato correttamente nella shell di test di IPFire.
Dopo l'installazione degli strumenti richiesti nella shell LFS di IPFire, il passaggio successivo consiste nel creare l'addon nel formato del gestore di pacchetti IPFire (pakfire).
Compilazione di componenti aggiuntivi IPFire
La procedura dettagliata relativa alla creazione di componenti aggiuntivi per un ambiente IPFire è già fornita nella sezione "Creazione di componenti aggiuntivi PSAD" dell'articolo precedente.
- In lfs viene creato uno script di compilazione noto anche come script lfs directory di configurazione di IPFire.
- Le modifiche per i nuovi componenti aggiuntivi devono essere apportate in make.sh sceneggiatura.
Lo script LFS viene creato per i pacchetti pcsc-lite-1.8.18 , ccid-1.4.24 e opensc-0.16.0. Scarica tutti gli script lfs per i pacchetti e inseriscili all'interno di lfs directory di ipfire-2.x.
Gli script LFS per i componenti aggiuntivi di cui sopra sono mostrati di seguito.
pcsc-lite
ccid
apresc
Le modifiche allo script di compilazione (make.sh ) sono mostrati di seguito.
Esegui i seguenti comandi per creare i pacchetti.
ipfiremake pcsc-lite
ipfiremake ccid
ipfiremake opensc
È necessario eseguire il seguente comando due volte per la compilazione dei nuovi componenti aggiuntivi.
./make.sh build
Lo screenshot seguente mostra che gli script lfs dei nuovi componenti aggiuntivi vengono compilati senza errori.
Lo screenshot seguente mostra l'output del primo comando di compilazione. I file root perché tutti e tre i pacchetti non vengono trovati durante questo processo di compilazione.
Tre file di root per i nuovi componenti aggiuntivi sono all'interno del log directory con lo stesso nome di pacchetto/file mostrato di seguito.
Lo screenshot seguente mostra che i file di root dei nuovi componenti aggiuntivi vengono copiati in config/rootfiles/packages
il percorso. Modifica il nome dei file radice copiati in modo che corrisponda a lfs nome del nuovo componente aggiuntivo. (posto nella directory lfs)
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
I file di root dei nuovi componenti aggiuntivi contengono un "+ " segno che deve essere rimosso prima di eseguire il comando build.
file radice pcsc-lite
file radice ccid
file di root opensc
Usa il seguente sed comando per rimuovere "+ " sign dai rootfile dei nuovi pacchetti.
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
La schermata seguente mostra che il segno più è stato rimosso dai file di root.
PakFire è il sistema di gestione dei pacchetti per IPFire utilizzato dalle routine di installazione, disinstallazione e aggiornamento nei nuovi componenti aggiuntivi.
Crea directory (come lfs dei pacchetti) per tutti i nuovi componenti aggiuntivi all'interno di src/paks percorso e copia install.sh, uninstall.sh e gli script update.sh da src/paks/default/ in src/paks/pcsc-lite , src/paks/ccid,src/paks/opensc .
Esegui di nuovo il comando build per completare il processo di compilazione.
./make.sh build
Questa volta, ignora il messaggio di file di root mancanti per tutti i nuovi componenti aggiuntivi perché abbiamo già aggiornato i file di root in config directory.
Infine, lo screenshot seguente mostra che il nuovo componente aggiuntivo (pcsc-lite-1.8.18-2.ipfire, ccid-1.4.24-2.ipfire , opensc-0.16.0-2.ipfire ) sono stati creati all'interno dei pacchetti directory.
Installazione dei pacchetti pakfire
Come mostrato di seguito, i pacchetti compilati vengono copiati nel sistema IPFire già installato all'interno di /opt/pakfire/tmp directory.
La schermata seguente mostra che i pacchetti vengono copiati sul sistema IPFire.
I nuovi componenti aggiuntivi vengono estratti utilizzando il seguente comando per l'installazione su IPFire.
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
L'installazione dei nuovi componenti aggiuntivi è mostrata nello screenshot seguente utilizzando ./install.sh copione.
La corretta installazione di pcsc-lite è mostrata nella seguente istantanea.
La figura seguente mostra l'installazione dei driver delle smart card CCID.
Come mostrato di seguito, è finalmente installato il tool openSC per la gestione delle smart card su sistema IPFire.
In questo tutorial, i nuovi componenti aggiuntivi vengono creati nel sistema di sviluppo di IPFire. Questi nuovi componenti aggiuntivi vengono utilizzati per integrare le smartcard ei loro lettori con il progetto IPFire open source.