Para los administradores de sistemas, Webmin es una bendición. Es un panel de control basado en web que permite administrar una máquina Linux de forma remota, utilizando una interfaz web moderna. Webmin puede cambiar varias configuraciones del sistema sobre la marcha, incluyendo servidores web y bases de datos. También puede administrar usuarios, grupos y paquetes de software.
En esta guía, te guiaremos a través de los pasos para instalar y configurar Webmin en Ubuntu 18.04.
Webmin en Ubuntu
Aunque Webmin es una herramienta popular para los administradores de sistemas, no está disponible en los repositorios oficiales de Ubuntu. Afortunadamente, Webmin tiene un PPA dedicado para Ubuntu. Se encarga de mantener el software actualizado. Aquí están los requisitos previos que necesitarás antes de comenzar:
- Necesitarás un servidor Ubuntu con un usuario sudo no root y un cortafuegos. Consulta cómo instalar tu servidor Ubuntu aquí, y cómo configurar tu usuario sudo aquí.
- Debido a la naturaleza de Webmin, es importante proteger el acceso de manos no deseadas. Por defecto, Webmin viene con un puñado de características de seguridad. En esta guía, sin embargo, Webmin se protegerá utilizando Let’s Encrypt y Apache. Sigue este tutorial para instalar tu servidor Apache.
- Para el siguiente tutorial, también necesitas tener un FQDN con un registro DNS que apunte a la dirección IP del servidor.
- También necesitarás Certbot, del cual puedes seguir cómo instalarlo desde el Paso 1 de nuestro tutorial de Asegurar Apache con Let’s Encrypt en Ubuntu 18.04. Utilizarás Certbot para crear el certificado TLS/SSL para Webmin.
¡Ahora, comencemos!
Instalar Webmin en Ubuntu
Para instalar Webmin, necesitamos añadir el PPA de Webmin. Primero, asegúrate de que el sistema contenga todas las dependencias necesarias:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
A continuación, importa la clave PGP de Webmin:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Finalmente, añade el repositorio de Webmin:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
APT ahora puede reconocer el PPA de Webmin. Actualiza la caché de APT:
|
1 |
sudo apt update |
Finalmente, instala Webmin:
|
1 |
sudo apt install webmin |
Una vez completada la instalación, se mostrará algo como esto, indicando que se puede acceder directamente a Webmin a través del siguiente enlace. En este ejemplo, se está utilizando el nombre de host de mi sistema:
|
1 |
https://localhost:10000 |
Indica que para tener un control total sobre el sistema utilizando Webmin, el usuario tiene que conocer la contraseña de root. Sin embargo, eso no es suficiente para asegurar algo tan sensible como Webmin. Lo colocaremos detrás del servidor web Apache con un certificado TLS/SSL válido como mencionamos anteriormente.
Asegurar Webmin
Para acceder a Webmin, el método predeterminado es tener el puerto 10000 abierto. En nuestro caso, esto no es óptimo. Para solucionar el problema, vamos a configurar un host virtual de Apache como proxy para el servidor de Webmin que se ejecuta en el puerto 10000. Luego, el host virtual se asegurará utilizando un certificado TLS/SSL obtenido de Let’s Encrypt. Este procedimiento requiere que hayas instalado y configurado correctamente el servidor web Apache y Certbot.
- Crear un nuevo host virtual de Apache
El nuevo host virtual se definirá mediante su archivo de configuración. Abre el archivo de configuración en el editor de texto de tu elección:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
En el archivo, añade las siguientes líneas:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Le indica a Apache que pase las solicitudes que llegan al host virtual al servidor Webmin en la siguiente ubicación. También garantiza que los enlaces internos generados por Webmin pasen a través de Apache.
- Deshabilitar Webmin TLS/SSL
Debido a que vamos a configurar Apache con TLS/SSL, no es necesario que Webmin tenga su propio TLS/SSL. Se recomienda deshabilitar esta función desde Webmin. A continuación, abra el archivo de configuración de Webmin en el editor de texto de su elección:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
A continuación, busque la siguiente línea:
|
1 |
ssl=1 |
Aquí, el valor “1” indica que Webmin tiene SSL habilitado. A continuación, establezca el valor en “0” para deshabilitar el SSL de Webmin.
- Agregar el dominio a Webmin
Por defecto, Webmin no permitiría que nuestro dominio acceda a él. Esto se debe a que dicho acceso puede ser parte de un ataque malicioso, por ejemplo, un ataque de Cross-Site Scripting (XSS).
Para garantizar que Webmin permita nuestro dominio, este debe declararse en la configuración de Webmin. Abra el archivo de configuración con su editor de texto favorito:
|
1 |
sudo vim /etc/webmin/config |
Al final del texto, agregue la siguiente línea:
|
1 |
referers=<domain> |
Después de eso, guarde el texto, salga del editor y reinicie el servicio Webmin para que todos los cambios surtan efecto:
|
1 |
sudo systemctl restart webmin |
- Configuración de Apache
Necesitamos el módulo proxy_http de Apache. El siguiente comando lo habilitará:
|
1 |
sudo a2enmod proxy_http |
Sugiere reiniciar Apache. Sin embargo, primero debe habilitar el nuevo host virtual:
|
1 |
sudo a2ensite <domain> |
Finalmente, reinicie Apache. Esto habilitará el módulo y el host virtual:
|
1 |
sudo systemctl restart apache2 |
El siguiente comando configurará el cortafuegos para permitir el tráfico entrante en los puertos 80 y 443 (puertos predeterminados de Apache para el tráfico HTTP/HTTPS):
|
1 |
sudo ufw allow in "Apache Full" |
Para verificar que la configuración funcionó correctamente, vaya a su dominio. Debería aparecer la página de inicio de sesión de Webmin. Sin embargo, NO inicie sesión en Webmin. Como TLS/SSL aún no se ha implementado, se comunicará a través de HTTP, enviando todos los datos en formato de texto plano:
|
1 |
http://<domain> |
- Configuración de TLS/SSL
Necesitamos un certificado para nuestro dominio para que la conexión esté cifrada. Para hacerlo, utilizaremos Let’s Encrypt. Es una autoridad de certificación (CA) gratuita, automatizada y abierta. Funciona en beneficio del público, proporcionada por el Internet Security Research Group (ISRG).
Para generar el certificado, certbot es la herramienta a utilizar en la terminal. Ejecute el siguiente comando de certbot para generar un certificado TLS/SSL para su dominio y configurar Apache para redirigir el tráfico al sitio seguro:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
La salida se verá así:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Guardando depuración registro en /var/log/letsencrypt/letsencrypt.log Complementos seleccionados: Autenticador apache, Instalador apache Obteniendo un nuevo certificado Realizando los siguientes desafíos: http-01 desafío para <domain> Habilitado Apache rewrite módulo Esperando por verificación... Limpiando up desafíos Creado un SSL vhost en /etc/apache2/sites-available/<domain>-le-ssl.conf Habilitado Apache socache_shmcb módulo Habilitado Apache ssl módulo Desplegando Certificado en VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf Habilitando disponible sitio: /etc/apache2/sites-available/<domain>-le-ssl.conf Habilitado Apache rewrite módulo Redireccionando vhost en /etc/apache2/sites-enabled/<domain>.conf a ssl vhost en /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- Felicidades! Has have con éxito habilitado https://<domain> Deberías should probar tu configuración en: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Indica que la instalación del certificado se realizó con éxito y que Apache se configuró correctamente para redirigir las solicitudes desde http://<domain> a https://<domain>.
Usando Webmin
Finalmente, estamos listos para administrar el sistema usando Webmin. Abra el dominio de Webmin desde un navegador web e inicie sesión como usuario root (o cualquier otro usuario con privilegios de sudo).
- Administración de usuarios y grupos
Primero, veamos cómo administrar usuarios y grupos usando Webmin. Desde el panel izquierdo, vaya a System >> Users and Groups:

