Vous êtes sur la page 1sur 24

SERGIO ALEXIS CANO SEPULVEDA

ADMINISTRACION DE REDES DE COMPUTADORES


GRUPO 941575

MANUAL DE INSTALACIÓN DE UN SERVIDOR APACHE CON SSL.


INSTALAICON DEL SERVIDOR DNS

Primero empezaremos instalando un servidor DNS, para que nos pueda


resolver el nombre de URL de la página web que va a tener el Servidor
Apache.

Para instalar el servidor DNS o más bien BIND9 de los repositorios de


debían ejecutamos el siguiente comando.
#apt-get install bind9

Luego de instalar, agregamos el nombre de nuestro dominio y la


dirección IP (DOMINIO=sergio.com IP=192.168.0.5), en le siguiente
archivo de configuración.
#nano /etc/resolv.conf

Luego vamos al archivo de configuración named.conf, donde


definiremos el nombre de la zona directa e inversa, que resolverán de IP
a nombre y de nombre a IP y las rutas donde estarán alojadas.
#nano /etc/bind/named.conf
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Ahora crearemos el fichero de la zona directa y deberá tener un


contenido similar como el siguiente.
#touch /etc/bind/directa.zona

Igualmente crearemos el fichero de la zona inversa y deberá tener un


contenido similar como el siguiente.
#touch /etc/bind/inversa.zona
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Luego de configurar del DNS o BIND, reiniciaremos el servidor y haremos


las pruebas de resolución inversa y directa para comprobar que el
servidor este bien configurado.

INSTALACION DEL SERVIDOR WEB.

Para instalar el servidor web, o mejor dicho APACHE2 ejecutamos el


siguiente comando.
#apt-get install apache2

Luego de instalar, vamos al siguiente archivo de configuración para


definir la ruta del directorio que va ha tener alojada la pagina que va a
carga el servidor web.
Y el nombre de URL de nuestra pagina web.
Vamos
#nano /etc/apache2/sites-available/default
Debe tener un aspecto como el siguiente.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Como podemos observar se encuentra alojada la pagina “index.html”


en el directorio que hemos definido anteriormente. Y reiniciamos el
servidor Apache2 para que actualice todos lo cambios que hemos
hecho en el, y para comprobar que si haya sido bien configurado.

Ahora vamos a nuestro navegador web “Iceweasel” y


comprobaremos que nuestra pagina web este en funcionamiento.

Copiamos la URL “debían.sergio.com” y como podemos observar a


resulto de nombre a IP y a cargado la pagina del servidor web con
éxito.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

INSTALACION DEL SERVICIO OPENSSL

Primero verificamos la versión de openssl. Con el siguiente comando.

Ahora crearemos un directorio de trabajo para mayor organización, con


el nombre “CA” o podemos definir el nombre que deseemos. Y dentro
de este mismo crearemos dos directorios más con los nombres de
“certificados” y “privado”.

En el directorio “certificados” se guardara una copia de cada


certificado que firmemos y en el otro directorio “privada” se guardara
nuestra llave privada.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Luego crearemos dos archivos que en conjunto formaran la base de


datos de los certificados autofirmados.

En el archivo “serial” simplemente contiene el siguiente numero de serie


de nuestro certificados, ya que apenas vamos a crear el primer numero
de serie, será 01, después de crearlo se actualizara a 02 y así
sucesivamente.

Después crearemos un archivo en nuestro directorio “CA” con el


nombre de “openssl.cnf” que va a tener la siguiente configuración.

# ***** openssl.cnf ******

dir =. # Variable que establece el directorio de trabajo

# seccion que permite convertirnos en una CA


# solo se hace referencia a otra sección CA_default
[ ca ]
default_ca = CA_default

[ CA_default ]
serial = $dir/serial # archivo que guarda el siguiente número
de serie
database = $dir/index.txt # archivo que guarda la bd de
certificados
new_certs_dir = $dir/certificados # directorio que guarda los certificados
generados
certificate = $dir/cacert.pem # nombre del archivo del certificado
raíz
private_key = $dir/privado/cakey.pem # llave privada del certificado raíz
default_md = md5 # algoritmo de dispersión usado
preserve = no # Indica si se preserva o no el orden de
los
# Campos del DN cuando se pasa a los
certs.
nameopt = default_ca # esta opción y la siguiente permiten mostrar
# detalles del certificado
certopt = default_ca
policy = policy_match # indica el nombre de la seccion donde se
especifica
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

# que campos son obligatorios, opcionales y


cuales
# deben ser iguales al certificado raíz.

# seccion de politicas para la emision de certificados


[ policy_match ]
countryName = match # match, obligatorio
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional # optional, campo opcional
commonName = supplied # supplied, debe estar en la
petición
emailAddress = optional

