Este artículo es la continuación de nuestro trabajo anterior sobre el firewall IPFire. En este tutorial, la compatibilidad con tokens de hardware (como tarjetas inteligentes) y sus lectores (cumplimiento de CCID) se integran con el proyecto IPFire. Las siguientes herramientas se compilaron con éxito para la versión IPFire 2.19.
- PCSC (demonio de tarjeta inteligente PC/SC)
- CCID (dispositivos de interfaz de chip/tarjeta inteligente) (controladores de software gratuitos)
- OpenSC (herramientas y bibliotecas de tarjetas inteligentes de código abierto)
El daemon de tarjeta inteligente PC/SC se usa para acceder a tarjetas inteligentes en la plataforma Linux usando CCID o controladores propietarios. Se requiere un programa controlador para el lector de tarjetas inteligentes CCID para acceder a las tarjetas inteligentes. El paquete CCID contiene controladores para diferentes lectores de tarjetas inteligentes para el entorno Linux/Unix. El acceso a la tarjeta inteligente (API PKCS#11) y la gestión (estructura de archivos PKCS#15) son compatibles con el proyecto OpenSC, que consta de varias herramientas y bibliotecas de código abierto. Los tokens de hardware, como una tarjeta inteligente, se pueden usar para los siguientes fines
- Inicio de sesión web seguro
- Inicio de sesión en la estación de trabajo
- Cifrado de archivos
- VPN (VPN abierta, L2TP)
- Cifrado de correo electrónico
A continuación se indican varios de los proveedores de tarjetas inteligentes compatibles con OpenSC.
- ASEPCOS
- FTCOSPK01C
- Tarjeta OpenPGP
- Ciberflex
- Tarjetas
- STARCOS
Configuración del entorno
Para la configuración de un entorno de desarrollo, se ha dado una explicación detallada en el artículo anterior.
Complementos en el shell de prueba de IPFire
Se recomienda instalar el complemento IPFire en el shell de prueba (similar al terminal de Linux) que se invoca mediante el siguiente comando en el directorio raíz.
./make shell
Los paquetes fuente en el entorno de compilación de IPFire se colocan dentro de /usr/src/cache directorio. Todos los paquetes necesarios para este tutorial ya se encuentran en la caché directorio.
El origen del paquete pcsc-lite se muestra en la siguiente instantánea.
Antes de comenzar la compilación de la herramienta pcsc-lite, se recomienda instalar la biblioteca libudev-dev requerida con el siguiente comando
apt-get install libudev-dev
Ahora, extraiga el paquete fuente con el siguiente comando y ejecute el script ./configure como se muestra a continuación.
tar -xf pcsc-lite-1.8.18.tar.bz2
Como se muestra a continuación, el comando de configuración no genera ningún error.
Ahora, simplemente ejecute ./make y ./hacer instalación comando para instalar el demonio pcscd en el entorno de prueba.
La instalación exitosa de los paquetes pcsc-lite muestra algunas rutas importantes que se utilizarán para compilar el paquete CCID.
La siguiente captura de pantalla muestra que pcscd se está ejecutando en IPFire en el entorno de prueba.
El siguiente paquete que se requiere para las tarjetas inteligentes es el paquete de controladores CCID. Como se muestra a continuación, el paquete CCID se coloca en el directorio de caché.
La siguiente captura de pantalla muestra el error generado por el script ./configure del paquete CCID.
El error muestra que el script de configuración no encuentra pcsc-lite. Por lo tanto, establezca PCSC_CFLAGS con el script de configuración como se muestra a continuación.
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
Sin embargo, el script genera otro error porque libpcsclite.pc no se encuentra en la ruta pkg-config en IPFire LFS.
Por lo tanto, primero exporte el PKG_CONFIG_PATH y vuelva a ejecutar el comando de script de configuración.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
./configure PCSC_CFLAGS=-I/usr/local/include/PCSC
El resultado exitoso de la ejecución del script de configuración se muestra a continuación. Muestra que el script encuentra los archivos requeridos de PCSC.
Ejecute ./make &./hacer instalación comandos para completar la instalación de los controladores CCID.
Copie las reglas de udev para los lectores de tarjetas inteligentes en /etc/udev/rules directorio como se muestra a continuación.
Copiando 92_pcscd_ccid.rules archivo en /etc/udev/rules directorio.
La siguiente captura de pantalla muestra la herramienta OpenSC en /usr/src/cache directorio.
Ejecute el script de configuración para verificar las dependencias del paquete.
El resultado del script de configuración se muestra en las siguientes instantáneas.
Ejecute los comandos ./make y ./make install para la instalación de OpenSC en el entorno de prueba.
La siguiente captura de pantalla muestra que la herramienta OpenSC se instaló correctamente en el shell de prueba de IPFire.
Después de la instalación de las herramientas requeridas en el shell LFS de IPFire, el siguiente paso es compilar el complemento en el formato del administrador de paquetes de IPFire (pakfire).
Compilación de complementos de IPFire
El procedimiento detallado sobre la creación de complementos para un entorno IPFire ya se proporciona en la sección "Creación de complementos PSAD" del artículo anterior.
- Un script de compilación también conocido como script lfs se crea en el lfs directorio de instalación de IPFire.
- Los cambios para nuevos complementos deben realizarse en make.sh texto.
El script LFS se crea para los paquetes pcsc-lite-1.8.18, ccid-1.4.24 y opensc-0.16.0. Descargue todos los scripts lfs para los paquetes y colóquelos dentro del lfs directorio de ipfire-2.x.
Los scripts LFS para los complementos anteriores se muestran a continuación.
pcsc-lite
ccid
opensc
Los cambios en el script de compilación (make.sh ) se muestran a continuación.
Ejecute los siguientes comandos para construir los paquetes.
ipfiremake pcsc-lite
ipfiremake ccid
ipfiremake opensc
Se requiere ejecutar el siguiente comando dos veces para la compilación de los nuevos complementos.
./make.sh build
La siguiente captura de pantalla muestra que los scripts lfs de los nuevos complementos se compilan sin errores.
La siguiente captura de pantalla muestra el resultado del primer comando de compilación. Los archivos raíz para los tres paquetes no se encuentran durante este proceso de compilación.
Tres archivos raíz porque los nuevos complementos están dentro del log directorio con el mismo paquete/nombre de archivo que se muestra a continuación.
La siguiente captura de pantalla muestra que los archivos raíz de los nuevos complementos se copian en config/rootfiles/packages
sendero. Cambie el nombre de los archivos raíz copiados para que coincidan con lfs nombre del nuevo complemento. (ubicado en el directorio 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
Los archivos raíz de los nuevos complementos contienen un "+ " signo que debe eliminarse antes de ejecutar el comando de compilación.
archivo raíz pcsc-lite
archivo raíz ccid
archivo raíz opensc
Utilice el siguiente sed comando para eliminar el "+ " firmar desde los archivos raíz de los nuevos paquetes.
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 siguiente captura de pantalla muestra que el signo más se eliminó de los archivos raíz.
PakFire es el sistema de gestión de paquetes para IPFire que utilizan las rutinas de instalación, desinstalación y actualización de los nuevos complementos.
Cree directorios (igual que lfs de los paquetes) para todos los complementos nuevos dentro de src/paks y copie los scripts install.sh, uninstall.sh y update.sh de src/paks/default/ en src/paks/pcsc-lite, src/paks/ccid,src/paks/opensc .
Vuelva a ejecutar el comando de compilación para completar el proceso de compilación.
./make.sh build
Esta vez, ignora el mensaje de falta de archivos raíz para todos los nuevos complementos porque ya hemos actualizado los archivos raíz en la configuración directorio.
Finalmente, la siguiente captura de pantalla muestra que el nuevo complemento (pcsc-lite-1.8.18-2.ipfire, ccid-1.4.24-2.ipfire, opensc-0.16.0-2.ipfire ) se han creado dentro de los paquetes directorio.
Instalacion de paquetes pakfire
Como se muestra a continuación, los paquetes compilados se copian en el sistema IPFire ya instalado dentro de /opt/pakfire/tmp directorio.
La siguiente captura de pantalla muestra que los paquetes se copian en el sistema IPFire.
Los nuevos complementos se extraen mediante el siguiente comando para la instalación en 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
La instalación de los nuevos complementos se muestra en la siguiente captura de pantalla usando ./install.sh guión.
La instalación exitosa de pcsc-lite se muestra en la siguiente instantánea.
La siguiente figura muestra la instalación de controladores de tarjetas inteligentes CCID.
Como se muestra a continuación, la herramienta openSC finalmente está instalada para la gestión de tarjetas inteligentes en el sistema IPFire.
En este tutorial, se construyen nuevos complementos en el sistema de desarrollo de IPFire. Estos nuevos complementos se utilizan para integrar tarjetas inteligentes y sus lectores con el proyecto IPFire de código abierto.