Configura Ubuntu, Proxmox, Zabbix & NethServer para entornos de Oficina
Menu
Picture
HTTPS / Ubuntu Server 14.04
Última actualización:  1 de Noviembre 2017
Regresar
Después de configurar Ubuntu Server y LAMP, el siguiente paso es activar la "Comunicación Cifrada" en nuestro protocolo HTTP (Hypertext Transfer Protocol), para las "Aplicaciones Web" a instalar.  Antes de iniciar con la configuración vamos a explicar brevemente "Apache Server y HTTPS", para así comprender la configuración a aplicar.
  • Apache Server y HTTPS
  • Configurar  HTTPS
<
>
¿Qué es Apache Server?
Gráfica 001 - Apache Server & VirtualHost
  • Apache Server es una solución Open Source, que activa el "Servicio Web" en nuestro Servidor, permitiendo presentar "Soluciones Web" a través del protocolo de Aplicación HTTP.
  • Apache Server utiliza el concepto "Apache VirtualHost" para definir y activar múltiples "Aplicaciones Web" de forma independiente.  Esta característica le permite aprovechar al máximo los recursos en Software & Hardware.
  • Cada "Apache VirtualHost", es representado por un archivo con extensión ".conf" que lleva parámetros conocidos como Directivas, las cuales predefinen el comportamiento del servicio.  Adicional, "Apache VirtualHost" tiene que estar asociado a un "Directorios de Archivos" en el servidor, lugar donde se ubica la "Aplicación Web".
  • En Linux, la configuración "Global" de las Aplicaciones/Servicios se ubican en "/etc" y en el caso de Apache Server, su configuración lo encontramos en "/etc/apache2".  Los archivos de configuración de cada "Apache VirtualHost" (Aplicación Web), se ubican en el directorio "/etc/apache2/sites-available".
  • Veamos el siguiente ejemplo:  La Aplicación "https://app000" cuenta con su propio "Apache VirtualHost" "app000.cosysco.network.conf" ubicado en "/etc/apache2/sites-available", el cual tiene parametrizado el directorio "/var/www/app000" donde radica la "Aplicación web", además de otras directivas como el uso de certificado, cifrado y número de puerto a usar (80, 443 entre otros).
Picture
Gráfica 001 - Apache Server & VirtuaHost

¿Qué es HTTPS?
Gráfica 002  -  HTTPS (HTTP sobre TLS/SSL)
  • Wikipedia define HTTPS como un "Protocolo Seguro de Transferencia de Hipertexto", el cual utiliza un cifrado basado en TLS (Transport Layer Security) o su predecesor SSL (Secure Sockets Layer).
  • Para habilitar HTTPS en nuestro Website, es necesario instalar un Certificado Digital en el Servidor y definirlo en las directivas de "Apache VirtualHost" correspondiente al Website.
  • Por lo general, los Certificados son emitidos por entidades reconocidas como DigiCert Inc, GeoTrust Inc, VeriSign entre otros.  Nota:  Para servicios Internos como es el caso de un Servidor Intranet, se recomienda utilizar un Certificado Digital OpenSSL, el cual se genera en el mismo servidor y no tiene costo.
  • ¿Cómo funciona HTTPS?
    • Cada vez que un "Explorador Web Cliente" se conecta a nuestro Website HTTPS, el servicio Apache responde, siguiendo las "Directivas" establecidas en el Archivo de Configuración de "Apache VirtualHost" asociado al Website.
    • Cuando la conexión al Website HTTPS se realiza por primera vez, el Servidor transfiere una copia del "Certificado y Llave Pública" al "Explorador Web Cliente".  Con esta gestión inicia los trámites para establecer una "Sesión Cifrada".
    • El "Explorador Web Cliente" al obtener el "Certificado" procede a revisarlo y después de validar su integridad, genera una "Llave Privada" la cual es utilizada para iniciar una "Sesión Cifrada".
Picture
Gráfica 002  -  HTTPS (HTTP sobre TLS/SSL)

Finalizado "Descripción Apache Server y HTTPS"
Finalizada la lectura de "Apache Server y HTTPS" la cual es importante antes de iniciar con la configuración, vamos a utilizar el Servidor que hemos preparado con LAMP como "Servidor Intranet", el cual simula brindará un conjunto de servicios a nuestra Red Interna, a través de varias Aplicaciones Web.
Laboratorio Servidor Intranet
Gráfica 001  -  Descripción Servidor Intranet
  • El servidor contará con tres Aplicaciones Web independientes, cada uno con una dirección Web Local (URL), Certificado Digital con FNQ "Fully Qualified Name", LLave Pública y "Apache VirtualHost".
  • Aplicaciones Web (Apache VirtualHost) a crear en el siguiente orden:
    • https://app000, resuelve una Página Web simulando una Aplicación Web.
    • https://web000, resuelve una Página Web simulando un Website Informativo.
    • https://intranet, resuelve una Página Web  Directorio con el link de las dos Aplicaciones.
  • Nota:  Los Exploradores Web cuando ingresan a un Website buscan primero el Protocolo HTTP, por esta razón vamos a incluir los pasos para configurar el traslado automático a HTTPS.
Picture
Gráfica 001  -  Descripción Servidor Intranet

1.  Preparar Apache Server
  • La instalación LAMP con "Apache Server", crea automáticamente un Default Website HTTP "Apache VirtualHost", Archivo Configuración "000-default.conf" en "/etc/apache2/sites-available".  Como parte de "Buenas Prácticas de Seguridad" se sugiere desactivar esta Página.  También es necesario activar varios módulos para el Servicio Apache, entre ellos el cifrado SSL.
  • Nota:  Algunos Exploradores Web no muestran todo el contenido del área "PASOS PARA PREPARAR APACHE SERVER", por lo cual se recomienda expandir dos veces hasta observar el mensaje "Finalizado ..."
1.1  PASOS PARA preparar apache server
NOTA:  Algunas personas nos han comentado lo confuso que puede ser para ellos, la configuración a través de "Linea de Comando".  Debido a estas observaciones, sugerimos la instalación de Webmin.
Instalar Webmin          (Opcional)
Webmin, es una potente herramienta para "Administrar Servidores Tipo Linux/Unix", el cual proporciona un Interfaz Web para gestionar configuraciones avanzadas.
 
Para instalar ejecute en una terminal:
Picture
  • sudo apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
  • sudo add-apt-repository 'deb http://download.webmin.com/download/repository sarge contrib'
  • wget -q -O - http://www.webmin.com/jcameron-key.asc | sudo apt-key add -
  • sudo apt update && sudo apt install webmin
  • Nos parece válido el comentario de las personas que inician en Linux respecto a "Lineas de Comando" y las dudas técnicas y en temas de seguridad que puedan surgir.  Sin embargo les podemos asegurar que cada configuración lo hemos evaluado y comprobado en entornos productivos por muchos años.
  • En esta documentación vamos a presentar en primera instancia la configuración vía "Lineas de Comando" y de forma paralela, la misma configuración utilizando Webmin.  En algunos casos va a encontrar que solo existe la opción "Linea de Comando".
  • Para ingresar a Webmin escriba en su explorador Web:
    https://IP-servidor:10000
  •     Línea de Comando / CLI    
  • Webmin
<
>
Picture
1.1.1  Desactivar Configuración Preestablecida "Apache Server":
a2dissite (Apache2 Disable Site) permite desactivar Websites Activo.
  • sudo a2dissite 000-default.conf
  • sudo service apache2 restart
Picture
1.1.2  Activar módulos en Apache Server:
a2enmod (Apache2 Enable Mode) permite habilitar módulos en Apache Server:
  • sudo a2enmod ssl rewrite headers env dir mime setenvif
  • sudo service apache2 restart
1.1.1  Desactivar Configuración Preestablecida "Apache Server":
 
Gráfica 1.1.1.1  -  Actualizar lista de Módulos
  • Anteriormente se agregó LAMP con Apache Server, por esa razón se sugiere actualizar la Lista de Módulos.  Finalizado la actualización presione F5 para refrescar página Webmin.
Picture
Gráfica 1.1.1.1  -  Actualizar lista de Módulos
Gráfica 1.1.1.2  -  Desactivar Web Default
  • Seleccione el "VirtualHost" Default y proceda a Eliminar.  Luego presione el Botón Superior Derecho  "Apply Changes".
 
Picture
Gráfica 1.1.1.2  -  Desactivar Web Default
1.1.2  Activar módulos en Apache Server:
 
Gráfica 1.1.2.1  -  Configurar Módulos A2
  • Para activar módulos de Apache Server, seleccione la siguiente opción:
Picture
Gráfica 1.1.2.1  -  Configurar Módulos A2
Gráfica 1.1.2.2  -  Activar Módulos A2
  • Seleccione los módulos ssl, rewrite, headers, env, dir, mime, setenvif.
Picture
Gráfica 1.1.2.2  -  Activar Módulos A2
1.1.3  Activar Administrador de Certificados Digitales y Llaves
 
Gráfica 1.1.3.1  -  Agregar Módulos Webmin
  • Ingresamos a la opción "Webmin Module" para agregar la herramienta "Administración de Certificados y Llaves Públicas".