# Seccion que indica como los certificados deben ser creados


[ req ]
default_bits = 1024 # tamaño de la llave, si no se indica 512
default_keyfile = key.pem # nombre de la llave privada
default_md = md5 # algoritmo de dispersión a utilizar
string_mask = nombstr # caracteres permitidos en la mascara de la
llave
distinguished_name = req_distinguished_name # seccion para el nombre
distinguido
req_extensions = v3_req # seccion con mas extensiones que se añaden
a la
# peticion del certificado

# Seccion del nombre distinguido, el valor es el prompt que se vera en


pantalla.
# Datos del propietario del certificado.
# Esta seccion define el contenido de datos de id que el certificado llevara.
[ req_distinguished_name ]
0.organizationName = Nombre de la organizacion
0.organizationName_default = Redsergio
organizationalUnitName = Departamento o division
emailAddress = Correo electronico
emailAddress_max = 40
localityName = Ciudad o distrito
localityName_default = Medellin
stateOrProvinceName = Estado o provincia
stateOrProvinceName_default = Antioquia
countryName = Codigo del pais (dos letras)
countryName_default = CO
countryName_min =2
countryName_max =2
commonName = Nombre comun (hostname o IP)
commonName_max = 64

# Si en la linea de comandos se indica la opcion -x509,


# las siguientes extensiones tambien aplican
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

[ v3_ca ]
# indica que se trata de un certificado CA raíz con autoridad para
# firmar o revocar otros certificados
basicConstraints = CA:TRUE

# Especifica bajo que metodo identificar a la llave publica que sera


certificada
subjectKeyIdentifier = hash

# Especifica como identificar la llave publica


authorityKeyIdentifier = keyid:always,issuer:always

# Extensiones de la opcion req


[ v3_req ]
basicConstraints = CA:FALSE # los certificados firmados no son CA
subjectKeyIdentifier = hash

Hasta ahora, el directorio “CA” que hemos creado debe tener lo


siguiente.

CREACION DEL CERTIFICADO RAIZ

Ya estamos listos para crear nuestro certificado raíz, recordemos que


este certificado nos convertirá en una Autoridad Certificadora. Así que
cuando emitamos el siguiente comando nos solicitara una contraseña
“pass phrase”, el cual recomiendo que sea una contraseña de almenos
20 caracteres, alfanuméricos, simbolos y rotaciones entre mayúsculas y
minúsculas.

Algunas opciones a utilizar para crear el certificado raíz.

-Req -new -x509 = Crear un certificado nuevo autofirmado.


-extensions v3 ca = Crear un certificado raíz CA
-keyout = Nombre y donde guardara la llave privada
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

-out = Nombre del certificado raíz CA


-days 365 = El certificado sera valido por 365 días (1 año)
-config = Archivo de configuración a utilizar

Y por ultimo nos preguntara unos datos para crear el certificado raíz. Los
llenamos respectivamente con nuestros datos.

Con el comando realizado anteriormente, nos generara dos archivos


nuevos.
-cacert.pem = Que es el certificado raíz que nos creo.
-cakey.pem = Es nuestra llave privada, la cual va ha esta almacenada
en /etc/CA/privada/cakey.pem el cual se podría enviar a nuestros
clientes o usuarios del sistema y estos lo instalen en su navegador web.

Con los siguientes comandos, podemos ver como lucen estos archivos.
Certificado.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Llave privada.

Con el siguiente comando podemos ver la fecha de creación y


finalización del certificado raíz.

Tambien podemos ver información acerca del certificado raíz.


Con el siguientes comandos.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

SOLICITUD DE FIRMADO DE CERTIFICADO


(CSR CERTIFICATE SIGNING REQUEST)

Ahora deberemos crear una solicitud de firmado de certificado, Pues ya


que ahora estamos validados como CA con el certificado raíz. Además
crearemos una llave privada y firmaremos la solicitud para generar un
certificado autofirmado. El comando es muy parecido al anterior pero
esta vez no nos pedirá contraseña, pero si se creara una llave privada
para la solicitud.

Y nos volverá a pedir los datos necesarios, que deberán ser de


conformidad a las políticas del archivo de configuración “openssl.cnf”, y
lo mas importante es que el CN sea igual en este paso como en el
anterior. Es decir, debia.sergio.com

Especifiquemos los parámetros usados aquí

- req de request en ingles, solicitando un certificado nuevo.

- out es el nombre del certificado que deseamos firmar.

- config sirve para especificar el archivo de configuración a usar.

- nodes sirve para especificar que no deseamos contraseña en la llave


privada de la solicitud.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Ahora firmaremos la solicitud anterior. Para esto deberemos indicar la


