Este artículo es la última entrega de nuestra serie Cloud Computing Foundations. Amplía tus conocimientos con nuestro Cloud Computing siguiendo nuestro curso de certificación.
Uno de los aspectos más importantes del ciclo de vida del desarrollo es comprender cómo proteger el entorno de alojamiento en el que se ejecutan nuestras aplicaciones web. Nuestros servidores permiten conexiones entrantes desde sistemas externos a través de puertos específicos siempre que desplegamos una aplicación web. Los puertos del servidor identifican el tráfico de red entrante y saliente.
Para entender las vulnerabilidades de los servidores, tenemos que pensar en dónde tienen lugar las comunicaciones.
![](https://www.linode.com/wp-content/uploads/2023/10/Server_Communication_Reference-1064x559.png)
En el ejemplo anterior:
- Un cliente (izquierda), normalmente un navegador web, envía una petición HTTP al servidor.
- El servidor recibe la petición HTTP y la procesa.
- El nombre de dominio se consulta en uno o varios servidores de nombres de dominio, normalmente gestionados por el registrador de nombres de dominio.
- El servidor recupera o genera el contenido solicitado y envía una respuesta HTTP al cliente.
- El cliente recibe la respuesta y renderiza el contenido.
Durante este proceso, en ciertos casos, las conexiones a nuestros servidores pueden proceder de ordenadores malintencionados que buscan explotar puntos débiles en la configuración de nuestros servidores. Hay muchas razones por las que un servidor puede ser explotado.
Veamos algunos ataques comunes a servidores.
Ataques distribuidos de denegación de servicio (DDoS)
En un ataque de denegación de servicio distribuido (DDoS), un atacante intenta sobrecargar un servidor objetivo con una avalancha de peticiones HTTP. Esto también se denomina ataque de inundación HTTP. Recuerde que cada vez que realizamos una petición HTTP, nuestros servidores tienen la tarea de responder a la petición. Si nuestros servidores no tienen la capacidad de recursos para satisfacer el número de solicitudes simultáneas entrantes, el servidor web se detendrá o se bloqueará. A continuación, cada solicitud HTTP posterior fallará, haciendo que el servidor web sea inalcanzable.
Los ataques DDoS se realizan generalmente a través de botnets. Las botnets son una red de dispositivos infectados con software malicioso, también conocido como malware, que está diseñado específicamente para producir una avalancha de peticiones HTTP a una máquina objetivo.
![](https://www.linode.com/wp-content/uploads/2023/10/HTTP_Flood_Attacks_Reference-1064x559.png)
La ilustración anterior ofrece una visión general de cómo funcionan los ataques de inundación HTTP. En el lado derecho, tenemos al cliente haciendo una petición al servidor, pero como hay varios bots haciendo también peticiones al servidor, agotando así los recursos del servidor, el cliente no puede conectarse al servidor.
Recorrido de directorios
El cruce de directorios es otro exploit común que suele dirigirse a servidores mal configurados. Todos los archivos web se sirven directamente desde el directorio raíz web. Los usuarios que se conectan a nuestros servidores a través de peticiones web HTTP sólo deberían poder acceder a archivos específicos del directorio raíz web, sin poder navegar o ejecutar archivos de carpetas que estén más arriba en la estructura de directorios. Si esto ocurriera, un atacante podría acceder a archivos críticos del sistema y de configuración y causar estragos en el servidor.
![](https://www.linode.com/wp-content/uploads/2023/10/Directory_Traversal_Reference-1064x558.png)
La imagen anterior muestra cómo funciona este ataque. El atacante envía una petición HTTP maliciosa utilizando una URL modificada, que incluye la ruta de directorio a un archivo de sistema o de configuración. El servidor procesa la petición y, como resultado de una mala configuración del servidor o del diseño de la aplicación, puede recuperar el archivo de sistema y mostrar su contenido o el código fuente.
Ataque de fuerza bruta
Un ataque de fuerza bruta, también llamado ataque de diccionario o toma de control de cuenta, es otro ataque muy común por el que un agente malicioso intenta entrar en un punto de acceso restringido de su servidor. Este punto de acceso restringido suele ser la cuenta raíz del servidor u otra cuenta con privilegios de raíz. Los atacantes utilizan malware para enviar automáticamente numerosos intentos de inicio de sesión con combinaciones de contraseña y nombre de usuario generadas automáticamente a partir de palabras del diccionario.
![](https://www.linode.com/wp-content/uploads/2023/10/Brute_Force_Attack_Reference-1064x317.png)
La ilustración anterior muestra cómo funciona este ataque. A la izquierda, el atacante envía repetidos intentos de inicio de sesión generados a partir de una lista de palabras utilizando malware. Si se encuentran las combinaciones correctas, el atacante obtendrá acceso al servidor. Los ataques de fuerza bruta pueden ser muy eficaces, incluso si un servidor sólo utiliza autenticación por clave SSH.
Proteger el servidor
Estas son algunas de las mejores prácticas que debe tener en cuenta a la hora de configurar y proteger sus servidores:
- Mantenga su sistema operativo y software al día con los últimos parches y actualizaciones de seguridad.
- Desactive o bloquee los servicios o puertos innecesarios para minimizar la superficie de ataque.
- Limite el acceso a su servidor permitiendo únicamente a los usuarios autorizados conectarse e interactuar con él.
- Asegure el tráfico de red utilizando protocolos de cifrado como SSL o TLS.
- Disponga de un sólido plan de copias de seguridad y recuperación en caso de catástrofe para minimizar la pérdida de datos y el tiempo de inactividad.
- Implemente contraseñas seguras y autenticación multifactor para protegerse contra el acceso no autorizado.
- Utilice cortafuegos para controlar el tráfico entrante y saliente de la red.
- Supervise los registros del servidor y el tráfico de red para detectar actividades sospechosas.
- Utilizar sistemas de detección y prevención de intrusiones para identificar y prevenir ataques.
- Implantar medidas de seguridad como permisos en el sistema de archivos y controles de acceso para proteger contra el acceso no autorizado a datos sensibles.
Adquiera los conocimientos necesarios para triunfar en la computación en nube con nuestro curso de certificación Introducción a Cloud Computing .
Comentarios