Picture
Gráfica 1.1.3.1  -  Agregar Módulos Webmin
Gráfica 1.1.3.2  -  Instalar Certificate Manager
  • Copie y pegue el siguiente link en la casilla descrita en la siguiente pantalla.
  • http://www.webmin.com/download/modules/certmgr.wbm.gz
Picture
Gráfica 1.1.3.2  -  Instalar Certificate Manager
Gráfica 1.1.3.3  -  PKI Certificate and Key Management
  • Finalizado la instalación presione F5 para refrescar página Webmin.  Localice la herramienta para Administrar Certificados.
Picture
Gráfica 1.1.3.3  -  PKI Certificate and Key Management

Finalizado "Preparar Apache Server".

2.  https://app000
  • https://app000 simula una Aplicación de tipo Web, ejemplo:  ECM FengOffice, Monitoreo Zabbix, CMS Wordpress, entre otros.
  • Nota:  Algunos Exploradores Web no muestran todo el contenido del área "PASOS PARA CONFIGURAR HTTPS://APP000", por lo cual se recomienda expandir dos veces hasta observar el mensaje "Finalizado ..."
2.1  PASOS PARA CONFIGURAR HTTPS://APP000
  •     Línea de Comando / CLI    
  • Webmin
<
>
2.1.1  Creación de Certificado Digital y Llave Pública con OpenSSL:
Picture
  • Con el comando openssl generamos el Certificado Digital en "/etc/ssl/certs/" y su Llave Pública en "/etc/ssl/private/".  Tanto el Certificado como la llave se generan con un tiempo válido de 365 días, Criptografía RSA 2048.  Ambos cuentan con el sufijo "app000" para su fácil asignación en las Directivas de "Apache VirtualHost".
  • En el proceso de creación del Certificado Digital, Openssl solicitará información del website, el dato más importante que debe proporcionar es FNQ (Fully Qualified Name).  En este ejemplo le indicamos el nombre del Website y como sufijo el "Nombre del Dominio" de nuestra red, ejemplo:   app000.cosysco.network. 
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "app000" como FNQ.
  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned-app000.key -out /etc/ssl/certs/apache-selfsigned-app000.crt
2.1.2  Crear directorio de "Aplicación Web" y Página Web Bienvenida:
Picture
  • En Ubuntu Server se sugiere el directorio "/var/www" como "Repositorio de Aplicaciones Web".  Por seguridad y fácil configuración de los servicios es conveniente utilizar este directorio.
  • sudo mkdir /var/www/app000
  • sudo touch /var/www/app000/index.html
  • echo -e "<html>\n\t<head>\n\t\t<title>App000 </title>\n\t</head>\n\t<body>\n\t\t<p>Bienvenidos a App000</p>\n\t</body>\n</html>" | sudo tee /var/www/app000/index.html
  • En la configuración preestablecida de Apache Server, se define al Grupo "www-data" para la ejecución de "Aplicaciones Web".  Con el comando chown (Change Owner) efectuamos el cambio de propiedad de "/var/www/app000":
  • sudo chown -R www-data:www-data /var/www/app000
2.1.3  Configuración "Apache VirtualHost"
Picture
  • La configuración de "Apache VirtualHost" depende de los requisitos de la "Aplicación Web".  En este ejemplo vamos a crear un archivo con el nombre "app000.cosysco.network.conf" el cual contendrá dos "Apache VirtualHost".  
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "app000.conf".
  • sudo vi /etc/apache2/sites-available/app000.cosysco.network.conf
  • APP000  --  Configuración HTTP/80 y HTTPS/443
    Agregamos al archivo las siguientes Directivas las cuales responde a toda petición del website http://app000 y lo traslada hacia su versión HTTPS.
    NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "app000".
APP000  --  Configuración HTTP/80 y HTTPS/443

    
  • Grabar y Salir escriba:  :wq!   [Enter]
  • Cancelar y Salir escriba:   :q!   [Enter]
2.1.4  Habilitar Aplicación Web:
Picture
  • El siguiente paso es activar el Website y revisar  que no existan errores.
  • cd /etc/apache2/sites-available/
  • sudo a2ensite app000.cosysco.network.conf
  • sudo apache2ctl configtest
  • sudo service apache2 restart

  • sudo apache2ctl -S
2.1.1  Creación de Certificado Digital y Llave Pública con OpenSSL:
  • Generamos el Certificado Digital en "/etc/ssl/certs/" y su Llave Pública en "/etc/ssl/private/".  Tanto el Certificado como la llave se generan con un tiempo válido de 365 días, Criptografía RSA 2048.  Ambos cuentan con el sufijo "app000" para su fácil asignación en las Directivas de "Apache VirtualHost".
  • En el proceso de creación del Certificado Digital, Openssl solicitará información del website, el dato más importante que debe proporcionar es FNQ (Fully Qualified Name).  En este ejemplo le indicamos el nombre del Website y como sufijo el "Nombre del Dominio" de nuestra red, ejemplo:   app000.cosysco.network. 
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "app000" como FNQ.
Gráfica 2.1.1.1  -  Certificados y Llaves Públicas
  • Ingresamos al Administra de Certificados Digitales y Llaves Públicas "PKI Certificate and Key Management"
 
