domingo, 2 de noviembre de 2008

INSTALACION DEL SERVIDOR WEB CON CERTIFICADO DE SEGURIDAD

El servidor web a utilizar es Apache2. Para realizar la instalación se ejecuta lo siguiente:

# apt-get install apache2 libapache2-mod-php5 php5-gd \ php5-mysql
// Instalación del servidor apache, y módulos de integración con php


Luego de esto se debe configurar el acceso al portal de BASE por medio de una contraseña. Para realizar esto se ejecuta lo siguiente:

# kwrite /var/www/base/.htaccess // Crea y edita el fichero

Se le agregan las siguientes líneas:

AuthType Basic
AuthName “Solo usuarios autorizados”
AuthUserFile /var/www/base/claves
require valid-user


# cd /var/www/base // Se situa en el directorio que va contener las contraseñas de acceso

# htpasswd –c /var/www/base/claves


Al ejecutar esta última línea el sistema nos pide la contraseña que se va asignar para el usuario de BASE especificado. La opción -c crea el archivo de contraseñas “claves” si no existe, pero si ya existe lo sobrescribe.

Para crear el certificado de seguridad que va emplear el servidor web, se debe realizar lo siguiente:

o Creación de una entidad Certificadora:

Para realizar esto se debe crear una llave privada y un certificado asociado a ésta. El proceso es el siguiente:

# mkdir /etc/apache2/CA // Creación del directorio que va contener los datos de la entidad certificadora (CA)

# cd /etc/apache2/CA // Se sitúa en el directorio de la CA

# openssl genrsa -des3 -out CA.key 1024 // Creación de la llave privada de la CA

# openssl req -new -x509 -days 3650 -key CA.key -out CA.crt
// Creación del certificado de la CA


o Creación de la llave privada del servidor:


# mkdir /etc/apache2/certificado // Creación del directorio que va contener los datos del certificado

# cd /etc/apache2/certificado // Se sitúa en el directorio del certificado de seguridad

# openssl genrsa -des3 -out server.key 1024 // Creación de la llave privada del servidor


o Creación de la petición del servidor hacia la entidad certificadora:


# openssl req -new -key server.key -out server.csr


Luego de tener esto implementado se procede a crear el certificado de seguridad por parte de la entidad certificadora creada anteriormente:

# openssl x509 -req -in server.csr -out server.crt -sha1 -CA \ /etc/apache2/CA/CA.crt -CAkey /etc/apache2/CA/CA.key \
-CAcreateserial -days 365050


Cada vez que se inicia el servidor web, el sistema siempre nos pide la contraseña de acceso para la clave RSA creada anteriormente y ello requiere la interacción con el administrador para poder acceder al servicio, es por eso que resulta conveniente generar una clave sin Triple DES, la cual permite iniciar normalmente el servidor apache sin necesidad de una contraseña. Para realizar esto se ejecuta lo siguiente:

# openssl rsa -in server.key –out server.pem //Genera la clave

Después de tener el certificado de seguridad listo, se procede a configurar el archivo por defecto que viene en apache2 para agregar los sitios web válidos, el cual se encuentra en la siguiente ruta: /etc/apache2/sites-available/default:

# kwrite /etc/apache2/sites-available/default

En este archivo se deben editar unas líneas para poder activar la autenticación al portal BASE, la integración con los certificados de seguridad, y la configuración de los sitios virtuales. Para realizar esto se procede de la siguiente manera:





























Luego se procede a la integración del modulo ssl de la siguiente manera:


# a2enmod

Al realizar esto, el sistema nos pregunta por el modulo que se quiere integrar, y simplemente se digita ssl, el cual es el modulo que se quiere activar.

Después de tener la configuración bien hecha se procede a iniciar el servidor web, teniendo en cuenta que se debe recargar el modulo ssl que se activó anteriormente, para realizar esto se ejecuta lo siguiente:

# /etc/init.d/apache2 force-reload // Recarga los módulos de apache

# /etc/init.d/apache2 start // Inicia el servidor web


No hay comentarios: