OpenCA en Debian

 

Que es OpenCA?

OpenCA es una herramienta que proporciona un interface Web para poder administrar una Infraestructura de Clave Pública(PKIhttp://es.wikipedia.org/wiki/PKI).

Componentes de OpenCA

1. Una interface web creado en Perl. 2. Openssl para operaciones criptográficas. 3. Una base de datos.

* Particularmente utilizaré Mysql como motor de Base de Datos.

Software a Instalar

Instalación de herramientas para la compilación apt-get install g++ gcc make libssl-dev

Instalación de Perl y modulos necesarios

apt-get install libxml-perl libxml-regexp-perl libdbi-perl perl perl-modules libldap2 libldap2-dev libdbd-mysql-perl libauthen-sasl-perl libx500-dn-perl libcgi-session-perl libconvert-asn1-perl libdigest-md2-perl libdigest-md4-perl libdigest-sha1-perl libio-socket-ssl-perl libio-stringy-perl libmime-lite-perl libmime-perl libmailtools-perl libnet-server-perl liburi-perl libxml-twig-perl libintl-perl libnet-ldap-perl

Instalación de Apache Web Server

apt-get install libapache-mod-perl libapache-mod-ssl apt-get install apache dpkg-reconfigure apache (Seleccionamos mod_ssl)

Instalación de Openssl

apt-get install openssl libssl-dev

Instalación de Mysql Server

apt-get install mysql-server

Instalación del OpenCA

Descargamos el software de OpenCA Download http://www.openca.org/ Es un archivo .tar.gz #cd /usr/src #tar xvfz openca-0.9.2.5.tar.gz #cd OpenCA-0.9.2.5 #touch config_ra #touch config_ca y le damos permisos de ejecución #chmod 755 config_ra #chmod 755 config_ca

Ahora editamos config_ra y copiamos y pegamos lo que esta a continuación

#!/bin/sh make distclean ./configure \ —prefix=/usr/local/openca \ —with-web-host=localhost \ —with-httpd-user=www-data \ —with-httpd-group=www-data \ —with-ext-prefix=/usr/local/openca.0.9.2 \ —with-htdocs-fs-prefix=/var/www/ \ —with-cgi-fs-prefix=/usr/lib/cgi-bin \ —with-ca-organization=”Lanux” \ —with-ca-locality=”Ciudad de Lanus” \ —with-ca-country=”AR” \ —with-module-prefix=/usr/local/openca/modules \ —enable-dbi \ —disable-db \ —disable-rbac \ —with-hierarchy-level=ra \ —with-service-mail-account=”root@localhost” \ —with-db-type=mysql \ —with-db-name=openca \ —with-db-host=localhost \ —with-db-port=3306 \ —with-db-user=openca \ —with-db-passwd=”openca” make make install-ra make install-pub make install-node

Grabamos los datos y ejecutamos #./config_ra

Ahora editamos config_ca y copiamos y pegamos lo que esta a continuación

#!/bin/sh ./configure \ —prefix=/usr/local/openca \ —with-web-host=localhost \ —with-httpd-user=www-data \ —with-httpd-group=www-data \ —with-ext-prefix=/usr/local/openca.0.9.2 \ —with-htdocs-fs-prefix=/var/www/ \ —with-cgi-fs-prefix=/usr/lib/cgi-bin \ —with-ca-organization=”Lanux” \ —with-ca-locality=”Ciudad de Lanus” \ —with-ca-country=”AR” \ —with-module-prefix=/usr/local/openca/modules \ —enable-dbi \ —disable-db \ —disable-rbac \ —with-hierarchy-level=ca \ —with-service-mail-account=”root@localhost” \ —with-dbi-type=mysql \ —with-dbi-name=openca \ —with-dbi-host=localhost \ —with-dbi-port=3306 \ —with-dbi-user=openca \ —with-dbi-passwd=”openca” make make install-ca make install-node

Luego de grabar los datos en el archivo, ejecutamos #./config_ca

Bien, si todo funciona como corresponde, ahora deberiamos ejecutar un par de comandos. Configuramos la base de datos. #mysql -u root -p

>create database openca; >create database openra; >grant all privileges on openca.* to openca@localhost identified by “openca”; >grant all privileges on openra.* to openra@localhost identified by “openra”; >exit; verificamos la BD #mysql -u openca -p Enter password: “openca” >use openca; >show tables; (deberia retornar vacia (empty)) >exit; #mysql -u openra -p Enter password: “openra” >use openra; >show tables; (deberia retornar vacia (empty)) >exit;

Una vez finalizada la instalacion de la base de datos, deberemos realizar lagunos cambios en el archivo de configuración de la CA, para ello deberemos modificar el archivo #/usr/local/openca/OpenCA/etc/config.xml Aqui abajo muestro los parametros que más nos interesan a nosotros….

ca_organization Lanux

ca_locality Lanus

ca_country AR

service_mail_account roldyx@lanux.org.ar

httpd_host localhost

httpd_port :443

dbmodule DBI

db_type mysql

db_name openca

db_host localhost

db_port 3306

db_user openca

db_passwd openca

Ahora retomamos con la CA… #cd /usr/local/openca/OpenCA/etc/ #./configure_etc.sh Este comando modifica los archivos por ejemplo index.html.templates en index.html Ejecutamos la CA haciendo: #cp /usr/local/openca/OpenCA/etc/openca_rc /etc/init.d/ #cd /etc/init.d/ #update-rc.d openca_rc defaults #./openca_rc start esperamos 5 segundos. Instalamos los certificados ssl del apache. #mkdir /etc/apache/ssl #cd /etc/apache/ssl #openssl req -x509 -newkey rsa:2048 -keyout cakey.pem -days 3650 -out cacert.pem -nodes Con este comando creamos un CA para certificados X509 con algoritmo de encriptación rsa de 2048 bytes. Con el -keyout le indicamos que la clave privada de nuestra CA se almacene en el fichero cakey.pem y la clave publica -out en el cacert.pem. Seguidamente nos pedirá un password para nuestra CA y se lo damos. También nos pedirá una serie de datos por ejemplo país, nombre de empresa, que nos identifica como CA.

Continuamos por la configuración del Apache Web Server.

Editamos /etc/apache/httpd.conf y al final del archivo ponemos Listen 443 SSLEngine On SSLOptions +StdEnvVars SSLCertificateFile /etc/apache/ssl/cacert.pem SSLCertificateKeyFile /etc/apache/ssl/cakey.pem Guardamos y reiniciamos el apache #/etc/init.d/apache restart #rm /var/www/index.html Abrimos un navegador y ponemos https://localhost/ Y deberiamos ver las carpetas correspondientes a la CA. Felicitaciones Enhorabuena has instalado el OpenCA. login: root password: root Eso es todo!! espero que les haya gustado!! Roldyx.

Cualquier cosa roldyx arroba linux.org.ar

0 comments so far

Comments are closed.