AZLinux

Se muestran los artículos pertenecientes al tema seguridad.

11/07/2012

Certificados digitales en Ubuntu 12.04

Por @jact_abcweb.

Con el cambio de distribución base (de openSUSE a Ubuntu), tocaba, de nuevo, salvar el importante escollo de hacer funcionar los certificados digitales en la nueva plataforma. El reto consistía (otra vez) en tener disponibles simultáneamente ambos tipos de certificados: Ceres y DNIe. Todo volvía a depender de encontrar una versión de OpenSC que hiciera esto posible.

OpenDNIe está a punto de integrarse dentro de OpenSC, y en la forja de Cenatic hay versiones previas a esta inminente integración, que permiten instalarlo sin problemas en varias distribuciones Linux actuales.

Sin embargo, Ceres se ha quedado en el limbo. La comunidad dispone de una versión liberada del proyecto de la FNMT, pero nadie da el paso para integrarla dentro de OpenSC. El resultado es que cada vez es más complicado hacer convivir ambos módulos en las distribuciones modernas de Linux.

¿Cómo lo hemos conseguido esta vez?

El escollo más claro lo constituye el hecho de que a partir de OpenSC-0.12, ya no es posible cargar módulos de certificados digitales. Había que encontrar una versión que funcionara en Ubuntu Precise y que permitiera la carga de módulos.

De nuevo, hemos recurrido a la forja de Cenatic para partir de una versión de OpenSC-0.11.13 que integra, además, el DNIe.

La mala noticia es que ha costado compilar dicha versión en Ubuntu 12.04. Cambios en la forma de enlazar librerías en el sistema, nos han mantenido entretenidos durante algunas semanas. Aún así, no hemos sido capaces de compilarla con todos los módulos activos, y hemos tenido que prescindir de la librería opensc-signer.so.

El siguiente reto ha consistido en paquetizar el resultado de la compilación. Para ello, hemos partido del paquete para Ubuntu Natty (el último de la versión 0.11).

Se han tenido que quitar algunos patches, modificar algún otro y adecuar la compilación para que no se genere el paquete mozilla-opensc (la librería opensc-signer.so). Aparte de eso, el paquete es funcional en Ubuntu 12.04.

Después, se ha compilado el módulo de Ceres, modificando, naturalmente, la versión referida a OpenSC.

Conclusiones

El sistema funciona pero si cada vez que cambiemos de versión de Ubuntu hay que hacer todo esto (mientras se pueda hacer...), vamos a tener un problema importante en la migración a Linux de nuestra administración.

Tras varios años de trabajar con entornos Linux y los certificados digitales españoles, me vuelven a surgir algunos interrogantes a los que todavía no hemos encontrado respuesta: ¿Cuándo tendremos disponible Ceres dentro de OpenSC? Si se ha conseguido con el DNIe, ¿qué inconvenientes hay para que no se pueda integrar el código de Ceres?

El DNIe es potencialmente usable por gran parte de la población española.

Ceres es usado a diario por la administración pública española para sus gestiones con certificados digitales.

Artículos relacionados

Etiquetas: , ,

11/07/2012 11:59 #. Tema: seguridad Hay 4 comentarios.

16/02/2011

OpenDNIe en AZLinux

Por @jact_abcweb

Hace unos días, se presentó el proyecto OpenDNIe en sociedad. Este proyecto significa un gran avance para las administraciones públicas que quieran usar Linux, ya que inicia el camino de la independencia tecnológica.

Intentaré explicar esto más detenidamente. Actualmente, los 2 módulos criptográficos que se usan en la Administración Pública Española no están integrados en el proyecto OpenSC, sino que son módulos cargables que viven vidas paralelas a este proyecto madre. Esto implica que cada vez que OpenSC actualiza algo (aunque sólo sea el número de la versión), los módulos españoles dejan de funcionar. Otro problema añadido es que ambos deben estar compilados contra la misma versión de OpenSC para funcionar en la misma máquina.