Picture
Gráfica 2.1.1.1  -  Certificados y Llaves Públicas
Gráfica 2.1.1.2  -  Generar Certificado y Llave
  • Se sugiere tomar en cuenta la datos ingresados en pantalla.  Más información en 2.1.1.3 Información Técnica "Gráfica 2.1.1.2 - Generar Certificado y Llave"
Picture
Gráfica 2.1.1.2  -  Generar Certificado y Llave
2.1.1.3  - Información Técnica "Gráfica 2.1.1.2 - Generar Certificado y Llave"
  • Certificate File Name: Ubicación y nombre de "Certificado digital", ingrese la siguiente dirección y nombre de archivo:  /etc/ssl/certs/apache-selfsigned-app000.crt
  • Key file name:  Ubicación y nombre del "Llave Pública", ingrese la siguiente dirección y nombre de archivo: /etc/ssl/private/apache-selfsigned-app000.key
  • Key/Certificate pair file name:   Ubicación y nombre del "Key Pair", ingrese la siguiente dirección y nombre de archivo: /etc/ssl/private/apache-selfsigned-app000.pem
  • Password:  Se recomienda dejar en Blanco.
  • Confirm Password:  Se recomienda dejar en Blanco.
  • Key size (in bits):   Seleccione 2048.
  • Certificate valid for (days):   Se recomienda 365 días.
  • Common Name (eg. host name):  En este ejemplo se ingresa app000.cosysco.network
    NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "app000" como FNQ.
  • Rellene los siguientes campos con la información de su organización.
  • Por última haga clic en "Generate Key".
2.1.2  Crear directorio de "Aplicación Web" y Página Web Bienvenida:
 
Gráfica 2.1.2.1  -  /var/www/app000
  • Con "File Manager" ingresamos a "/var/www" y creamos el directorio "app000".
Picture
Gráfica 2.1.2.1  -  /var/www/app000
Gráfica 2.1.2.2  -  Crear archivo index.html
  • Dentro del directorio "app000" creamos el archivo "index.html", página principal Aplicación Web.
Picture
Gráfica 2.1.2.2  -  Crear archivo index.html
Gráfica 2.1.2.3  -  Editar index.html
  • Con el Clic Alterno sobre el archivo "index.html", seleccionamos "Edit" y agregamos el contenido HTML de lado izquierdo.
Picture
Gráfica 2.1.2.3  -  Editar index.html
Contenido HTML index.html
 
<html>
<head>
<title>App000</title>
</head>
<body>
<p>Bienvenidos a App000</p>
</body>
</html>
Gráfica 2.1.2.4  -  Asignar www-data
  • Con el Clic Alterno sobre el directorio "app000", seleccione Properties -> Change Ownership.  A continuación establezca en Usuario y Grupo "www-data" y seleccione aplicar de forma recursiva.
  • Con esta acción se deja establecido que el propietario del Directorio y su contenido es el grupo www-data.
Picture
Gráfica 2.1.2.4  -  Asignar  www-data
2.1.3  Configuración "Apache VirtualHost":
 
Gráfica 2.1.3.1  -  VirtualHost HTTP/80
  • VirtualHost asociado a HTTP/80 para "app000.cosysco.network".
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.
Picture
Gráfica 2.1.3.1  -  VirtualHost HTTP/80
Gráfica 2.1.3.2  -  VirtualHost HTTPS/443
  • VirtualHost asociado a HTTPS/443 para "app000.cosysco.network".
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.
Picture
Gráfica 2.1.3.2  -  VirtualHost HTTPS/443
Gráfica 2.1.3.3  -  Reemplazar Directivas
  • Editamos cada VirtualHost para reemplazar la directivas.
Picture
Gráfica 2.1.3.3  -  Reemplazar Directivas
Gráfica 2.1.3.4  -  Reemplazar Directivas
  • "Edit Directive" le permite modificar las directivas del "VirtualHost" seleccionado.
Picture
Gráfica 2.1.3.4  -  Reemplazar Directivas

Desde la Gráfica 2.1.3.3 editamos los VirtualHost de "app000.cosysco.network":

