Configuración inicial del servidor con Debian 8, Ubuntu 16

Cuando se crea un nuevo servidor Debian 8, hay algunos pasos de configuración que se deben tener 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 dará una base sólida para las acciones posteriores.

Paso 1: Iniciar sessión como usuario root

Sustituya la palabra "SERVER_IP_ADDRESS" con la dirección IP pública del servidor:

local$ ssh root@SERVER_IP_ADDRESS

Paso 2: Crear un nuevo usuario con privilegios Root

Ccomo ejemplo voy poner wilzonmb

$ adduser wilzonmb

Paso 3: Aplicar privilegios Root

Ahora, tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, es posible que a veces tenga 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 raíz, podemos establecer lo que se conoce como "super usuario" o privilegios de root para nuestra cuenta normal. Esto permitirá que nuestro usuario normal para ejecutar comandos con privilegios administrativos, poniendo la palabra sudo antes de cada comando.

$ usermod -aG sudo wilzonmb

Paso 4: Añadir la autenticación de clave pública (Recomendado)

El siguiente paso en la obtención de su servidor es para configurar la autenticación de clave pública para el nuevo usuario. Configurar esto aumentará la seguridad de su servidor al requerir una clave privada SSH para conectarse.

Generar un par de claves

Si aún no dispone de un par de claves SSH, que consiste en una clave pública y privada, es necesario generar una. Si ya tiene una clave que desea utilizar, omita este paso.

Para generar un nuevo par de claves, introduzca el siguiente comando en el terminal de su máquina local (es decir, su ordenador.):

local$ ssh-keygen

Asumiendo que su usuario local se llama "usuariolocal", verá una salida que se parece a lo siguiente:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Copiar la clave pública

Después de generar un par de claves SSH, tendrá que copiar la clave pública para su nuevo servidor. Vamos a cubrir dos maneras fáciles de hacer esto.

Opcion 1: Usar ssh-copy-id

Ejecutar el script ssh-copy-id especificando la dirección IP del usuario y del servidor que desea instalar la llave, como esto:

local$ ssh-copy-id wilzonmb@SERVER_IP_ADDRESS

Después de proporcionar la contraseña en el indicador, se añadirá su clave pública al archivo .ssh/authorized_keys del usuario remoto. La clave privada que corresponde ahora se puede utilizar para iniciar sesión en el servidor.

Opción 2: instalar manualmente la clave

Copiar SSH key en portapapeles "mostramos con cat, luego seleccionamos y copiamos"

local$ cat ~/.ssh/id_rsa.pub

En el servidor, como usuario root, escriba el siguiente comando para cambiar temporalmente al nuevo usuario (sustituir su propio nombre de usuario):

$ su wilzonmb

Ahora usted estará en el directorio home del nuevo usuario.

Crear un nuevo directorio llamado .ssh y restringir sus permisos con los comandos siguientes:

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

Ahora pegar en este archivo

$ nano ~/.ssh/authorized_keys

Ahora restringir los permisos del archivo authorized_keys con este comando:

$ chmod 600 ~/.ssh/authorized_keys

Escriba este comando una vez para volver al usuario root:

$ exit

Paso 5: Configurar SSH

Ahora que tenemos nuestra nueva cuenta, podemos asegurar nuestro servidor un poco modificando su configuración demonio SSH (el programa que nos permita sesión de modo remoto) para no permitir el acceso remoto SSH a la cuenta root.

Comience abriendo el archivo de configuración con el editor de texto como root:

$ nano /etc/ssh/sshd_config

Con este cambio le restringimos el acceso al usurio root:

PermitRootLogin no

y con este código desactivamos la autenticación de contraseña (recomendado)

PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no

Reiniciar SSH

Ahora que ya hemos hecho nuestros cambios, tenemos que reiniciar el servicio SSH para que se utilice nuestra nueva configuración.

Escriba esto para reiniciar SSH:

$ systemctl restart ssh

Prueba de sesión

Ahora, antes de que finalice la sesión del servidor, se debería probar la nueva configuración. No desconecte hasta que se confirme que puede iniciar sesión con éxito a través de SSH.
En una nueva terminal en el equipo local, inicie sesión en el servidor con la nueva cuenta que hemos creado. Para ello, utilice este comando (sustituya su nombre de usuario y la dirección IP del servidor):

	
local$ ssh wilzonmb@SERVER_IP_ADDRESS

Si todo va bien, puede salir sus sesiones escribiendo:

$ exit

Paso 6: Configurar un firewall básico

Debian, Ubuntu servidores pueden utilizar el servidor de seguridad UFW para que sólo las conexiones seguras a ciertos servicios están permitidos. Podemos establecer un firewall básico muy fácilmente utilizando esta aplicación.

Diferentes aplicaciones pueden registrar sus perfiles con UFW al momento de la instalación. Estos perfiles permiten UFW para gestionar estas aplicaciones por su nombre. OpenSSH, el servicio que nos permite conectarnos a nuestro servidor ahora, tiene un perfil registrado con UFW. Esto se puede ver escribiendo:

$ sudo ufw app list

Verá una salida similar a este:

Available applications:
  OpenSSH

Hay que asegurarse de que el cortafuegos permite conexiones SSH para que podamos volver a iniciar sesión en la próxima vez. Podemos permitir estas conexiones escribiendo:

$ sudo ufw allow OpenSSH

Posteriormente, podemos activar el cortafuegos escribiendo:

$ sudo ufw enable

Para ver el estado  escriba:

$ sudo ufw status
 
Status: active
 
To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
22                         ALLOW       Anywhere (v6)
80/tcp                     ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Si instala y configura los servicios adicionales, tendrá que ajustar la configuración del firewall para permitir el tráfico aceptable. Usted puede aprender algunas operaciones comunes de la UFW en esta guía.