Cuando cree un nuevo servidor de tipo Debian o Ubuntu, debe efectuar algunas etapas de configuración importantes en el marco de la configuración de base. Estas etapas aumentarán la seguridad y la comodidad de uso de su servidor, y le darán una base sólida para las acciones posteriores.

Etapa 1 - Conexión por ssh
Para conectarse a su servidor, debe conocer la dirección IP pública de su servidor. También necesitará la contraseña o —si ha instalado una clave SSH para la autenticación— la clave privada de la cuenta del usuario root. Si todavía no está conectado a su servidor, puede seguir nuestra guía sobre Cómo conectarse con SSH, que cubre este proceso en detalle.
Comprobar que el servicio SSH está operativo
systemctl status ssh

Anotar la dirección IP de su servidor
ip address

Si todavía no está conectado a su servidor por SSH, conéctese utilizando el comando siguiente (sustituya la parte resaltada del comando por la dirección IP pública de su servidor):
Acepte la advertencia relativa a la autenticidad del host si aparece. Si utiliza la autenticación por contraseña, facilite su contraseña root para conectarse. Si utiliza una clave SSH protegida por una frase de contraseña, puede que se le pida introducir la frase de contraseña la primera vez que utilice la clave en cada sesión. Si es la primera vez que se conecta al servidor con una contraseña, también puede que se le pida cambiar la contraseña root.
En caso de que la contraseña no funcionePasar como root en su servidorPara Ubuntu: sudo su
Para Debian: su -
2. Cambiar la contraseña de su usuariopasswd mon_username
Acerca de Root
El usuario root es el usuario administrativo en un entorno Linux que dispone de privilegios muy amplios. Debido a los privilegios elevados de la cuenta root, se desaconseja utilizarla de forma habitual. En efecto, parte del poder inherente a la cuenta root es su capacidad de efectuar cambios muy destructivos, incluso por accidente.
La etapa siguiente consiste en crear una nueva cuenta de usuario con privilegios reducidos para un uso cotidiano. Más adelante le enseñaremos cómo obtener privilegios elevados únicamente cuando los necesite.
Etapa 2 - Creación de un usuario
Una vez conectado como root, estamos listos para añadir la nueva cuenta de usuario. En el futuro nos conectaremos a esta nueva cuenta en lugar de a root.
Este ejemplo crea un nuevo usuario llamado sammy, pero debe sustituirlo por el nombre de usuario que le convenga:
Se le harán algunas preguntas, empezando por la contraseña de la cuenta.
Introduzca una contraseña sólida y, si lo desea, rellene la información complementaria. No es obligatorio y puede limitarse a pulsar ENTER en cualquier campo que quiera omitir.
Etapa 3 - Atribución de los privilegios
Ahora tenemos una nueva cuenta de usuario con privilegios de cuenta ordinarios. Sin embargo, a veces debemos efectuar tareas administrativas.
Para evitar tener que desconectarnos de nuestro usuario normal y volver a conectarnos como cuenta root, podemos configurar lo que se denomina privilegios de superusuario o de root para nuestra cuenta ordinaria. Eso permitirá a nuestro usuario normal ejecutar comandos con privilegios administrativos colocando la palabra sudo delante de cada comando.
Para añadir estos privilegios a nuestro nuevo usuario, debemos añadir el usuario al grupo sudo. Por defecto en Ubuntu, los usuarios que son miembros del grupo sudo están autorizados a utilizar el comando sudo.
Instalar el paquete sudo (si es necesario)En caso de que sudo no esté instalado, como ocurre en algunos sistemas basados en Debian, puede hacerlo así:apt install sudo
Como root, ejecute este comando para añadir su nuevo usuario al grupo sudo (sustituya el nombre de usuario resaltado por el de su nuevo usuario):
Ahora, cuando esté conectado como usuario normal, puede escribir sudo delante de los comandos para efectuar acciones con privilegios de superusuario.
Etapa 4 - Puesta en marcha del cortafuegos
Los servidores Ubuntu 20.04 pueden utilizar el cortafuegos UFW para asegurarse de que solo se autoricen las conexiones a determinados servicios. Podemos poner en marcha muy fácilmente un cortafuegos de base utilizando esta aplicación.
Observación: si sus servidores funcionan en una nube o en otro sistema, puede que utilice los cortafuegos integrados en lugar del cortafuegos UFW. Recomendamos utilizar un solo cortafuegos a la vez para evitar las reglas contradictorias, que pueden ser difíciles de depurar.
Para instalar el cortafuegos ufw:
Las aplicaciones que se comunican por la red pueden registrar sus perfiles en UFW durante su instalación. Estos perfiles permiten a UFW gestionar dichas aplicaciones por su nombre. OpenSSH, el servicio que ahora nos permite conectarnos a nuestro servidor, dispone de un perfil ya registrado en UFW.
Puede verlo escribiendo:
Debemos asegurarnos de que el cortafuegos autoriza las conexiones SSH para poder volver a conectarnos la próxima vez. Podemos autorizar estas conexiones escribiendo:
Puede comprobar que las conexiones SSH siguen autorizadas escribiendo:
Como el cortafuegos bloquea actualmente todas las conexiones salvo las conexiones SSH, si instala y configura servicios adicionales deberá ajustar los parámetros del cortafuegos para autorizar el tráfico. Puede aprender algunas operaciones habituales de UFW en nuestra guía de fundamentos de UFW.
Después de lo cual podemos activar el cortafuegos escribiendo:
Escriba y y pulse ENTER para continuar. Ahora que el cortafuegos está activado, en el futuro deberá añadir una nueva regla con ufw allow seguido del n.º de puerto o del nombre de la regla para permitir el acceso al servidor con un nuevo protocolo.
Etapa 5 - Activación del acceso externo para su usuario ordinario
Ahora que tenemos un usuario normal para un uso cotidiano, debemos asegurarnos de que podemos entrar por SSH directamente en la cuenta.
Observación: mientras no haya comprobado que puede conectarse y utilizar sudo con su nuevo usuario, le recomendamos permanecer conectado como root. De esta manera, si tiene problemas, puede resolverlos y aportar los cambios necesarios como root.
El proceso de configuración del acceso SSH para su nuevo usuario depende de si la cuenta root de su servidor utiliza una contraseña o claves SSH para la autenticación.
Si la cuenta root utiliza la autenticación por contraseña
Si se ha conectado a su cuenta root mediante una contraseña, la autenticación por contraseña está entonces activada para SSH. Puede acceder a su nueva cuenta de usuario abriendo una nueva sesión de terminal y utilizando SSH con su nuevo nombre de usuario:
Tras haber introducido su contraseña de usuario habitual, quedará conectado. No olvide que si debe ejecutar un comando con privilegios administrativos, escriba sudo delante, así:
Se le pedirá su contraseña de usuario habitual la primera vez que utilice sudo en cada sesión (y periódicamente a continuación).
Para reforzar la seguridad de su servidor, le recomendamos encarecidamente configurar claves SSH en lugar de utilizar una autenticación por contraseña.
Siga nuestra guía sobre la Configuración de las claves SSH en Ubuntu 20.04 para aprender a configurar la autenticación por clave.
Si la cuenta root utiliza la autenticación por clave SSH
Si se ha conectado a su cuenta root utilizando claves SSH, la autenticación por contraseña está desactivada para SSH. Deberá añadir una copia de su clave pública local al archivo ~/.ssh/authorized_keys del nuevo usuario para conectarse correctamente.
Como su clave pública ya se encuentra en el archivo ~/.ssh/authorized_keys de la cuenta root del servidor, podemos copiar dicho archivo y la estructura de directorios a nuestra nueva cuenta de usuario en nuestra sesión existente.
El comando rsync representa la manera más sencilla de copiar los archivos con la propiedad y los permisos correctos. Permite copiar el directorio .ssh del usuario root, preservar los permisos y modificar los propietarios de los archivos, todo ello en un solo comando. Procure modificar las partes resaltadas del comando siguiente para que correspondan a su nombre de usuario.
Observación: el comando rsync trata de forma distinta los orígenes y los destinos que terminan en barra oblicua y los que no la llevan. Cuando utilice rsync a continuación, asegúrese de que el directorio de origen (~/.ssh) no lleve barra oblicua (compruebe que no utiliza ~/.ssh/). Si añade accidentalmente una barra oblicua al final del comando, rsync copiará el contenido del directorio ~/.ssh de la cuenta root en el directorio personal del usuario sudo en lugar de copiar toda la estructura del directorio ~/.ssh. Los archivos se encontrarán en el lugar equivocado y SSH no podrá encontrarlos ni utilizarlos.
- rsync --archive --chown=neo:neo ~/.ssh /home/neo
Ahora abra una nueva sesión de terminal en su máquina local y utilice SSH con su nuevo nombre de usuario:
- ssh neo@your_server_ip
Debe quedar conectado a la nueva cuenta de usuario sin utilizar contraseña. No olvide que si debe ejecutar un comando con privilegios administrativos, escriba sudo delante, así:
- sudo command_to_run
Se le pedirá su contraseña de usuario habitual la primera vez que utilice sudo en cada sesión (y periódicamente a continuación).
¿Qué hacer después?
Llegado a este punto, dispone de una base sólida para su servidor. Ya puede instalar todos los programas que necesite en su servidor. -> Efectuar el refuerzo de seguridad en el acceso con el protocolo SSH
