A continuación mostraremos como configurar Apache de forma segura (https)
Primero quiero dejar en claro que antes de empezar a configurar este apache de forma segura debemos de tener configurado el DNS y el APACHE básicamente, que ya hemos explicado con anterioridad.
Ahora si empezamos instalando el paquete openssl
Ahora crearemos el directorio contenedor donde se guardara todo lo de nuestra CA
nos dirigimos a la ruta del ssl que es /etc/ssl/ y aquí crearemos el directorio contenedor de nuestra CA
Dentro de este directorio crearemos otros dos que se llamados certifocados y privado, el primero es donde se guardará una copia de cada certificado que firmemos y en el otro directorio se guardará la llave privada.
Es muy importante no perder la llave privada que se generé, ya que con esta podremos firmar o renovar certificados, y mucho menos dársela a nadie, ya que toda nuestra seguridad radica en la confidencialidad de la llave privada que se guardará en el directorio privado.
Crearemos dos archivos donde que en conjunto formarán la base de datos de los certificados autofirmados.
echo "01" > serial
> index.txt También se puede crear de la siguiente manera.
touch index.txt.
'index.txt' será la base de datos propiamente en base al número de serie.
Ahora entraremos al archivo de configuración, que lo que hice copiar el archivo de configuración openssl.cnf al directorio contenedor de nuestra CA y ahí le modifique las siguientes lineas
Ya esta casi todo listo para crear el certificado raíz, recordemos que este certificado es el que nos convertirá en una autoridad certificadora CA, así que cuando emitamos el comando lo primero que nos pedirá es el "pass phrase" o una contraseña pero en forma de una frase. Esta contraseña es de vital importancia ya que es con la que validaremos nuestra autoridad para después poder crear certificados autofirmados que son los que realmente usaremos en nuestro sitio.
Ahora mostrare el comando que utilizaremos para crear el certificado raíz
Ahora explicare que significan los parámetros que lleva ese comando:
- req -new -x509 Crear un certificado nuevo autofirmado
- extensions v3_ca Crear un certificado raiz CA
- -keyout Nombre y donde guardara la llave privada
- -out Nombre del certificado raiz CA
- -days 3650 El tiempo en el cual el certificado tendra validez en este caso (10 años)
- -config Archivo de configuracion a utilizar
Lo anterior da como resultado dos archivos:
- Un certificado raíz CA "cacert.pem"
- Una llave privada "privado/cakey.pem" La extrension "pem" es de Privacy Enhanced Message
Podemos ver nuestro certificado con el siguiente comando
/etc/ssl/CA# more cacert.pem
Ya tenemos un certificado raíz que nos válida como CA, claro sin mas autoridad que nuestro propio dominio.
CREANDO UN CERTIFICADO SIGNING REQUEST (CSR)
Los siguientes procedimientos vamos a crear una llave privada y una solicitud de certificado, tambien firmaremos la solicitud para generar un certificado autofirmado.
Lo último que nos pregunto en la parte DN (distinguished name) es el nombre común (CN common name), aqui es sumamente importante indicarlo igual a como esta el certificado raíz generado previamente, como se trata de un servidor web, lo correcto es poner su FQDN que es www.redes.com, no debe indicarse ni redes.com ni http://www.redes.com
Estos parametros de este comando significan lo siguiente:
- redes-cert.pem El certificado singning request (csr)
- key.pem Llave privada
FIRMANDO EL CERTIFICADO
Por ultimo firmaremos la solicitud que hicimos en el paso previo, para firmarlo necesitaremos indicar la contraseña que autentifique que somos la CA y que que por serlo tenemos la autoridad de autorizar (firmar) certificados. (Para nuestro propio uso).
Observa que usamos la opción ca que indica que firmaremos un certificado como autoridad certificadora (CA) que somos, la salida -out será el archivo certificado-pato.pem usando las opciones -config del archivo de configuración y la solicitud de firmado se especificó con la opción -infiles que tomó los datos del archivo redes-cert.pem creado en el paso previo.
Aqui se nos pidió la contraseña, que es la que se indicó cuando creamos cacert.pem que corresponde a nuestro certificado raíz que nos identifica como CA. El certificado será válido por 10 años -days y después se nos preguntó que si queriamos firmarlo, por supuesto que si, y la última pregunta es por si queremos guardar este certificado ya autofirmado en la base de datos, a lo que también contestamos que si.
INSTALANDO EL CERTIFICADO Y LA LLAVE PARA EL APACHE.
Tenemos entonces dos elementos ya generados que necesitaremos para Apache que son:
- key.pem Llave privada
- certificado-redes.pem Certificado autofirmado
Ahora tenemos que indicarle al servicio apache que soporte ssl y para ello le decimos que cargue el modulo que lo soporta
Ahora reiniciamos nuestro servidor apache
debe existir una línea que abre el puerto 443 a la escucha de paquetes. Esta fuera de las directivas del servidor virtual. el cual se encuentra en la siguiente ruta: /etc/apache2/ports.conf
Ahora abrimos nuestro browser y ahi ingresamos la url sobre la cual hemos emitido el certificado
Como podemos observar el nos esta diciendo que este sitio es seguro y que debemos de ingresar con https entonces le damos click en la parte seleccionada y nos saca un aviso de excepciones donde el verificara el certificado de nuestra entidad emisora.
Procedemos a darle en OK y nos instalara en certificado y nos dejara ingresar a nuestro sitio web seguro.
http://bookalexa.blogspot.com/2008/05/peticion-de-certificado-de-apache.html
No hay comentarios:
Publicar un comentario