Instalación OpenCA

25
Universidad Piloto de Colombia Especialización en Seguridad Informática. Criptografía. Instalación Servidor OpenCA Autores. Andrés Gustavo Morales. Diego Fernando Arce. Jorge Humberto Rubiano. OpenCA es una herramienta que proporciona un interface Web para poder administrar una Infraestructura de Clave Pública. Componentes de OpenCA 1. Una interface web creada en Perl. 2. Openssl para operaciones criptográficas. 3. Una base de datos (para este caso se ha hecho uso de Mysql). El desarrollo del proyecto se divide en dos tareas principales: estudiar y perfeccionar el sistema de seguridad que garantiza el mejor modelo que se utilizará en una autoridad de certificación y desarrollo de software de fácil configuración y gestión de una autoridad de certificación.

description

Artículo, que demuestra la instalación del Servicio OpenCA, en este caso en la distribución Fedora 14 (Laughlin).Autores:Andrés Morales.Diego Arce.Jorge Rubiano.

Transcript of Instalación OpenCA

Page 1: Instalación OpenCA

Universidad Piloto de Colombia

Especialización en Seguridad Informática.

Criptografía.

Instalación Servidor OpenCA

Autores.

Andrés Gustavo Morales.

Diego Fernando Arce.

Jorge Humberto Rubiano.

OpenCA es una herramienta que proporciona un interface Web para poder administrar una

Infraestructura de Clave Pública.

Componentes de OpenCA

1. Una interface web creada en Perl.

2. Openssl para operaciones criptográficas.

3. Una base de datos (para este caso se ha hecho uso de Mysql).

El desarrollo del proyecto se divide en dos tareas principales: estudiar y perfeccionar el sistema

de seguridad que garantiza el mejor modelo que se utilizará en una autoridad de certificación y

desarrollo de software de fácil configuración y gestión de una autoridad de certificación.

Page 2: Instalación OpenCA

Instalación.

Para esta instalación se ha utilizado la distribución Fedora Release 14 (Laughlin)

1. Instalación de Fedora 14 x64 en una máquina virtual de VMWare.

Usuario: Andres

Clave : clave

Usuario: root

Clave: clave

Page 3: Instalación OpenCA

Preparación Inicial.

Para el proceso de instalación de OpenCA, se han requerido de una serie de herramientas y

librerías, las cuales han sido requeridas en el momento de realizar el proceso, algunas de ellas

son:

● GCC

Es un compilador integrado del proyecto GNU para C, C++, Objective C y Fortran; es capaz de

recibir un programa fuente en cualquiera de estos lenguajes y generar un programa ejecutable

binario en el lenguaje de la máquina donde ha de correr.

La sigla GCC significa "GNU Compiler Collection". Originalmente significaba "GNU C

Compiler"; todavía se usa GCC para designar una compilación en C. G++ refiere a una

compilación en C++.

● OpenSSL

Es un proyecto de software desarrollado por los miembros de la comunidad Open Source para

libre descarga y está basado en SSLeay, desarrollado por Eric Young y Tim Hudson.

Consiste en un robusto paquete de herramientas de administración y bibliotecas relacionadas

con la criptografía, que suministran funciones criptográficas a otros paquetes como OpenSSH y

navegadores web (para acceso seguro a sitios HTTPS).

● MySql

Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. Está

desarrollado en su mayor parte en ANSI C.

● Mysql-libs:

Este proporciona las bibliotecas compartidas esenciales para cualquier programa cliente de

MySQL.

● Perl

Es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del

lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de

muchos otros lenguajes de programación.

Page 4: Instalación OpenCA

Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue

ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las

limitaciones de los otros lenguajes de script.

● Authen::SASL

Es un mecanismo genérico para la autenticación utilizado por varios protocolos de red,

proporciona un marco de aplicación que todos los protocolos deben ser capaces de compartir.

El marco permite implementaciones diferentes de la clase de conexión que se ha conectado.

El plugin necesario para la instalación de OpenCA es:

○ Authen::SASL:: Perl: Este módulo implementa varios mecanismos y se lleva a

cabo íntegramente en Perl

● Wget.

Es una herramienta libre que permite la descarga de contenidos desde servidores web de una

forma simple. Su nombre deriva de World Wide Web (w), y de «obtener» (en inglés get), esto

quiere decir: obtener desde la WWW. Actualmente soporta descargas mediante los protocolos

HTTP, HTTPS y FTP.

● MOD_SSL.

Proporciona un sistema de criptografía para Apache y el servidor web a través

de la capa de sockets seguros (SSL v2/v3) y Transport Layer Security (TLS v1)

protocolos criptográficos con la ayuda de la Open Source SSL / TLS kit de

herramientas OpenSSL.

Fue necesario para está distribución (Fedora), deshabilitar el módulo de seguridad SELinux,

debido a que no permite la ejecución de los procesos de OpenCA.

Page 5: Instalación OpenCA

2. Instalamos los paquetes requeridos para la instalación de openCA.

A través del comando “yum” hacemos el proceso de descargar de las dependencias

requeridas.

# yum install gcc openssl openssl-devel mod_ssl mysql mysql-devel mysql-libs mysql-server

perl perl-devel perl-XML-Parser *Authen::SASL* *DB_File* *DBD::mysql* perl-Class-DBI perl-

BerkeleyDB perl-BDB db4* wget vim expat expat-devel

