Guía de configuración básica de un servidor con Debian 10

Introducción

Cuando crees por primera vez un nuevo servidor Debian 10, hay algunos pasos de configuración que debes seguir desde el principio como parte de la configuración básica.

Esto aumentará la seguridad y la usabilidad de tu servidor y te dará una base sólida para acciones posteriores.

En este tutorial, aprenderemos cómo iniciar sesión en nuestro servidor como usuario root, crear un nuevo usuario con privilegios de administrador y configurar un firewall básico.

Paso 1 – Iniciar sesión como root

Para iniciar sesión en tu servidor, necesitarás conocer la dirección IP pública de tu 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, continúa e inicia sesión como usuario root con el siguiente comando (debes sustituir en el comando “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, debes proporcionar 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.

Sobre 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.

Más adelante, explicaremos cómo obtener mayores privilegios para aquellos 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 debes reemplazarlo con un nombre de usuario que te guste:

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

Debes ingresar una contraseña segura y, opcionalmente, completar la información adicional que desees. Esto no es obligatorio y puede presionar ENTER en cualquier campo que desees omitir.

A continuación, configuraremos este nuevo usuario con privilegios de administrador.

Paso 3 – Conceder privilegios administrativos

Ahora, hemos creado una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces es posible que tengamos que hacer tareas administrativas con esta.

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 privilegios de superusuario o root para nuestra cuenta normal.

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

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

Por defecto, en Debian 10, 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 (debes sustituir el nombre cesar por el que deseas crear):

Ahora, cuando inicies sesión como tu usuario habitual, puedes escribir sudo antes de los comandos para ejecutar el comando con privilegios de superusuario.

Paso 4 – Configuración de un firewall básico

Los servidores Debian pueden usar firewalls para asegurarte de que solo se permitan ciertas conexiones a servicios específicos.

En esta guía, instalaremos y usaremos el firewall UFW para ayudar a establecer políticas de firewall y administrar excepciones.

Podemos usar el administrador de paquetes apt para instalar UFW. Debes actualizar el índice local para recuperar la información más reciente sobre los paquetes disponibles y luego instalar el software de firewall UFW escribiendo:

Los perfiles de firewall permiten a UFW administrar conjuntos de reglas de firewall con nombre para las aplicaciones instaladas.

Los perfiles para algunos software comunes se incluyen con UFW de forma predeterminada y los paquetes pueden registrar perfiles adicionales con UFW durante el proceso de instalación.

OpenSSH, el servicio que nos permite conectarnos a nuestro servidor ahora, tiene un perfil de firewall que podemos usar.

Enumera todos los perfiles de aplicación disponibles 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 bloquea todas las conexiones, excepto SSH, si instalas y configuras servicios adicionales, necesitarás ajustar la configuración del firewall para permitir un tráfico aceptable.

Puedes aprender algunas operaciones comunes de UFW en nuestra guía básica de UFW.

Paso 5 – Habilitación del 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 de contraseña

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

Puedes usar SSH en 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 su 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. Puedes seguir nuestra guía sobre la configuración de claves SSH para aprender cómo configurar la autenticación basada en claves.

Si la cuenta root usa autenticación de clave SSH

Si iniciaste sesión en tu cuenta root utilizando claves SSH, la autenticación de 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 ese archivo y la estructura del directorio a nuestra nueva cuenta de usuario en nuestra sesión existente con el comando cp. Luego, podemos ajustar la propiedad de los archivos usando el comando chown.

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

El comando cp –r copia todo el directorio en el directorio de inicio del nuevo usuario, y el comando chown –R cambia el propietario de ese directorio (y todo lo que contiene) al especificado username:groupname (Debian crea un grupo con el mismo nombre que tu nombre de usuario por defecto).

Ahora, debes abrir una nueva sesión de terminal e iniciar sesión a través de 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).

¿A dónde ir desde aquí?

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