Seleccione "VirtualHost Port 80" y luego presione "Edit Directives".
  • REEMPLACE toda la configuración con las "Directivas" sugeridas en el editor Gris "APP000 -- Configuración HTTP/80 y HTTPS/443".
  • Seleccione y haga copia desde "# |----- Inicio Directivas HTTP Puerto 80  ------|"
  • Hasta "# |----- Fin Directivas HTTP Puerto 80  ------|"
 
Seleccione "VirtualHost Port 443" y luego presione "Edit Directives".
  • REEMPLACE toda la configuración con las "Directivas" sugeridas en el editor Gris "APP000 -- Configuración HTTP/80 y HTTPS/443".
  • Seleccione desde "# |----- Inicio Directivas HTTPS Puerto 443  ------|"
  • Hasta "# |----- Fin Directivas HTTPS Puerto 443  ------|"
APP000  --  Configuración HTTP/80 y HTTPS/443

    
2.1.4  Habilitar Aplicación Web:
 
2.1.4.1  -  Reiniciar "Apache Service"
  • En la parte superior Derecha de la Pantalla, seleccione el botón "Stop Apache", después presione "Start Apache".  El servicio debe de iniciar sin inconvenientes.
Picture
2.1.4.1  -  Reiniciar "Apache Service"

Finalizado configuración https://app000

3.  https://web000
  • https://web000 simula un Website informativo estático, ejemplo:  Website de Noticias html5, Video Streaming, entre otros.
  • Nota:  Algunos Exploradores Web no muestran todo el contenido del área "PASOS PARA CONFIGURAR HTTPS://WEB000", por lo cual se recomienda expandir dos veces hasta observar el mensaje "Finalizado ..."
3.1  Pasos para configurar https://web000
  •     Línea de Comando / CLI    
  • Webmin
<
>
3.1.1  Creación de Certificado Digital y Llave Pública con OpenSSL:
Picture
  • En el proceso de creación del Certificado Digital, Openssl solicitará información del website, el dato más importante que debe proporcionar es FNQ (Fully Qualified Name).  En este ejemplo le indicamos el nombre del Website y como sufijo el "Nombre del Dominio" de nuestra red, ejemplo:   web000.cosysco.network. 
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "web000" como FNQ.
  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned-web000.key -out /etc/ssl/certs/apache-selfsigned-web000.crt
3.1.2  Crear directorio de "Aplicación Web" y Página Web Bienvenida:
Picture
  • sudo mkdir /var/www/web000
  • sudo touch /var/www/web000/index.html
  • echo -e "<html>\n\t<head>\n\t\t<title>Web000 </title>\n\t</head>\n\t<body>\n\t\t<p>Bienvenidos a Web000</p>\n\t</body>\n</html>" | sudo tee /var/www/web000/index.html
  • sudo chown -R www-data:www-data /var/www/web000
3.1.3  Configuración "Apache VirtualHost":
Picture
  • sudo vi /etc/apache2/sites-available/web000.cosysco.network.conf
NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio se sugiere omitirlo en los parámetros.
WEB000  --  Configuración HTTP/80 y HTTPS/443

    
3.1.4  Habilitar Aplicación Web:
Picture
  • cd /etc/apache2/sites-available/
  • sudo a2ensite web000.cosysco.network.conf
  • sudo apache2ctl configtest
  • sudo service apache2 restart
     
    sudo apache2ctl -S
3.1.1  Creación de Certificado Digital y Llave Pública con OpenSSL:
  • Generamos el Certificado Digital en "/etc/ssl/certs/" y su Llave Pública en "/etc/ssl/private/".  Tanto el Certificado como la llave se generan con un tiempo válido de 365 días, Criptografía RSA 2048.  Ambos cuentan con el sufijo "web000" para su fácil asignación en las Directivas de "Apache VirtualHost".
  • En el proceso de creación del Certificado Digital, Openssl solicitará información del website, el dato más importante que debe proporcionar es FNQ (Fully Qualified Name).  En este ejemplo le indicamos el nombre del Website y como sufijo el "Nombre del Dominio" de nuestra red, ejemplo:   web000.cosysco.network. 
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "web000" como FNQ.
Gráfica 3.1.1.1  -  Certificados y Llaves Públicas
  • Ingresamos al Administra de Certificados Digitales y Llaves Públicas "PKI Certificate and Key Management".
Picture
Gráfica 3.1.1.1  -  Certificados y Llaves Públicas
Gráfica 3.1.1.2  -  Generar Certificado y Llave
  • Se sugiere tomar en cuenta la datos ingresados en pantalla.  Más información en 3.1.1.3 Información Técnica "Gráfica 3.1.1.2 Generar Certificado y Llave"
