Configuración inicial del servidor con Debian 11

Introducción
Cuando crea por primera vez un nuevo servidor Debian 11, hay algunos pasos de configuración que debe realizar desde el principio como parte de la configuración básica. Esto aumentará la seguridad y la facilidad de uso de su servidor y le brindará 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 su servidor, necesitará saber la dirección IP pública de su servidor . También necesitará la contraseña o, si instaló una clave SSH para la autenticación, la clave privada de la cuenta del usuario raíz . Si aún no ha iniciado sesión en su servidor, puede seguir nuestra guía sobre cómo conectarse a su Droplet con SSH , que cubre este proceso en detalle.
Si aún no está conectado a su servidor, inicie sesión como usuario root utilizando el siguiente comando (reemplace la parte resaltada del comando con la dirección IP pública de su servidor):
- ssh root@your_server_ip
Acepte la advertencia sobre la autenticidad del host si aparece. Si está utilizando autenticación con contraseña, proporcione su contraseña de root para iniciar sesión. Si está utilizando una clave SSH protegida con frase de contraseña, es posible que se le solicite que ingrese la frase de contraseña la primera vez que utilice la clave en cada sesión. Si es la primera vez que inicia sesión en el servidor con una contraseña, es posible que también se le solicite que cambie 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 privilegios elevados de la cuenta root , se desaconseja su uso habitual. 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 los momentos en que los necesite.
Paso 2: Crear un nuevo usuario
Una vez que haya iniciado sesión como root , estamos preparados para agregar la nueva cuenta de usuario que usaremos para iniciar sesión de ahora en adelante.
Este ejemplo crea un nuevo usuario llamado sammy , pero debes reemplazarlo con un nombre de usuario que te guste:
- adduser sammy
Se le harán algunas preguntas, comenzando con la contraseña de la cuenta.
Ingrese una contraseña segura y, opcionalmente, complete cualquier información adicional que desee. Esto no es obligatorio y puede simplemente ingresar ENTER
cualquier campo que desee omitir.
A continuación, configuraremos este nuevo usuario con privilegios de administrador.
Paso 3: Concesión de privilegios administrativos
Ahora hemos creado una nueva cuenta de usuario con privilegios de cuenta normales. Sin embargo, es posible que a veces necesitemos realizar tareas administrativas con ella.
Para evitar tener que cerrar la sesión de nuestro usuario normal y volver a iniciarla como cuenta root , podemos configurar lo que se conoce como privilegios de superusuario o root para nuestra cuenta normal. Esto permitirá que nuestro usuario normal ejecute comandos con privilegios administrativos colocando la palabra sudo
antes del comando.
Para agregar estos privilegios a nuestro nuevo usuario, debemos agregarlo al grupo sudo . De manera predeterminada, en Debian 11, los usuarios que pertenecen al grupo sudo pueden usar el sudo
comando.
Como root , ejecute este comando para agregar su nuevo usuario al grupo sudo (sustituya la palabra resaltada con su nuevo usuario):
- usermod -aG sudo sammy
Ahora, cuando haya iniciado sesión como su usuario habitual, podrá escribir sudo
antes los comandos para ejecutarlos con privilegios de superusuario.
Paso 4: Configuración de un firewall básico
Los servidores Debian pueden usar cortafuegos para asegurarse de que solo se permitan ciertas conexiones a servicios específicos. En esta guía, instalaremos y usaremos el cortafuegos UFW para ayudar a establecer políticas de cortafuegos y administrar excepciones.
Podemos utilizar el apt
administrador de paquetes para instalar UFW. Actualice el índice local para recuperar la información más reciente sobre los paquetes disponibles y luego instale el software de firewall UFW escribiendo:
- apt update
- apt install ufw
Nota: Si sus servidores se ejecutan en DigitalOcean, puede utilizar opcionalmente los firewalls en la nube de DigitalOcean en lugar del firewall UFW. Recomendamos utilizar solo un firewall a la vez para evitar reglas conflictivas que pueden resultar difíciles de depurar.
Los perfiles de firewall permiten a UFW administrar conjuntos de reglas de firewall con nombre para las aplicaciones instaladas. Los perfiles para algunos programas comunes se incluyen con UFW de manera 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.
Para enumerar todos los perfiles de aplicaciones disponibles, escriba:
- ufw app list
OutputAvailable applications: . . . OpenSSH . . .
Debemos 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:
- ufw allow OpenSSH
Luego podemos habilitar el firewall escribiendo:
- ufw enable
Escribe y
y pulsa ENTER
para continuar. Puedes ver que las conexiones SSH aún están permitidas si escribes:
- ufw status
OutputStatus: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)
Como el firewall está bloqueando actualmente todas las conexiones excepto SSH , si instala y configura servicios adicionales, deberá ajustar la configuración del firewall para permitir un tráfico aceptable. Puede aprender algunas operaciones comunes de UFW en nuestra guía esencial de UFW .
Paso 5: Habilitar el acceso externo para el usuario habitual
Ahora que tenemos un usuario regular para uso diario, debemos asegurarnos de que podamos acceder a la cuenta mediante SSH directamente.
Nota: hasta verificar que puede iniciar sesión y usar sudo
su nuevo usuario, le recomendamos permanecer conectado como root . De esta manera, si tiene problemas, puede solucionarlos y realizar los cambios necesarios como root . Si está usando un Droplet de DigitalOcean y tiene problemas con su conexión SSH de root , también puede iniciar sesión en el Droplet usando la Consola de DigitalOcean .
El proceso para configurar el acceso SSH para su nuevo usuario depende de si la cuenta raíz de su servidor utiliza una contraseña o claves SSH para la autenticación.
Si la cuenta raíz utiliza autenticación por contraseña
Si inició sesión en su cuenta raíz con una contraseña , la autenticación con contraseña estará habilitada para SSH. Puede iniciar sesión con su nueva cuenta de usuario mediante SSH abriendo una nueva sesión de terminal y usando SSH con su nuevo nombre de usuario:
- ssh sammy@your_server_ip
Después de ingresar tu contraseña de usuario habitual, iniciarás sesión. Recuerda, si necesitas ejecutar un comando con privilegios administrativos, escríbelo sudo
antes de hacerlo de la siguiente manera:
- sudo command_to_run
Se le solicitará su contraseña de usuario habitual sudo
la primera vez que utilice cada sesión (y periódicamente después).
Para mejorar la seguridad de su servidor, le recomendamos encarecidamente configurar claves SSH en lugar de utilizar autenticación con contraseña . Siga nuestra guía sobre configuración de claves SSH en Debian 11 para aprender a configurar la autenticación basada en claves.
Si la cuenta raíz utiliza autenticación de clave SSH
Si inició sesión en su cuenta raíz con claves SSH , la autenticación con contraseña estará deshabilitada para SSH. Deberá agregar una copia de su clave pública local al ~/.ssh/authorized_keys
archivo del nuevo usuario para iniciar sesión correctamente.
Dado que su clave pública ya se encuentra en el archivo de la cuenta raíz~/.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 cp
comando. Luego, podemos ajustar la propiedad de los archivos mediante el chown
comando.
Asegúrese de cambiar las partes resaltadas del comando a continuación para que coincidan con el nombre de su usuario habitual:
- cp -r ~/.ssh /home/sammy
- chown -R sammy:sammy /home/sammy/.ssh
El cp -r
comando copia el directorio completo al directorio de inicio del nuevo usuario, y chown -R
cambia el propietario de ese directorio (y todo lo que hay dentro de él) al especificado username:groupname
(Debian crea un grupo con el mismo nombre que su nombre de usuario de forma predeterminada).
Ahora, abra una nueva sesión de terminal e inicie sesión a través de SSH con su nuevo nombre de usuario:
- ssh sammy@your_server_ip
Debes iniciar sesión en la nueva cuenta de usuario sin usar una contraseña. Recuerda que, si necesitas ejecutar un comando con privilegios administrativos, debes escribirlo sudo
antes de hacerlo de la siguiente manera:
- sudo command_to_run
Se le solicitará su contraseña de usuario habitual sudo
la primera vez que utilice cada sesión (y periódicamente después).
¿A dónde ir desde aquí?
En este punto, ya tienes una base sólida para tu servidor. Ahora puedes instalar cualquier software que necesites en él.
Deja una respuesta