Configuración básica de un servidor con Ubuntu 18.04

Introducción

Para crear un nuevo servidor Ubuntu 18.04, debes seguir algunos pasos iniciales como parte de la configuración básica.

Esto aumentará la seguridad y la facilidad de uso del servidor y constituirá una base sólida para acciones posteriores.

La siguiente guía muestra cómo completar manualmente los pasos que recomendamos para los nuevos servidores Ubuntu 18.04.

Seguir este procedimiento en forma manual puede ser útil para adquirir algunas habilidades básicas de administración de sistemas y como un ejercicio para comprender perfectamente las acciones que se realizan en el servidor.

Paso 1 — Iniciar sesión como usuario root

Para iniciar sesión en el servidor, deberás conocer tu «dirección IP pública del servidor.

También necesitarás la contraseña o, si instalaste una clave SSH para la autenticación, la clave privada para la cuenta del usuario root.

Si aún no has iniciado sesión en tu servidor, puedes seguir nuestra guía sobre cómo conectarte con SSH, que cubre este proceso en detalle.

Si aún no estás conectado a tu servidor, avanza e inicia sesión como usuario root con el siguiente comando (debes sustituir your_server_ip con la dirección IP pública de tu servidor):

Debes aceptar la advertencia sobre la autenticidad del host si aparece.

Si estás utilizando la autenticación con contraseña, proporciona tu contraseña de root para iniciar sesión.

En caso de que estés utilizando una clave SSH que está protegida con frase de contraseña, es posible que se te solicite que la ingreses la primera vez que uses la clave en cada sesión.

Si es la primera vez que inicias sesión en el servidor con una contraseña, también se te puede solicitar que cambies la contraseña de root.

Acerca de Root

El usuario root es el usuario administrativo en un entorno Linux que tiene privilegios muy amplios.

Debido a los mayores privilegios de la cuenta root, no se recomienda utilizarla de forma regular.

Esto se debe a que parte del poder inherente a la cuenta root es la capacidad de realizar cambios muy destructivos, incluso por accidente.

El siguiente paso es configurar una cuenta de usuario alternativa con un alcance de influencia reducido para el trabajo diario.

Te enseñaremos cómo obtener mayores privilegios durante los momentos en que los necesites.

Paso 2 – Crear un nuevo usuario

Una vez que hayas iniciado sesión como root, estamos preparados para agregar la nueva cuenta de usuario que usaremos para iniciar sesión a partir de ahora.

Este ejemplo crea un nuevo usuario llamado cesar, pero debe reemplazarlo con un nombre de usuario que te guste:

Se te harán algunas preguntas, comenzando con la contraseña de la cuenta.

Ingresa una contraseña segura y, opcionalmente, debes completar cualquier información adicional si lo deseas.

Esto no es obligatorio y puedes presionar ENTER en cualquier campo que desees omitir.

Paso 3 – Conceder privilegios administrativos

Ahora, tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces podemos necesitar hacer tareas administrativas.

Para evitar tener que cerrar sesión en nuestro usuario normal y volver a iniciar sesión como la cuenta root, podemos configurar lo que se conoce como “superusuario” o privilegios root para nuestra cuenta normal.

Esto permitirá a nuestro usuario normal ejecutar comandos con privilegios administrativos al poner la palabra sudo antes de cada comando.

Para agregar estos privilegios a nuestro nuevo usuario, necesitamos agregar el nuevo usuario al grupo sudo.

Por defecto, en Ubuntu 18.04, los usuarios que pertenecen al grupo sudo pueden usar el comando sudo.

Como root, ejecuta este comando para agregar tu nuevo usuario al grupo sudo (sustituye la palabra cesar con tu nuevo usuario):

Ahora, cuando inicies sesión como usuario habitual, puedes escribir sudo antes de los comandos para realizar acciones con privilegios de superusuario.

Paso 4 – Configurar un firewall básico

Los servidores Ubuntu 18.04 pueden usar el firewall UFW para asegurarse de que solo se permitan conexiones a ciertos servicios.

Podemos configurar un firewall básico muy fácilmente usando esta aplicación.

Nota: Te recomendamos usar solo un firewall a la vez para evitar reglas en conflicto que pueden ser difíciles de depurar.

Diferentes aplicaciones pueden registrar tus perfiles con UFW después de la instalación.

Estos perfiles permiten a UFW administrar estas aplicaciones por nombre.