Picture
Gráfica 3.1.1.2  -  Generar Certificado y Llave
3.1.1.3  - Información Técnica "Gráfica 3.1.1.2 - Generar Certificado y Llave"
  • Certificate File Name: Ubicación y nombre de "Certificado digital", ingrese la siguiente dirección y nombre de archivo:  /etc/ssl/certs/apache-selfsigned-web000.crt
  • Key file name:  Ubicación y nombre del "Llave Pública", ingrese la siguiente dirección y nombre de archivo: /etc/ssl/private/apache-selfsigned-web000.key
  • Key/Certificate pair file name:   Ubicación y nombre del "Key Pair", ingrese la siguiente dirección y nombre de archivo: /etc/ssl/private/apache-selfsigned-web000.pem
  • Password:  Se recomienda dejar en Blanco.
  • Confirm Password:  Se recomienda dejar en Blanco.
  • Key size (in bits):   Seleccione 2048.
  • Certificate valid for (days):   Se recomienda 365 días.
  • Common Name (eg. host name):  En este ejemplo se ingresa web000.cosysco.network
    NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "web000" como FNQ.
  • Rellene los siguientes campos con la información de su organización.
  • Por última haga clic en "Generate Key".
3.1.2  Crear directorio de "Aplicación Web" y Página Web Bienvenida:
Gráfica 3.1.2.1  -  /var/www/web000
  • Con "File Manager" ingresamos a "/var/www" y creamos el directorio "web000".
Picture
Gráfica 3.1.2.1  -  /var/www/web000
Gráfica 3.1.2.2  -  Crear archivo index.html
  • Dentro del directorio "web000" creamos el archivo "index.html", página principal Website Informativo.
Picture
Gráfica 3.1.2.2  -  Crear archivo index.html
Gráfica 3.1.2.3  -  Editar index.html
  • Con el Clic Alterno sobre el archivo "index.html", seleccionamos "Edit" y agregamos el contenido HTML de lado izquierdo.
Picture
Gráfica 3.1.2.3  -  Editar index.html
Contenido HTML index.html
 
<html>
<head>
<title>Web000</title>
</head>
<body>
<p>Bienvenidos a Web000</p>
</body>
</html>
Gráfica 3.1.2.4  -  Asignar  www-data
  • Con el Clic Alterno sobre el directorio "web000", seleccione Properties -> Change Ownership.  A continuación establezca en Usuario y Grupo "www-data" y seleccione aplicar de forma recursiva.
  • Con esta acción se deja establecido que el propietario del Directorio y su contenido es el grupo www-data.
Picture
Gráfica 3.1.2.4  -  Asignar  www-data
3.1.3  Configuración "Apache VirtualHost":
Gráfica 3.1.3.1  -  VirtualHost HTTP/80
  • VirtualHost asociado a HTTP/80 para "web000.cosysco.network".
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.
Picture
Gráfica 3.1.3.1  -  VirtualHost HTTP/80
Gráfica 3.1.3.2  -  VirtualHost HTTPS/443
  • VirtualHost asociado a HTTPS/443 para "web000.cosysco.network".
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.
Picture
Gráfica 3.1.3.2  -  VirtualHost HTTPS/443
Gráfica 3.1.3.3  -  Reemplazar Directivas
  • Editamos cada VirtualHost para reemplazar la directivas.
Picture
Gráfica 3.1.3.3  -  Reemplazar Directivas
Gráfica 3.1.3.4  -  Reemplazar Directivas
  • "Edit Directive" le permite modificar las directivas del "VirtualHost" seleccionado.
Picture
Gráfica 3.1.3.4  -  Reemplazar Directivas

Desde la Gráfica 3.1.3.3 editamos los VirtualHost de "web000.cosysco.network":

Seleccione "VirtualHost Port 80" y luego presione "Edit Directives".
  • REEMPLACE toda la configuración con las "Directivas" sugeridas en el editor Gris "WEB000 -- Configuración HTTP/80 y HTTPS/443".
  • Seleccione y haga copia desde "# |----- Inicio Directivas HTTP Puerto 80  ------|"
  • Hasta "# |----- Fin Directivas HTTP Puerto 80  ------|"
  
Seleccione "VirtualHost Port 443" y luego presione "Edit Directives".
  • REEMPLACE toda la configuración con las "Directivas" sugeridas en el editor Gris "WEB000 -- Configuración HTTP/80 y HTTPS/443".
  • Seleccione desde "# |----- Inicio Directivas HTTPS Puerto 443  ------|"
  • Hasta "# |----- Fin Directivas HTTPS Puerto 443  ------|"
WEB000  --  Configuración HTTP/80 y HTTPS/443

    

3.1.4  Habilitar Aplicación Web:
  
