Información importante sobre la seguridad de su servidor Linux (Parte 1 de 2)

Un servidor le ofrece muchas posibilidades interesantes. Sin embargo, cuando usted compra un servidor con acceso root, también es responsable de la seguridad del mismo. La responsabilidad recae sobre todas las acciones realizadas por el servidor. Por esta razón es muy importante que proteja su servidor lo antes posible y aumente el nivel de seguridad contra ciberataques con el fin de reducir la superficie expuesta a dichos ataques.

Esta serie de artículos ofrece algunas recomendaciones y enumera medidas de seguridad importantes para elevar el nivel de seguridad de su servidor Linux.

A continuación se listan las recomendaciones generales de seguridad más importantes y algunos consejos para configurar y manejar su servidor Linux de forma segura.

Atención

Estas recomendaciones de seguridad se aplican solo a los servidores con acceso root.

Instale parches de seguridad y actualizaciones cada cierto tiempo

Normalmente, las vulnerabilidades conocidas se cierran rápidamente con la ayuda de actualizaciones. Sin embargo, esto solo funciona si instala con cierta frecuencia los parches de seguridad y las actualizaciones para el sistema operativo y los programas instalados. Actualice también cualquier plug-in adicional que tenga instalado.

Casi todos los sistemas operativos ofrecen la opción de descargar e instalar automáticamente actualizaciones de seguridad importantes en segundo plano. Para conocer y descargar nuevos paquetes de software disponibles diariamente, puede utilizar scripts específicos como apt-listchanges o apticron. Con el paquete de actualizaciones desatendidas de Ubuntu o el programa Yum-cron de CentOS 7 puede instalar los parches de seguridad para su sistema operativo automáticamente.

Si lo considera necesario, puede probar los parches de seguridad y las actualizaciones de sus aplicaciones y plug-ins antes de la instalación para ver cuáles serían los posibles efectos en su entorno específico antes de instalarlos en el servidor. Tenga en cuenta, sin embargo, que necesita un segundo servidor para dicha prueba.

Utilice la autenticación por clave pública en lugar de la autenticación por contraseña

El protocolo de red SSH soporta varias variantes para el acceso de clientes en el servidor. Además de la conocida autenticación clásica (con nombre de usuario y contraseña), también puede utilizarse la autenticación de clave pública. Este tipo de autenticación utiliza una clave privada y una clave pública para autenticar a los usuarios. Si lo desea, puede proteger la clave pública con una contraseña.

Para configurar la autenticación de clave pública, la clave pública debe almacenarse en su servidor. La clave privada se almacena localmente en su ordenador.

Si utiliza este tipo de autenticación, puede acceder al servidor utilizando únicamente la clave pública, sin tener que introducir una contraseña. Si ha protegido la clave pública con una contraseña, puede que tenga que introducirla. Para aumentar aún más el nivel de seguridad, también puede desactivar la autenticación por contraseña SSH. En este caso, la autenticación con contraseña solo es posible si accede al servidor utilizando la consola KVM (para servidores en nube o virtuales) o la consola VNC (para servidores dedicados).

Nota

Al crear un Servidor Cloud, puede guardar la clave pública en el Panel Cloud y asignarla al servidor mientras realiza la configuración inicial. La clave pública se asocia automáticamente al archivo /root/.ssh/authorized_keys durante la creación del servidor.

Para aumentar aún más el nivel de seguridad, también puede desactivar la autenticación por contraseña SSH. Así solo es posible acceder al servidor mediante la autenticación por clave pública. En este caso, la autenticación con contraseña solo es posible si inicia sesión en el servidor utilizando la consola KVM (servidores cloud y virtuales) o la consola VNC (servidores dedicados).

Utilice siempre contraseñas seguras

Las contraseñas débiles facilitan a los posibles atacantes el acceso a su servidor. En caso de ataque, el atacante podría usar su servidor para actividades maliciosas, usar los recursos de su servidor, o posiblemente tomar el control del servidor y bloquearlo.

Por lo tanto, siempre debe utilizar contraseñas seguras y complejas, y cambiarlas regularmente. Tenga en cuenta los siguientes criterios para crear una contraseña sólida y segura:

  • Utilice una contraseña distinta para cada servicio y para cada base de datos que se ejecute en el servidor.

  • Utilice una contraseña que no esté en los diccionarios.

  • Utilice siempre una contraseña que difiera significativamente de las contraseñas anteriores.

  • No utilice ningún dato de su entorno personal, como cumpleaños, nombres, etc.

  • No utilice una contraseña que contenga el nombre de usuario o el nombre de la empresa.

  • No comparta su contraseña con terceros.

  • Combine diferentes tipos de caracteres, como letras, números y caracteres especiales.


Una contraseña segura contiene:

  • Mín. 8 caracteres

  • Letras mayúsculas y minúsculas: a-z, A-Z

  • Números del 0-9

  • Caracteres especiales

Establezca una rutina para las copias de seguridad

La pérdida de datos puede provocar graves daños, además de costosos. Por esta razón, debe establecer lo antes posible una rutina adecuada para realizar copias de seguridad. Establecer una estrategia de copias de seguridad es una cuestión técnicamente muy compleja, ya que hay que tener en cuenta muchos factores. Algunos de los factores más importantes son, por ejemplo:

  • Determinar la situación de riesgo: depende de la finalidad del servidor y de su dependencia con respecto a la base de datos.

  • Clasificar los datos: ¿qué tipo de datos se quieren almacenar? ¿Quiere realizar una copia de seguridad de los datos relevantes para el sistema o de los datos personales?

  • Disponer de datos: ¿qué aplicaciones dependen de los datos y en qué forma? ¿Pueden funcionar las aplicaciones también sin los datos que quiere almacenar?