Para crear un nuevo usuario, haga clic en Crear un nuevo usuario:

Después de eso, complete la información requerida para el nuevo usuario. Haga clic en Crear para finalizar el procedimiento:

- Actualizaciones de paquetes
Webmin también puede buscar actualizaciones de paquetes disponibles. Desde el panel izquierdo, haga clic en el Dashboard icono:

El Dashboard presentará un resumen rápido de las estadísticas del sistema. En la sección System Information, busque la etiqueta Package updates . Informará si hay alguna actualización disponible para algún paquete.
Alternativamente, desde el panel izquierdo, vaya a System >> Software Package Updates. En la pestaña Package Updates , Webmin informará de todos los paquetes que tienen actualizaciones disponibles:

En la pestaña Scheduled Upgrades , Webmin ofrece la opción de automatizar la instalación de actualizaciones de paquetes:

A continuación, debajo de la pestaña Package Repositories , Webmin ofrece una manera fácil de administrar todos los repositorios de paquetes configurados en el sistema:
- Ejecución de comandos personalizados
Aunque Webmin ofrece una gran cantidad de opciones y personalizaciones, todavía hay cosas que deben hacerse manualmente. Webmin puede ejecutar cualquier comando de shell. Para ejecutar un comando, desde el panel izquierdo, vaya a Tools >> Command Shell:

A continuación, ingrese el comando deseado y haga clic en Execute command para ejecutarlo:

¿Ejecuta ciertos comandos con regularidad? Considere marcarlos en Webmin. Desde el panel izquierdo, vaya a Tools >> Custom Commands. Ya no es necesario escribir esos comandos manualmente:

- Administración de Apache
Además, si hay algún motor de servidor instalado, Webmin puede gestionarlo. Para este ejemplo, utilizamos Apache. Para gestionar Apache a través de Webmin, vaya a Servidores >> Apache:

Consideraciones finales
Webmin es una herramienta muy útil para gestionar todo su sistema. Ofrece una forma cómoda de hacer cosas que normalmente requerirían una aburrida interacción con la pantalla de la consola. Además, le ayuda a organizar minuciosamente su sistema. Esta guía muestra las aplicaciones más útiles de Webmin. Siéntase libre de explorar la wiki oficial de Webmin para obtener más información sobre cómo utilizar la herramienta para su mayor beneficio.
¡Feliz computación!



Comentarios
Aún no hay comentarios. Sea el primero.