La situación se estaba tornando insostenible y estaba impidiendo que las nuevas versiones de las distribuciones Linux tuvieran soporte para estos módulos. Como solución, tanto la DGP (DNIe) como la FNMT (Ceres) liberaron hace unos meses los respectivos proyectos. Pero era necesario que alguien hiciera el trabajo de integración en opensc para que la dependencia de versiones dejara de ser un problema.

Gracias a jonsito y Cenatic, la integración del DNIe es ya una realidad, pero todavía queda integrar Ceres en OpenSC para conseguir resolver completamente el problema. Si ambos módulos no están dentro de opensc, la gente que ha adoptado Linux como plataforma de trabajo, no puede continuar avanzando y proporcionar servicios a los ciudadanos.

Historia de los certificados en AZLinux

 

Este mapa mental representa el pasado, presente y futuro de los módulos criptográficos en nuestro trabajo diario. Hicimos una primera versión de AZLinux (la 1, basada en SLED 10), en la que sólo teníamos soporte para Ceres por el problema de encontrar una versión de opensc que hiciera funcionar ambos módulos. Luego pasamos a openSUSE 11.2 (AZLinux 2) y conseguimos dar con la fórmula correcta gracias a la suerte y al trabajo desinteresado de RedDwarf. A día de hoy no nos podemos ni plantear evolucionar la versión de openSUSE porque ni el código de la DGP ni el de la FNMT están preparados para funcionar con opensc-0.12.

En cuanto hemos sabido que existía opendnie, nos hemos puesto manos a la obra para hacerlo funcionar en nuestra actual plataforma (openSUSE 11.2). A continuación os relato las dependencias necesarias para su compilación y de dónde se han obtenido cada una de ellas.

  • gcc gcc-c++ kernel-devel (kernel-pae-devel en nuestro caso)
  • pkg-config
  • autoconf
  • automake
  • docbook-xsl-stylesheets
  • pcsc-lite, pcsc-lite-devel
  • pcsc-ccid
  • libreadline6, readline-devel
  • libgpg-error-devel
  • openssl, libopenssl0_9_8, libopenssl-devel
  • pinentry, pinentry-gtk2, pinentry-qt4
  • libtool, libltdl7
  • openct, openct-devel, pcsc-openct, libopenct1
  • libpth20, libpth-devel
  • libassuan0, libassuan-devel

Todos los paquetes corresponden al repositorio openSUSE 11.2 standard, excepto la siguiente lista, que han sido obtenidos de otro repositorio, porque el paquete libassuan0 no está en el repositorio standard.

  • libassuan-devel-2.0.0-4.1.i586.rpm
  • libassuan0-2.0.0-4.1.i586.rpm

El DNIe funciona perfectamente con la página de prueba de la DGP y con los comandos opensc-tool.

En resumen, se ha hecho un estupendo trabajo y en la dirección adecuada, pero la solución no va a ser definitiva hasta que Ceres recorra el mismo camino que se ha realizado con DNIe.

Etiquetas: , ,

16/02/2011 11:59 #. Tema: seguridad Hay 2 comentarios.

19/08/2009

Como hemos Securizado GRUB

GRUB es el gestor de arranque que utilizamos en AZLinux.

Es relativamente sencillo utilizarlo para entrar al sistema con permisos de root (acción que no permitimos a nuestros usuarios). Basta con editar la entrada y añadir init=/bin/bash

GRUB permite ser protegido mediante contraseña.

Método gráfico > usando YAST (herramienta de administración del sistema de SUSE)


Método comando

  1. como root ejecutar comando grub
  2. generar una clave valida
    1. grub> md5crypt
      Password: ******
      Encrypted: $1$0FSiA/$3ln7OVHdmQjub0jampPhl.
  3. añadir al fichero /boot/grub/menu.lst
    1. password --md5 $1$0FSiA/$3ln7OVHdmQjub0jampPhl.
  4. A partir de este momento GRUB solo puede ser editado conociendo la clave
Como siempre esperamos vuestras aportaciones y comentarios

Enlaces

COMO HACERSE ROOT EDITANDO EL GRUB

19/08/2009 08:43 #. Tema: seguridad No hay comentarios. Comentar.

| Blog ciudadano realizado con Blogia 2.0 | Suscríbete: RSS | Administrar