Configuración inicial de un servidor Ubuntu 18.04


Cuando recien instalas un nuevo servidor Ubuntu 18.04, hay algunos pasos que debes seguir al principio como parte de la configuración básica. Esto aumentará la seguridad y la facilidad de uso de tu servidor y le brindará una base sólida para acciones posteriores.

Paso 1 — Conéctate como root

Para iniciar sesión en su servidor, deberá conocer 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 para la cuenta del usuario root.

Si aún no está conectado a su servidor, continúe e inicie sesión como usuario root con el siguiente comando (sustituya 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á usando la autenticación de contraseña, proporcione su contraseña de root para iniciar sesión. Si está usando una clave SSH que está protegida con frase de contraseña, es posible que se le solicite ingresar la contraseña la primera vez que use 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 se le solicite que cambie la contraseña de root.

Acerca del Root

El usuario root es el usuario administrativo en un entorno Linux que tiene privilegios muy amplios. Debido a los privilegios aumentados 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. Le enseñaremos cómo obtener mayores privilegios en los momentos en que los necesite.

Paso 2 — Creando 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 neurona, pero debe reemplazarlo con un nombre de usuario que le guste:

adduser neurona

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 si lo desea. Esto no es obligatorio y puedes presionar ENTER en cualquier campo que desees omitir.

Paso 3 — Concesión de privilegios administrativos

Ahora, tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces es posible que tengamos que realizar tareas administrativas.

Para evitar tener que cerrar la sesión de nuestro usuario normal y volver a iniciar sesión como la cuenta de root, podemos configurar lo que se conoce como “superusuario” o privilegios de root para nuestra cuenta normal. Esto permitirá a nuestro usuario normal ejecutar comandos con privilegios administrativos poniendo la palabra sudo antes de cada comando.

Para agregar estos privilegios a nuestro nuevo usuario, necesitamos agregar el nuevo usuario al grupo sudo. De forma predeterminada, en Ubuntu 18.04, los usuarios que pertenecen al grupo sudo pueden usar el comando sudo.

Como root, ejecute este comando para agregar su nuevo usuario al grupo sudo (sustituya la palabra resaltada con su nuevo usuario):

usermod -aG sudo neurona

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

Paso 4 — Configurando un FireWall básico

Los servidores Ubuntu 18.04 pueden usar el firewall UFW para asegurarse de que solo se permiten conexiones a ciertos servicios. Podemos configurar un cortafuegos básico muy fácilmente usando esta aplicación.

Diferentes aplicaciones pueden registrar sus perfiles con UFW tras 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 el siguiente comando:

ufw app list
Output
Available 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

Después podemos habilitar el Firewall escribiendo:

ufw enable

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

ufw status
Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Como el servidor de seguridad está bloqueando actualmente todas las conexiones, excepto SSH, si instala y configura servicios adicionales, deberá ajustar la configuración del servidor de seguridad para permitir un tráfico aceptable.

Paso 5 — Habilitando el acceso externo para su usuario regular

Ahora que tenemos un usuario regular para el uso diario, debemos asegurarnos de que podamos ingresar SSH directamente a la cuenta.

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

Si la cuenta root usa contraseña para entrar

Si inició sesión en su cuenta root con una contraseña, entonces la autenticación de contraseña está habilitada para SSH. Puede entrar vía SSH a su nueva cuenta de usuario abriendo una nueva sesión de terminal y utilizando SSH con su nueva cuenta de usuario.

username:

ssh neurona@your_server_ip

Después de ingresar la contraseña del usuario regular, iniciará sesión. Recuerde, si necesita ejecutar un comando con privilegios administrativos, escriba sudo antes de que sea así:

sudo comando_que_necesites

Se le solicitará su contraseña de usuario regular cuando use sudo por primera vez en cada sesión (y luego periódicamente).

Para mejorar la seguridad de su servidor, le recomendamos que configure las claves SSH en lugar de usar la autenticación de contraseña.

Si la cuenta root utiliza la autenticación de clave SSH

Si inició sesión en su cuenta root con las claves SSH, la autenticación de la contraseña se deshabilita para SSH. Deberá agregar una copia de su clave pública local al archivo ~/.ssh/authorized_keys del nuevo usuario para iniciar sesión correctamente.

Dado que su clave pública ya está en el archivo ~/.ssh/authorized_keys de la cuenta root en el servidor, podemos copiar ese archivo y la estructura de directorios en nuestra nueva cuenta de usuario en nuestra sesión actual.

La forma más sencilla de copiar los archivos con la propiedad y los permisos correctos es con el comando  rsync. Esto copiará el directorio .ssh del usuario root, conservará los permisos y modificará los propietarios del archivo, todo en un solo comando. Asegúrese de cambiar las partes resaltadas del siguiente comando para que coincida con el nombre de su usuario habitual:

Si accidentalmente agrega una barra diagonal al comando, rsync copiará el contenido del directorio ~/.ssh de la cuenta root en el directorio de inicio del usuario sudo en lugar de copiar la estructura completa del directorio ~/.ssh. Los archivos estarán en la ubicación incorrecta y SSH no podrá encontrarlos ni utilizarlos.

rsync --archive --chown=neurona:neurona ~/.ssh /home/neurona

Ahora, abra una nueva sesión de terminal y use SSH con su nuevo nombre de usuario:

ssh neurona@ip_de_tu_servidor

Debe iniciar sesión en la nueva cuenta de usuario sin utilizar una contraseña. Recuerde, si necesita ejecutar un comando con privilegios administrativos, escriba sudo antes de que sea así:

Se le solicitará su contraseña de usuario regular cuando use sudo por primera vez en cada sesión (y luego periódicamente).

¿Qué hacer después de esto?

En este punto, tiene una base sólida para su servidor. Puede instalar cualquier software que necesite en su servidor ahora.


Like it? Share with your friends!

0 Comments