OpenSSH, el servicio que nos permite conectarnos a nuestro servidor ahora, tiene un perfil registrado con UFW.

Puedes ver esto escribiendo:

Necesitamos asegurarnos de que el firewall permita conexiones SSH para que podamos volver a iniciar sesión la próxima vez.

Podemos permitir estas conexiones escribiendo:

Luego, podemos habilitar el firewall escribiendo:

Escribe “y” y presiona ENTER para continuar. Puedes ver que las conexiones SSH todavía están permitidas escribiendo:

Como el firewall actualmente está bloqueando todas las conexiones, excepto SSH, si instalas y configura servicios adicionales, necesitarás ajustar la configuración del firewall para permitir el tráfico aceptable.

Puedes aprender algunas operaciones comunes de UFW en esta guía.

Paso 5 – Habilitar el acceso externo para tu usuario habitual

Ahora que tenemos un usuario habitual para el uso diario, debemos asegurarnos de que podemos ingresar SSH en la cuenta directamente.

Nota: Hasta que verifiques que puedes iniciar sesión y usarla con sudo tu nuevo usuario, te recomendamos permanecer conectado como root.

De esta manera, si tienes problemas, puedes solucionar problemas y realizar los cambios necesarios como root.

El proceso para configurar el acceso SSH para tu nuevo usuario depende de si la cuenta root de tu servidor utiliza una contraseña o claves SSH para la autenticación.

Si la cuenta root usa autenticación con contraseña

Si iniciaste sesión en tu cuenta root con una contraseña, la autenticación con contraseña está habilitada para SSH.

Puedes enviar SSH a tu nueva cuenta de usuario abriendo una nueva sesión de la terminal y usando SSH con tu nuevo nombre de usuario:

Después de ingresar la contraseña de tu usuario normal, iniciarás sesión. Recuerda, si necesitas ejecutar un comando con privilegios administrativos, escribe sudo antes:

Se te solicitará tu contraseña de usuario habitual cuando utilices sudo por primera vez cada sesión (y periódicamente después).

Para mejorar la seguridad de tu servidor, te recomendamos que configures las claves SSH en lugar de usar la autenticación con contraseña.

Sigue nuestra guía sobre la configuración de claves SSH en Ubuntu 18.04 para aprender cómo configurar la autenticación basada en claves.

Si la cuenta root usa autenticación de claves SSH

Si iniciaste sesión en tu cuenta root utilizando claves SSH, la autenticación con contraseña se deshabilita para SSH.

Deberás agregar una copia de tu clave pública local al archivo ~/.ssh/authorized_keys del nuevo usuario para iniciar sesión correctamente.

Dado que tu clave pública ya está en el archivo de la cuenta root ~/.ssh/authorized_keys en el servidor, podemos copiar esa estructura de archivo y directorio a nuestra nueva cuenta de usuario en nuestra sesión existente.

La forma más simple de copiar los archivos con la propiedad y los permisos correctos es con el comando rsync.

Esto copiará el directorio del usuario root a .ssh, preservará los permisos y modificará los propietarios del archivo, todo en un solo comando.

Asegúrate de cambiar las partes del nombre del comando a continuación para que coincida con el nombre de tu usuario habitual:

Nota: El rsync comando trata los orígenes y destinos que terminan con una barra inclinada final de forma diferente a aquellos sin una barra inclinada final.

Cuando se usa a rsync como continuación, asegúrate de que el directorio de origen (~/.sshno incluya una barra inclinada final (debes verificar para asegurarte de que no estés usando ~/.ssh/).

Si agregas accidentalmente una barra inclinada al comando, rsync copiará el contenido del directorio de la cuenta root al directorio ~/.ssh sudo de inicio del usuario, en lugar de copiar toda la estructura ~/.ssh del directorio.

Los archivos estarán en la ubicación incorrecta y SSH no podrá encontrarlos ni utilizarlos.

Ahora, abre una nueva sesión de la terminal y usa SSH con tu nuevo nombre de usuario:

Debes iniciar sesión en la nueva cuenta de usuario sin usar una contraseña.

Recuerda, si necesitas ejecutar un comando con privilegios administrativos, escribe sudo antes, así:

Se te solicitará tu contraseña de usuario habitual cuando utilices sudo por primera vez cada sesión (y periódicamente después).

¿Qué debes hacer después?

En este punto, tienes una base sólida para tu servidor. Puedes instalar cualquier software que necesites en tu servidor ahora.