Además, debe considerar las siguientes cuestiones antes de desarrollar su rutina:

  • ¿Qué pérdida de datos es aceptable?

  • ¿Cuánto tiempo se tardaría en reconstruir los datos?

  • ¿Cómo de grande es el volumen de datos y cómo evolucionará?

  • ¿Cómo se debe realizar una copia de seguridad de los datos?

  • ¿Existen plazos para la eliminación y el almacenamiento de datos?

  • ¿Son confidenciales los datos? ¿Se requiere una protección especial para acceder a estos? ¿Existen requisitos legales?

  • ¿Cuándo se puede crear la copia de seguridad sin perjudicar a otros procesos?

  • ¿Cuánto tiempo debe almacenar las copias de seguridad?


Otro punto importante que debe considerar al establecer su rutina es el tipo de copia de seguridad que quiere realizar. Se hace una distinción básica entre los siguientes tipos de copias de seguridad:

Copia de seguridad completa

Una copia de seguridad completa contiene todos los datos seleccionados para la copia de seguridad.

Copia de seguridad diferencial

Una copia de seguridad diferencial realiza una copia de seguridad de todos los archivos que han sido modificados o añadidos desde la última copia de seguridad completa. Los cambios se realizan siempre en relación con la copia de seguridad completa. Las copias de seguridad diferenciales aumentan día a día hasta que se vuelve a realizar una copia de seguridad completa. Sin embargo, requieren menos espacio en disco que una copia de seguridad completa y pueden realizarse más rápido.

Para recuperar datos de una copia de seguridad diferencial, también debe tener acceso a la última copia de seguridad completa. Cada copia de seguridad diferencial se puede modificar independientemente del resto.


Copia de seguridad incremental

Las copias de seguridad incrementales ahorran mucho espacio y se pueden realizar rápidamente.

Con una copia de seguridad incremental, solo se realiza una copia de seguridad de los datos que se han creado o modificado desde la última copia de seguridad. No importa si se trata de una copia de seguridad completa o incremental.

Por lo tanto, para restaurar una copia de seguridad incremental, usted también debe tener acceso a otras copias de seguridad realizadas previamente, ya que las copias de seguridad son interdependientes. Si elimina una de las copias de seguridad incrementales anteriores o una copia de seguridad completa, no podrá restaurar todo el paquete.

Además de desarrollar una rutina adecuada para las copias de seguridad y de crear copias de seguridad con regularidad, también debe asegurarse de comprobar con regularidad si las copias de seguridad se pueden recuperar.

Asegúrese de que los servicios locales escuchen solo al localhost

No todos los servicios son accesibles a través de la red o de Internet. Por lo tanto, asegúrese de que los servicios locales escuchen al localhost. Por ejemplo, si está ejecutando una instancia local de MySQL en su servidor web, la base de datos solo debería escuchar al localhost. Lo mismo se aplica a los programas y aplicaciones que somete a comprobación. Configure su aplicación para que se conecten al localhost.

Utilice VPN para acceder a su servidor

Si ha adquirido un Servidor Cloud, puede utilizar VPN para establecer una conexión segura entre su ordenador local y su servidor (cifrado con SSL).

Nota

Por razones técnicas, solo se puede establecer una única conexión a sus Servidores Cloud a través de VPN. Si desea establecer varias conexiones VPN al mismo tiempo, debe configurar una conexión VPN para cada ordenador local.

Puede crear la conexión VPN de forma cómoda y sencilla a través del Panel Cloud en el área Red > VPN.

Para utilizar VPN, debe instalar y configurar el software OpenVPN en el ordenador local.

Más información sobre el uso de VPN se puede encontrar aquí:

Crear VPN

Instalar y configurar OpenVPN

Establecer una conexión segura con OpenVPN (Windows)

Restrinja el acceso al servidor

Para aumentar la seguridad del servidor, permita el acceso al mismo solo a aquellos usuarios que necesiten trabajar con él.

Instale solo las aplicaciones necesarias

Instale las aplicaciones que realmente necesita. Cuantas más aplicaciones instale en el servidor, mayor será el riesgo de vulnerabilidades.

Nota

Si es posible, instale únicamente aplicaciones procedentes de fuentes oficiales. Las aplicaciones de fuentes no oficiales pueden contener malware o virus.

Abra solo los puertos que realmente necesite

Los puertos abiertos no plantean un riesgo de seguridad en particular a menos que las aplicaciones que responden tengan vulnerabilidades que los atacantes puedan explotar. A medida que aumenta el número de aplicaciones, este peligro potencial crece.

Monitoree su servidor

La monitorización es una herramienta importante para aumentar la seguridad de los servidores. Solo mediante la supervisión del servidor se puede detectar a tiempo un fallo del servidor o un fallo de sus componentes o aplicaciones. Esta estrategia también es válida para combatir ciertos tipos de ciberataques. Si atacan su servidor, una respuesta rápida es esencial para detener el ataque y minimizar el daño causado.

Revise su servidor regularmente para detectar malware y virus

Aunque Linux suele estar menos afectado por el malware y los virus que Windows, no es inmune contra los programas maliciosos. Para los sistemas Linux, hay varios escáneres de virus y programas maliciosos que puede utilizar para comprobar regularmente la integridad de sus servidores.

Algunos de los programas más conocidos son Linux Malware Detect, Rootkit Hunter y ClamAV.

Nota

Asegúrese de que las firmas de antivirus y antimalware se actualicen regularmente.

Más artículos sobre este tema

El segundo artículo de esta serie se puede encontrar aquí: Información importante sobre la seguridad de su servidor Linux (Parte 2 de 2)