Você está na página 1de 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.
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
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.
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.
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
3. Configuración Base de Datos 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
● 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
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="andresdiegojorge@segupiloto.com"
# cd /opt/openca-fuentes/openca-base-1.1.1
# vim configuración (Aquí ponemos el contenido anteriormente descrito)
# sh configuración

# make clean
# make
# 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.


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
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
10. Se inicia de nuevo los servicios de OpenCA y Apache.

# service openca start


# service httpd start
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
Realizando una consulta a la base de datos, se ha podido evidenciar la creación de las tablas.
Expedición de un Certificado a través OpenCA.
● Aprobación del Certificado.

Você também pode gostar