Configuración inicial del servidor con Ubuntu 18.04

Introducción
Después de crear un nuevo servidor Ubuntu 18.04, debe realizar algunos pasos de configuración como parte de la configuración inicial del servidor para aumentar la seguridad y facilitar la administración posterior.
Esta guía lo guiará a través de algunos procedimientos que debe completar desde el principio para crear una base sólida para su nuevo servidor, antes de continuar con la instalación y configuración de cualquier software o servicio.
Paso 1: Iniciar sesión como root
Los servidores recién instalados generalmente solo tienen configurada una cuenta raíz , y esa es la cuenta que usará para iniciar sesión en su servidor por primera vez.
El usuario root es un usuario administrativo que tiene privilegios muy amplios. Debido a los privilegios elevados de la cuenta root , no se recomienda 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. Por ese motivo, la práctica recomendada es configurar un usuario de sistema normal y otorgarle sudo
permisos para que pueda ejecutar comandos administrativos con ciertas limitaciones. En el siguiente paso, configurará dicho usuario.
Para comenzar, deberá iniciar sesión en su servidor. Asegúrese de conocer la dirección IP pública de su servidor . Para autenticarse, necesitará la contraseña de la cuenta o la clave privada SSH de la cuenta del usuario raíz , en caso de que haya configurado una clave SSH para la autenticación dentro del servidor. 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 con el siguiente comando. Asegúrese de reemplazar 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. De manera alternativa, 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. Además, 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 .
En el siguiente paso, configurará una nueva cuenta de usuario del sistema con privilegios reducidos y configurará este usuario para ejecutar comandos administrativos a través de sudo
.
Paso 2: Crear un nuevo usuario
Una vez que haya iniciado sesión como root , puede crear un nuevo usuario que será su usuario regular del sistema a partir de ahora.
El siguiente ejemplo crea un nuevo usuario llamado sammy , pero debes reemplazarlo con un nombre de usuario de tu elección:
- 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 si lo desea. Esto no es obligatorio y puede simplemente hacer clic ENTER
en cualquier campo que desee omitir.
En el siguiente paso, deberá configurar sudo
los privilegios para este usuario. Esto le permitirá ejecutar tareas administrativas como usuario root a través del sudo
programa.
Paso 3: Concesión de privilegios administrativos
Ahora tienes una nueva cuenta de usuario con privilegios normales. Sin embargo, en ocasiones tendrás que realizar tareas administrativas, como administrar servidores, editar archivos de configuración o reiniciar un servidor.
Para evitar tener que cerrar la sesión de su usuario habitual y volver a iniciarla como cuenta raíz , puede configurar lo que se conoce como privilegios de “superusuario” o raíz para su cuenta habitual. Esto permitirá que su usuario habitual ejecute comandos con privilegios administrativos anteponiendo cada comando con la palabra sudo
.
Para agregar estos privilegios a su nuevo usuario, debe agregarlo al grupo sudo . De manera predeterminada, en Ubuntu 18.04, los usuarios que pertenecen al grupo sudo pueden usar el sudo
comando.
El siguiente comando modificará la configuración predeterminada del usuario, incluido el sudo
grupo en la lista de grupos a los que ya pertenece un usuario. Preste atención al -a
argumento, que significa append . Sin esta opción, los grupos actuales a los que está vinculado un usuario se reemplazarían por sudo
, lo que causaría consecuencias inesperadas. El -G
argumento indica usermod
que se debe cambiar la configuración del grupo de un usuario.
Como root , ejecute este comando para agregar su nuevo usuario al grupo sudo (reemplace la palabra resaltada con su nuevo usuario):
- usermod -aG sudo sammy
Ya está configurado el usuario de su sistema. En el siguiente paso, configurará un firewall básico para su servidor.
Paso 4: Configuración de un firewall básico
UFW (Uncomplicated Firewall) es una herramienta de configuración de firewall que viene con los servidores Ubuntu. Puede utilizar el firewall UFW para asegurarse de que solo se permitan conexiones a determinados servicios en su servidor.
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.
Las aplicaciones pueden registrar sus perfiles en UFW durante la instalación. Estos perfiles permiten que UFW administre las configuraciones de cada aplicación por nombre. OpenSSH, el servicio que le permite conectarse a su servidor ahora, tiene un perfil registrado en UFW.
Ejecute el siguiente comando para obtener una lista de todos los perfiles disponibles actuales:
- ufw app list
OutputAvailable applications: OpenSSH
Debe asegurarse de que el firewall permita conexiones SSH para poder volver a iniciar sesión la próxima vez. Puede permitir estas conexiones escribiendo lo siguiente:
- ufw allow OpenSSH
Luego puedes habilitar el firewall con:
- ufw enable
Escribe “ y
” y pulsa ENTER
para continuar. Puedes ver que las conexiones SSH aún están permitidas escribiendo:
- 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 esta guía .
Paso 5: Habilitar el acceso externo para el usuario habitual
Ahora que tienes un usuario regular para uso diario, debes asegurarte de poder acceder a la cuenta mediante SSH directamente.
Nota: hasta verificar que puede iniciar sesión y usar sudo
como 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 , 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 iniciaste sesión en tu cuenta raíz con una contraseña , significa que la autenticación con contraseña está habilitada para SSH. Puedes acceder a tu nueva cuenta de usuario mediante SSH abriendo una nueva sesión de terminal y usando SSH con tu 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 usar autenticación con contraseña . Siga nuestra guía sobre cómo configurar claves SSH en Ubuntu 18.04 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 , es probable que la autenticación con contraseña esté 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 está en el archivo de la cuenta raíz~/.ssh/authorized_keys
en el servidor, puede copiar esa estructura de archivo y directorio a su nueva cuenta de usuario en su sesión existente.
La forma más sencilla de copiar los archivos con el propietario y los permisos correctos es con el rsync
comando. Esto copiará el directorio del usuario raíz.ssh
, conservará los permisos y modificará los propietarios de los archivos, todo en un solo comando. Asegúrese de cambiar las partes resaltadas del siguiente comando para que coincidan con el nombre de su usuario habitual:
Nota: El rsync
comando trata los orígenes y destinos que terminan con una barra diagonal final de forma diferente a aquellos que no la tienen. Cuando lo utilice rsync
a continuación, asegúrese de que el directorio de origen ( ~/.ssh
) no incluya una barra diagonal final (verifique que no esté utilizando ~/.ssh/
).
Si agrega accidentalmente una barra diagonal al final del comando, rsync
se copiará el contenido del directorio de la cuenta raíz~/.ssh
al sudo
directorio de inicio del usuario en lugar de copiar toda la ~/.ssh
estructura del directorio. Los archivos estarán en la ubicación incorrecta y SSH no podrá encontrarlos ni usarlos.
- rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
Ahora, abra una nueva sesión de terminal e intente iniciar sesión con su nuevo nombre de usuario:
- ssh sammy@your_server_ip
Debería poder iniciar sesión en la nueva cuenta de usuario sin que se le solicite la contraseña SSH del usuario remoto para la autenticación. Si su clave SSH se configuró con una frase clave, es posible que se le solicite que desbloquee la clave SSH proporcionando esa contraseña cuando use la clave por primera vez en una sesión de terminal.
Recuerda, si necesitas ejecutar un comando con privilegios administrativos, escríbelo sudo
antes de esto:
- 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.
Si desea familiarizarse más con los comandos de Linux, puede consultar nuestra Introducción a la línea de comandos de Linux . Para ampliar su configuración, puede consultar nuestra página de etiquetas de Ubuntu 18.04 para obtener más guías basadas en esa distribución.
Deja una respuesta