3.1.4.1  -  Reiniciar "Apache Service"
  • En la parte superior Derecha de la Pantalla, seleccione el botón "Stop Apache", después presione "Start Apache".  El servicio debe de iniciar sin inconvenientes.
Picture
3.1.4.1  -  Reiniciar "Apache Service"

Finalizado configuración https://web000

4.  https://intranet
  • https://intranet simula una Página Directorio el cual contiene las aplicaciones disponibles en el Servidor Intranet.
  • Nota:  Algunos Exploradores Web no muestran todo el contenido del área "PASOS PARA CONFIGURAR HTTPS://INTRANET", por lo cual se recomienda expandir dos veces hasta observar el mensaje "Finalizado ..."
4.1  PASOS PARA CONFIGURAR HTTPS://INTRANET
  •     Línea de Comando / CLI    
  • Webmin
<
>
4.1.1  Creación de Certificado Digital y Llave Pública con OpenSSL:
Picture
  • En el proceso de creación del Certificado Digital, Openssl solicitará información del website, el dato más importante que debe proporcionar es FNQ (Fully Qualified Name).  En este ejemplo le indicamos el nombre del Website y como sufijo el "Nombre del Dominio" de nuestra red, ejemplo:   intranet.cosysco.network. 
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "intranet" como FNQ.
  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned-intranet.key -out /etc/ssl/certs/apache-selfsigned-intranet.crt
4.1.2  Crear directorio de "Aplicación Web" y Página Web Bienvenida:
Picture
  • sudo mkdir /var/www/intranet
  • sudo touch /var/www/intranet/index.html
  • echo -e "<html>\n\t<head>\n\t\t<title>Intranet </title>\n\t</head>\n\t<body>    \n\t\t<p>Bienvenidos al Servidor Intranet</p>\n\t\t<br>\n\t\t<a href="http://app000" target="_blank">Website App000</a><br><br>\n\t\t<a href="http://web000" target="_blank">Website Web000</a>\n\t</body>\n</html>" | sudo tee /var/www/intranet/index.html
  • sudo chown -R www-data:www-data /var/www/intranet
4.1.3  Configuración "Apache VirtualHost":
Picture
  • sudo vi /etc/apache2/sites-available/intranet.cosysco.network.conf
  • NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio se sugiere omitirlo en los parámetros.
INTRANET  --  Configuración HTTP/80 y HTTPS/443

    
4.1.4  Habilitar Aplicación Web:
Picture
  • cd /etc/apache2/sites-available/
  • sudo a2ensite intranet.cosysco.network.conf
  • sudo apache2ctl configtest
  • sudo service apache2 restart
     
    sudo apache2ctl -S
Por último, la creación de HTTPS://INTRANET, lo vamos a abordar como un ejercicio de comprobación de uso de Webmin.   Presentamos los valores que debe tomar en cuenta en el proceso.
   
4.1.1  Creación de Certificado Digital y Llave Pública con OpenSSL:
  • Certificate File Name: Ubicación y nombre de "Certificado digital", ingrese la siguiente dirección y nombre de archivo:  /etc/ssl/certs/apache-selfsigned-intranet.crt
  • Key file name:  Ubicación y nombre del "Llave Pública", ingrese la siguiente dirección y nombre de archivo: /etc/ssl/private/apache-selfsigned-intranet.key
  • Key/Certificate pair file name:   Ubicación y nombre del "Key Pair", ingrese la siguiente dirección y nombre de archivo: /etc/ssl/private/apache-selfsigned-intranet.pem
  • Password:  Se recomienda dejar en Blanco.
  • Confirm Password:  Se recomienda dejar en Blanco.
  • Key size (in bits):   Seleccione 2048.
  • Certificate valid for (days):   Se recomienda 365 días.
  • Common Name (eg. host name):  En este ejemplo se ingresa intranet.cosysco.network
    NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio, utilice únicamente el nombre "web000" como FNQ.
  • Rellene los siguientes campos con la información de su organización.
  • Por última haga clic en "Generate Key".
   
4.1.2  Crear directorio de "Aplicación Web" y Página Web Bienvenida:
  • Crear Directorio en "/var/www/" con el nombre:   intranet
  • Crear dentro del Directorio "/var/www/intranet" un archivo con nombre:   index.html
  • Copiar en index.html el siguiente contenido:

    <html>
    <head>
    <title>Intranet</title>
    </head>
    <body>
    <p>Bienvenidos al Servidor Intranet</p><br>
    <a href="http://app000" target="_blank">Website App000</a><br><br>
    <a href="http://web000" target="_blank">Website Web000</a>
    </body>
    </html>

       
  • No olvidar cambiar el "Propietario (Owner)" del Directorio "intranet" y su contenido, al grupo "www-data".
   