Page 6: Instalación OpenCA

3. Configuración Base de Datos OpenCA.

Page 7: Instalación OpenCA

Para la instalación de OpenCA, se hará uso del sistema de base de datos Mysql (previamente

descargado).

Creación de la Base de Datos “openca” y asignación de privilegios a un usuario OpenCA

nuevo:

4. Descarga de Archivos fuentes de openCA en una ruta aparte.

Los archivos fuentes han sido descargados desde la página oficial de proyecto

(http://www.openca.org/) en este caso se ha realizado la descarga a través del comando “wget”

y a la vez se han puesto en una ruta específica donde se hará las labores de desempaquetado

y posterior compilación a través del comando ./configure (apoyado del compilador gcc,

previamente descargado) que provee cada uno de los paquetes (tools y PKI).

● OpenCA Tools: El cual es un requisito previo para OpenCA PKI.

● OpenCA PKI (HALLOWEEN): El cual proporciona una solución completa para la

gestión de la PKI.

● Proceso OpenCa-Tools

# mkdir /opt/openca-fuentes

# cd /opt/openca-fuentes

# wget http://www.openca.org/alby/download?target=openca-tools-1.3.0.tar.gz

Page 8: Instalación OpenCA

● Proceso OpenCA Base (PKI)

# wget http://www.openca.org/alby/download?target=openca-base-1.1.1.tar.gz

4. Descomprimir los paquetes

# cd /opt/openca-fuentes

# tar xvzf openca-tools-1.3.0.tar.gz

# tar xvzf openca-base-1.1.1.tar.gz

Para el buen funcionamiento de OpenCA, inicialmente se hará la compilación del paquete

Tools, ya que es un prerrequisito de la instalación del paquete PKI.

5. Compilación Openca tools

# cd /opt/openca-fuentes/openca-tools-1.3.0

# ./configure

# make clean

# make

# make install

Page 9: Instalación OpenCA

7. Creación de un archivo personalizado con la configuración con los parámetros de

compilación para el paquete PKI.

Este archivo contendrá por ejemplo el nombre de la empresa certificadora, el nombre de la

base de datos, el tipo de base de datos.. etc; llamado configuración con el siguiente contenido:

./configure --prefix=/opt/openca-1.1.0 \

--with-ca-organization="Andres Diego Jorge" \

--with-httpd-fs-prefix=/var/www \

--with-httpd-main-dir=pki \

--with-db-name=openca \

--with-db-host=localhost \

--with-db-user=openca \

--with-db-password= \

--with-db-type=mysql \

--with-service-mail-account="[email protected]"

Page 10: Instalación OpenCA

# cd /opt/openca-fuentes/openca-base-1.1.1

# vim configuración (Aquí ponemos el contenido anteriormente descrito)

# sh configuración

# make clean

# make

Page 11: Instalación OpenCA

# make install-offline install-online.

Este comando permite que todo el servicio esté disponible en el mismo equipo .

● Si se desea que la instalación sea distribuida, es decir, que el PUB y el RA este en un

sólo equipo se ejecuta a el comando.

# make install-online .

● Si se desea sólo instalar la entidad emisora (CA), se requiere el comando.

# make install-offline.

Para fines de este taller, se ha instalado todo los servicios en el mismo equipo.

# make install-offline install-online.

Page 12: Instalación OpenCA

8. Creación de un enlace simbólico al archivo que inicia el servicio en la ruta donde se

ponen los archivos que inician los servicios del sistema operativo.

# ln -s /opt/openca-1.1.0/etc/init.d/openca /etc/init.d/openca

Page 13: Instalación OpenCA

9. Descarga de unos archivos que corrigen el error al arrancar el servicio de openca y los

sobrescribimos en sus respectivas rutas.

Ya que a la hora de la instalación ha surgido una serie de errores, este error ha sido descrito en

la wiki oficial de Openca: (http://wiki.openca.org/wiki/index.php/ERR_USER_UNKNOWN)

# cd /opt/openca-1.1.0

# wget http://ftp.openca.org/openca-base/fixes/v1.1.1/err_user_unknown/User.pm

# wget http://ftp.openca.org/openca-base/fixes/v1.1.1/err_user_unknown/initServer

# scp User.pm lib/openca/perl_modules/perl5/OpenCA/User.pm

# scp initServer lib/openca/functions/initServer

Page 14: Instalación OpenCA

10. Se inicia de nuevo los servicios de OpenCA y Apache.

# service openca start

# service httpd start

Page 15: Instalación OpenCA

Entorno WEB OpenCA.

● Inicialmente se ha realizado la inicialización de las variables de OpenCA, una de ellas

relacionada a la creación de las tablas en la base de datos openca, que previamente se

había creado.

Los datos de acceso al sistema son:

Usuario: admin

Clave: admin

Page 16: Instalación OpenCA

Realizando una consulta a la base de datos, se ha podido evidenciar la creación de las tablas.

Page 17: Instalación OpenCA

Expedición de un Certificado a través OpenCA.

Page 18: Instalación OpenCA
Page 19: Instalación OpenCA
Page 20: Instalación OpenCA

● Aprobación del Certificado.

Page 21: Instalación OpenCA
Page 22: Instalación OpenCA
Page 23: Instalación OpenCA
Page 24: Instalación OpenCA
Page 25: Instalación OpenCA