Cómo Asegurar un Servidor Linux en Casa

Servidor Linux en Casa Seguro Destacado

Hay muchas razones para configurar un servidor en casa. Puedes usarlo como un servidor de medios, un servidor de archivos o incluso un servidor de copia de seguridad local. Básicamente, cualquier archivo tuyo que no necesite estar en línea es un buen candidato para un servidor en casa. Configurar un servidor en casa con Linux es relativamente fácil, especialmente en estos días. Dicho esto, mantener ese servidor seguro es otra historia. La seguridad puede ser tan complicada como importante.

También lee: ¿Qué es Log4Shell y cómo proteger tu sistema Linux contra él?

Solo Instala Lo Que Absolutamente Necesitas

Una de las formas más sencillas de mantener tu servidor en casa seguro es tener en cuenta la seguridad desde el principio. Esto comienza con la instalación. ¿No estás seguro si necesitas una aplicación o servicio? No lo instales. Siempre puedes instalarlo más tarde.

Si has instalado Linux unas cuantas veces, esto es aún más fácil. En lugar de quedarte con las opciones predeterminadas, utiliza los modos que te permitan tener el mayor control sobre la instalación. A veces, estos se denominan “modo experto” o algo similar.

Llevar un control cuidadoso de las opciones de instalación puede ahorrarte tiempo deshabilitando servicios por razones de seguridad más adelante.

Configura sudo

Antes de pasar a otros pasos, necesitas configurar sudo. ¿Por qué? Porque una vez que terminemos aquí, iniciarás sesión en tu servidor a través de SSH y no podrás iniciar sesión como la cuenta root. Para hacer cualquier cambio adicional en tu sistema, necesitarás usar sudo.

Primero, verifica si ya puedes usar sudo. Desde tu cuenta de usuario, ejecuta lo siguiente con tu nombre de usuario en lugar de USERNAME:

sudo -lU USERNAME

Si ves un mensaje que indica que tu nombre de usuario puede ejecutar “(ALL) ALL” o algo similar, estás listo para continuar.

Ahora, como la cuenta root en tu servidor, ejecuta lo siguiente para editar el archivo “/etc/sudoers”. Si prefieres otro editor, utilízalo en lugar de nano.

EDITOR=nano visudo

Edita el archivo para incluir lo siguiente, con tu nombre de usuario en lugar de USERNAME:

USERNAME   ALL=(ALL) ALL

También lee: Cómo usar el escáner de vulnerabilidades Nessus en Linux

Configura SSH

Servidor Linux en Casa Seguro Openssh

Es posible que ya tengas SSH habilitado en tu servidor en casa. De hecho, probablemente lo tengas, ya que este es típicamente el modo en que interactúas con un servidor.

Primero, asegúrate de que OpenSSH esté instalado. Si usas otra distribución, tu comando puede variar, pero el nombre del paquete debería ser bastante consistente. En Ubuntu, ejecuta lo siguiente:

sudo apt install openssh-server

Usar autenticación basada en clave es mucho más seguro que la autenticación por contraseña, así que configuraremos SSH para que funcione de esta manera. Para hacer esto, asegúrate de que estás trabajando en un cliente que planeas conectar al servidor, no en el servidor mismo. Primero, quieres asegurarte de que no tienes ya claves SSH:

ls ~/.ssh/

Si ves “id_rsa” y “id_rsa.pub” entre los nombres de archivos listados, ya tienes claves SSH. Salta este siguiente paso.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Ahora copiarás la clave SSH a tu servidor:

ssh-copy-id USERNAME@SERVER

Para un servidor en casa, es probable que estés usando una dirección IP para tu servidor en lugar de un nombre. Si no conoces el nombre de tu servidor, utiliza tu dirección IP en lugar de SERVER arriba.

Ahora editaremos tus configuraciones de SSH para asegurarlas más. Inicia sesión en tu servidor desde el cliente en el que creaste las claves. Esto te permitirá iniciar sesión nuevamente después de este paso. Ejecuta lo siguiente, reemplazando nano con el editor de tu elección.

sudo nano /etc/ssh/sshd_config

Edita el archivo con las siguientes configuraciones. Estas estarán ubicadas en varios lugares en el archivo. Asegúrate de que no haya duplicados, ya que solo se seguirá la primera instancia de una configuración.

ChallengeResponseAuthentication no  
PasswordAuthentication no  
UsePAM no  
PermitRootLogin no

Ahora necesitas reiniciar el servidor SSH con uno de los siguientes comandos.

En Ubuntu, ejecuta:

sudo systemctl restart ssh

También lee: SELinux vs AppArmor: ¿Cuáles son las diferencias y cuál deberías usar?

Configura un Cortafuegos

Dependiendo de los servicios que estés ejecutando y cuánto se conecte tu servidor a Internet, puede que quieras activar un cortafuegos. Hay algunas opciones para esto, pero el método comprobado en Linux es iptables.

Configurar iptables está más allá del alcance de este artículo, pero no te preocupes. Tenemos una guía completa para configurar iptables en tu máquina.

Otra forma más fácil de configurar un cortafuegos es usar ufw. Puedes instalarlo con el comando:

sudo apt install ufw

Por defecto, bloqueará todos los puertos. Para habilitar el acceso en línea y por ssh, ejecuta los siguientes comandos de ufw para abrir los puertos 80, 443 y 22:

sudo ufw allow 80  
sudo ufw allow 443  
sudo ufw allow 22

Y por último, habilita el servicio ufw:

sudo ufw enable

Mantente Actualizado

Instalación de Servidor Linux en Casa Seguro

Los servidores pueden ser fáciles de olvidar si simplemente funcionan, pero esto puede ser peligroso. Asegúrate de mantener tu software actualizado. Puedes usar actualizaciones desatendidas, pero estas pueden ser impredecibles. La forma más segura es programar una cita regular de mantenimiento semanal o mensual del servidor para asegurarte de que todo esté en orden.

También lee: Las Mejores Herramientas de Código Abierto para Asegurar Tu Servidor Linux

¿Cuál es el Siguiente Paso?

Ahora tienes un buen comienzo para mantener tu servidor protegido de amenazas externas. ¿Qué pasa si necesitas acceder a tu servidor desde casa? Cada puerta que abres podría ser potencialmente utilizada por un atacante, y cada puerto abierto aumenta tu vulnerabilidad.

Una de las formas más sencillas de acceder a tu red doméstica desde el exterior es usar una VPN, que está fuera del alcance de este artículo, pero no te preocupes, te tenemos cubierto. Echa un vistazo a nuestra lista de los mejores servicios de VPN seguros disponibles para tener una idea de cuáles son tus opciones.