Configuración inicial de un servidor con Ubuntu 20.04

Configuración inicial de un servidor con Ubuntu 20.04

Desde sus inicios a mediados de la década de 2000, Ubuntu ha escalado rápidamente posiciones en la lista de distribuciones Linux preferidas para escritorio y servidor. Tanto usuarios hogareños como desarrolladores de software y administradores de sistemas eligen a menudo este sistema operativo por su robustez y facilidad de uso. En este artículo vas a aprender cómo llevar a cabo la configuración inicial de un servidor con Ubuntu 20.04 haciendo énfasis en la seguridad de este.

Requisitos previos

Antes de proseguir con la lectura de esta guía, asegúrate de haber completado los siguientes puntos previamente:

  1. Tener un cloud server activo y funcionando en tu cuenta de Donweb. Si necesitas ayuda para hacerlo, te recomendamos repasar nuestro artículo Instalar mi Cloud Server.
  2. Instalar la imagen de Ubuntu 20.04 en dicho servidor.

Paso 1: Acceder al servidor por primera vez

Para acceder al servidor por primera vez, haz clic en Cloud Servers dentro de tu Área de Cliente de Donweb y luego en Gestionar:

Una de las alternativas para conectarte a tu servidor por primera vez es la consola VNC que se abre en el mismo navegador web. La otra opción es hacerlo a través de un cliente SSH como Putty o MobaXterm. En este caso, vamos a completar el próximo paso desde la consola y luego utilizaremos Putty para realizar el resto de las tareas. Si ya estás utilizando una terminal de Linux o similar, podrás conectarte también utilizando el comando ssh.

Paso 2: Crear un usuario con acceso limitado

Al abrir la consola, debes ingresar con la cuenta de root utilizando la contraseña correspondiente. Estos datos siempre están disponibles en la sección Software y Accesos dentro de la pestaña SSH. Además del nombre de usuario y su contraseña, en este apartado también aparecen el nombre de host del servidor, la dirección IP pública y el puerto que utilizaremos luego:

A pesar de que el puerto SSH por defecto es el 22/TCP, los servidores de Donweb utilizan uno distinto como medida inicial de seguridad.

Como siguiente paso, ingresa los siguientes comandos para crear un nuevo usuario con permisos limitados. Como resultado, dispondrás de una cuenta propia para realizar tareas personales la mayor parte del tiempo, junto con la posibilidad de acceder a tareas administrativas cuando lo necesites. Aunque en este artículo utilizamos gabriel para ilustrar, puedes elegir otro nombre de usuario de tu preferencia.

adduser gabriel
usermod -aG sudo gabriel
Creación de una nueva cuenta de usuario durante la configuración inicial de un servidor con Ubuntu 20.04

El primer comando agrega la cuenta luego de ingresar la contraseña y otros datos (estos últimos opcionales), mientras que el segundo la agrega al grupo sudo. De esta forma, al escribir sudo seguido de un comando, este se ejecutará con permisos de administrador.

El uso descuidado de sudo puede acarrear las mismas consecuencias drásticas que en el caso de la cuenta de root. Entre ellas podemos mencionar la eliminación accidental de archivos y la otorgación de permisos o accesos que faciliten la vulnerabilidad del sistema. Por otro lado, emplear apropiadamente este recurso provee dos ventajas. En primer lugar, agrega una protección adicional contra errores involuntarios y además registra en /var/log/auth.log las operaciones realizadas con propósitos de auditoría.

Paso 3: Ingresar al servidor con el nuevo usuario

Para ingresar al servidor con el nuevo usuario empleando Putty, crea una sesión con los datos de acceso. Como mencionamos anteriormente, estos incluyen la dirección IP pública o el nombre del servidor y el puerto TCP correspondiente. En el primer intento de conexión, verás un diálogo que te solicitará aceptar la identificación del servidor remoto antes de abrir la sesión. A continuación, podrás ingresar tu nombre de usuario y contraseña.

En caso de que utilices ssh, puedes hacer lo mismo con el comando

ssh -p 5186 [email protected]

donde deberás reemplazar gabriel y AAA.BBB.CCC.DDD por tu nombre de usuario e IP pública, respectivamente.

Paso 4: Agregar reglas al cortafuegos

Con el objetivo de determinar el tráfico de red entrante que deseas permitir (el saliente no tiene limitaciones), el próximo paso consiste en agregar reglas al cortafuegos. Si bien Ubuntu incluye una herramienta llamada ufw (uncomplicated firewall) para esto, te recomendamos usar el panel de Donweb por su simplicidad y conveniencia. Al hacer clic en el botón + Agregar regla, se abrirá un diálogo para indicar el protocolo en cuestión, si aplica para IPv4 o IPv6, el puerto específico o rango de puertos y la dirección a observar. En la imagen siguiente se aprecia el paso a paso para permitir el tráfico entrante con destino al puerto 10500/TCP a través de todas las interfaces (indicado por 0.0.0.0):

Es importante aclarar que este cortafuegos es independiente del provisto por el sistema operativo pero igual de efectivo. Por ese motivo y para evitar confusión, te sugerimos elegir uno de ellos en vez de utilizar ambos simultáneamente.

Paso 5: Asegurar el servicio SSH

A pesar de que hay muchas directivas para asegurar el servicio SSH, haremos foco solamente en dos. Ellas te permitirán alcanzar un nivel de confianza considerable sin interferir con el acceso remoto legítimo.

Por precaución, haz una copia del archivo de configuración en caso de que necesites revertir los cambios:

cd /etc/ssh
sudo cp sshd_config sshd_config.orig

Ahora abre sshd_config con tu editor de texto (nano o algún otro):

sudo nano sshd_config

y habilita las directivas LoginGraceTime, MaxAuthTries y MaxSessions debajo de Authentication con los valores que se muestran debajo:

Asegurar el servicio SSH durante la configuración inicial de un servidor con Ubuntu 20.04

Estos cambios permitirán que cualquier conexión externa se cierre si no se coloca la contraseña correcta luego de un minuto o si se ingresa equivocadamente tres veces. También limitarán la cantidad de sesiones SSH simultáneas a un máximo de cinco, aunque puedes considerar ajustar este valor en caso de que sea necesario.

Para guardar las modificaciones, presiona Ctrl + o (o minúscula), Enter, Ctrl + x y nuevamente Enter. Estas combinaciones y secuencias de teclas harán que nano almacene los cambios de forma permanente y se cierre a continuación. Lo único que resta para efectivizar la nueva configuración es reiniciar el servicio con el siguiente comando.

sudo systemctl restart sshd

Conclusión

En este artículo aprendiste a realizar la configuración inicial de un servidor con Ubuntu 20.04. A partir de este momento, puedes utilizarlo para poner en marcha diferentes servicios de manera segura.

Gabriel Cánepa
Gabriel Cánepa

Gabriel trabaja actualmente como desarrollador full-stack en Scalar, una firma que se dedica a hacer valuaciones de empresas. Es Administrador de Sistemas certificado por la Fundación Linux y previamente ha escrito un gran número de artículos y contenidos técnicos sobre el tema para: DigitalOcean, Linode, Carrera Linux Argentina y Tecmint.

Tiene una certificación en programación de la Universidad de Brigham Young-Idaho, y está completando las carreras de programador y analista de sistemas en la Universidad Nacional de Villa Mercedes (UNViMe).

En su tiempo libre, Gabriel disfruta leyendo libros de Stephen R. Covey, tocando piano y guitarra, y enseñando conocimientos de programación a su dos hijas.