contraseña que tecleamos en el paso de la creación del certificado
raíz, que nos señala como una autentica CA, y que por tal tenemos la
autoridad de firmar certificados.

-Nos preguntara si deseamos firmar el certificado, a lo que


responderemos que si.

- Nos preguntara si accedemos a almacenarlo en la base de datos, a lo


que responderemos que si.}

Parámetros usados en este pasó:

-out será el archivo “certificado-redes.pem”.

-config usara las opciones del archivo de configuración dado


“openssl.cnf”.

-infiles será la solicitud de firmado tomando datos del archivo creado


anteriormente “redes-cert.pem”
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Se comprueba que ya aumento el número de serie a 02, es decir, el


siguiente certificado que firmemos será ese número.

En el archivo index.txt el tercer campo indica 01, que es el número de


serie para el certificado recién creado y muestra también los campos
del DN.

En el directorio de certificados se guarda también con el


correspondiente número de serie (01.pem) un archivo que
complementa la base de datos de certificados que podemos ir
creando.

Y por último tenemos el certificado en si:


SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Luego copiamos nuestros dos archivos en un directorio, de hecho


podrían quedarse donde están, es lo de menos, pero por cuestión de
orden y organización vamos a copiarlos a /etc/apache2/ que en la
mayoría de distribuciones es el directorio de configuración del Apache.

Ahora, lo que haremos será configurar el servidor Apache con la


intención de darle seguridad a través de SSL.

Agregamos en el archivo
nano /etc/apache2/sites-available/default
La línea “RedirectPermanent / https://debian.sergio.com” para que
nos re direccione

Y al final de la configuración las siguientes líneas,


— Ahora, solo deberemos agregar en <VirualHost *:443> para que
escuche por todas
las interfaces a través del puerto 443 (ssl).
— Añadirle el “ServerAdmin sergio419@misena.edu.co”; el cual es el
correo donde
deben reportarse los problemas.
— “ServerName debían.sergio.com”. Mi servidor web.
— “DocumentRoot /var/www/web/”. El directorio donde se halla mi sitio
web.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

— Antes de terminar el archivo de configuración añadiremos estas líneas


para implementar el SSL.

“SSLEngine on” es encender el motor de SSL.


“SSLcertificateFile” la ruta donde se almacena nuestro certificado
firmado.
(/etc/apache2/certificado-Redsergio.pem).
“SSLCertificateKeyFile” la ruta donde se almacena la llave privada.
(/etc/apache/key.pem).

El archivo de configuración debe quedar de la siguiente manera.


SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Luego agregamos la siguiente línea en el archivo de configuración


“nano /etc/apache2/ports.cnf” para que escuche por el puerto seguro.

Listen 443

Ahora deberemos cargar el modulo SSL para establecer que el Apache


sea seguro, mediante el comando “a2enmod”, lo logramos. Y le
daremos “ssl”.

El mismo nos pedirá que forcemos el inicio de Apache2, por lo que


reiniciamos el servidor Apache2.

Ahora haremos la prueba desde nuestra maquina local


Vamos a nuestro navegador web y copiamos
“http://debian.sergio.com” y nos aparecerá una advertencia de
restricción.

Pero nos aparece una opción de que podemos hacer una excepción
damos clic en “Or you can ad dan exception”
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Nos aparece un aviso de certificado, damos clic en “View”.


SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Luego nos aparecen detalles de certificado.

Y por ultimo nos re direcciona a “https://debian.sergio.com” que es


nuestra pagina web que hemos instalado en nuestro servidor Apache.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

PRUEBAS DESDE UN CLIENTE WINDOWS

Primero en la interfaz de red del cliente, añadiremos la dirección IP de


nuestro SERVIDOR DNS.

Luego vamos a nuestro navegador Web y copiamos la dirección de


nuestra pagina web “debían.sergio.com” primero nos mostrara una
alerta de seguridad, que seria el certifico de la pagina web, damos en
la opción “Ver certificado”.

Como podemos apreciar nos muestra el certificado que hemos creado


para este sitio.
Le damos en la opción instalar certificado.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Nos abre el asistente para la importación de certificados, damos


siguiente.

Luego podemos seleccionar la ruta o de jamos la que viene por


defecto para la almacenar el certificado, damos siguiente.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Luego damos clic en finalizar la importación de certificado.

Nos mostrara un aviso diciéndonos que la importación se ha realizado


correctamente.
SERGIO ALEXIS CANO SEPULVEDA
ADMINISTRACION DE REDES DE COMPUTADORES
GRUPO 941575

Y por ultimo nos re direccionará de forma segura,


“https://debian.sergio.com” a nuestra pagina web que hemos
montado en el servidor Apache.

Vous aimerez peut-être aussi