4.1.3  Configuración "Apache VirtualHost":

  • Crear VirtualHost para "intranet.cosysco.network" puerto 80.
  • Crear VirtualHost para "intranet.cosysco.network" puerto 443.

    Editamos los VirtualHost de "intranet.cosysco.network":
  • Seleccione "VirtualHost Port 80" y luego presione "Edit Directives".
    • REEMPLACE toda la configuración con las "Directivas" sugeridas en el editor Gris "INTRANET -- Configuración HTTP/80 y HTTPS/443".
    • Seleccione y haga copia desde "# |----- Inicio Directivas HTTP Puerto 80  ------|"
    • Hasta "# |----- Fin Directivas HTTP Puerto 80  ------|" 
  • Seleccione "VirtualHost Port 443" y luego presione "Edit Directives".
    • REEMPLACE toda la configuración con las "Directivas" sugeridas en el editor Gris "INTRANET -- Configuración HTTP/80 y HTTPS/443".
    • Seleccione desde "# |----- Inicio Directivas HTTPS Puerto 443  ------|"
    • Hasta "# |----- Fin Directivas HTTPS Puerto 443  ------|"
INTRANET  --  Configuración HTTP/80 y HTTPS/443

    

4.1.4  Habilitar Aplicación Web:

4.1.4.1  -  Reiniciar "Apache Service"
  • En la parte superior Derecha de la Pantalla, seleccione el botón "Stop Apache", después presione "Start Apache".  El servicio debe de iniciar sin inconvenientes.
Picture
4.1.4.1  -  Reiniciar "Apache Service"

Finalizado configuración https://intranet

5.  Revisar Websites y Certificados
  • El siguiente paso es comprobar el correcto funcionamiento de las Aplicaciones Web.  Se asume que se ha agregado el nombre de los Websites en algún "Servidor de Nombres DNS Local".  Si necesita instalar un Servidor DNS, le recomendamos ver de cerca Nethserver:  Nethserver Small Business PDC.
  • Si no cuenta con un Servidor Local DNS, puede configurar de forma manual la "Resolución de Nombres", en su estación de trabajo.  Más información en el siguiente Link:  RackSpace - Modify your hosts file.
  • En este ejemplo utilizamos una estación de trabajo Linux, ejecutamos en una terminal:
  • sudo vi /etc/hosts
  • Agregue la siguiente Información:
  • direccion.ip.servidor.intranet    app000.cosysco.network    app000
  • direccion.ip.servidor.intranet    web000.cosysco.network   web000
  • direccion.ip.servidor.intranet    intranet.cosysco.network    intranet

    NOTA:  Reemplace "cosysco.network" con el Nombre del Dominio de su Red.  En caso de no contar con un Dominio se sugiere omitirlo en los parámetros.
Gráfica 5.1  -  Revisar Websites y Certificados
  • Con un Explorador Web, ingresamos al website "INTRANET" utilizando HTTP, para validar el traslado automático a HTTPS:

    http://intranet

  • Después de ingresar al website "INTRANET", "APP000" y "WEB000", Se sugiere revisar los certificados para así comprender la razón de tener certificados independientes.
Picture
Gráfica 5.1  -  Revisar Websites y Certificados

Finalizado Configurar HTTPS

Regresar

Picture

    Comentarios y Sugerencias son Bienvenidos

    Por favor ingrese su nombre completo.
    Ingrese un Email válido.
    Sus comentarios y sugerencias son bienvenidos.
Enviar
Editor:
Juan Estuardo Hernandez

Consultor Software Libre,
Organización y Métodos.

Acumular información es sólo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad.
Henry Louis Gates, Jr.


Condiciones de uso:

El contenido del website 911-ubuntu y este artículo en particular, es “Libre” y puede ser consultado por quien lo desee.

Por favor “No haga copias de nuestros artículos”.   Si desea compartirlo puede referir nuestras publicaciones como un enlace (Link), así las personas interesadas obtendrá nuestras últimas actualizaciones.

Como todo en la vida, nada es perfecto, así que si observas algún error o  desea mejorar el contenido de estos artículos, puede enviarnos un mensaje el cual será bienvenido.  (Formulario al pie de página).


Gracias por continuar consultando 911-Ubuntu para Entorno de Oficina y Redes Corporativas.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License
Powered by Create your own unique website with customizable templates.
  • Principal
  • Ubuntu Oficina
  • Servidores
    • nethserver
    • Proxmox
    • Zabbix
    • fengoffice
    • ubuntu-server >
      • Control remoto
  • Links
  • Principal
  • Ubuntu Oficina
  • Servidores
    • nethserver
    • Proxmox
    • Zabbix
    • fengoffice
    • ubuntu-server >
      • Control remoto
  • Links