El término “computación en la nube” se menciona mucho en estos días. Pero, ¿qué significa realmente? Detrás de la palabra de moda se encuentran tecnologías reales, como la infraestructura como servicio (IaaS), que proporcionan computación, almacenamiento y redes escalables bajo demanda.
Sin embargo, migrar a la nube es como trasladar tu organización a un rascacielos infinitamente escalable pero invisible. El 75% de las empresas afirman que más del 40% de sus datos almacenados en la nube son sensibles. Descuidar la seguridad aquí deja mucha información de la empresa vulnerable a amenazas, como acceso no autorizado, explotaciones y no cumplimiento de normativas.
La buena noticia es que aunque “la nube” parece efímera, con los cimientos adecuados y las mejores prácticas, puedes asegurar eficazmente los entornos de IaaS.
En esta guía, compartiremos 12 consejos esenciales para asegurar los servidores en la nube no administrados, máquinas virtuales (VMs), contenedores, almacenamiento y servicios, beneficiándote del rápido crecimiento que ofrecen los entornos en la nube. ¡Comencemos!
1. Prohíbe Los Inicios de Sesión Root con Contraseña
Uno de los métodos más comunes que utilizan los atacantes para obtener acceso no autorizado a los servidores es mediante la fuerza bruta de contraseñas débiles para cuentas altamente privilegiadas como root o administrador.
Para entender por qué, imagina que eres un hacker malicioso. Si tu objetivo es entrar en un sistema y obtener acceso a datos sensibles, es probable que comiences intentando acceder a la contraseña root, utilizando fuerza bruta (intentando repetidamente diferentes contraseñas hasta encontrar la correcta). Si el intento es exitoso, obtienes acceso a la cuenta de root, que tiene el nivel más alto de permisos del sistema disponibles, permitiendo el control completo sobre el servidor.
Lo que sucede con los ataques de fuerza bruta es lo siguiente: las contraseñas débiles pueden ser descifradas fácilmente con las herramientas adecuadas, e incluso las contraseñas fuertes pueden ser descifradas por un hacker paciente y determinado.
¿Qué tal si deshabilitas por completo el inicio de sesión de root basado en contraseñas y en su lugar confías en la autenticación basada en claves SSH como alternativa?
[glossary_term_es title=”SSH” text=”El Protocolo de secure Shell o SSH, por sus siglas en inglés, es un protocolo criptográfico de red para ejecutar servicios de manera segura en redes no seguras. Se utiliza principalmente para ejecuciones de línea de comandos e inicios de sesión remotos.”]
Puedes encontrar esta configuración en el archivo /etc/ssh/sshd_config de tu servidor Linux.
Este es un excelente paso en la dirección correcta. Las claves SSH utilizan cifrado asimétrico, lo que significa que se utiliza un par de claves privada y pública, en lugar de una contraseña, para autenticar los intentos de inicio de sesión.
Puedes ir un paso más allá y deshabilitar el inicio de sesión de root a través de SSH para evitar que las personas intenten un ataque de fuerza bruta en root. Esto se puede hacer cambiando el ‘PermitRootLogin’ a ‘no’ en el mismo archivo.
La llave privada, como su nombre lo indica, se mantiene en privado por el usuario autorizado y se almacena en su computadora. La llave pública correspondiente se almacena en el servidor asociado con la cuenta de ese usuario.
Durante el proceso de inicio de sesión, las llaves utilizan métodos criptográficos para validar la conexión autorizada sin revelar la llave privada real. Este método protege eficazmente contra los ataques de fuerza bruta, ya que el inicio de sesión no puede ser comprometido mediante simples intentos de adivinanza de contraseña.
2. Habilitar Actualizaciones de Seguridad Automáticas
Todo software contiene vulnerabilidades: algunas conocidas y otras aún no descubiertas.
Los atacantes están constantemente probando programas en busca de nuevos errores que les permitan obtener acceso y control. Cuando los proveedores de software encuentran y corrigen vulnerabilidades, publican actualizaciones de seguridad.
Si estás actualizando manualmente los sistemas, los hackers pueden aprovechar la oportunidad cuando tus sistemas aún sean vulnerables y obtener acceso. Pero con las actualizaciones automáticas, puedes dejar ese estrés atrás.
Por ejemplo, si se descubre una vulnerabilidad en una biblioteca de programación utilizada por tu software de base de datos en la nube (por ejemplo, SQLite), los hackers podrían enterarse pronto y lanzar ataques.
Pero si tus servidores de base de datos están configurados para instalar automáticamente las actualizaciones de seguridad a medida que se publiquen, descargará y aplicará el parche para solucionar el problema antes de que ocurra cualquier eventualidad.
Además, el proceso de actualizaciones automáticas se puede personalizar para aplicar parches de seguridad en un horario establecido solo después de que hayan sido adecuadamente probados. Para sistemas críticos, puedes optar por organizar y probar las actualizaciones antes de su implementación general. La automatización elimina la carga de la intervención manual mientras mantiene seguro tu acceso a la nube.
3. Instala y Configura Fail2ban
Los ataques de fuerza bruta vienen en muchas formas, dirigidos a varios servicios de red. Más allá del abuso de inicios de sesión como SSH, también debemos considerar aplicaciones web, servidores de correo electrónico, bases de datos y más, que pueden ser vulnerables a intentos de adivinanza de contraseñas.
Aquí es donde las herramientas de protección contra intrusiones como Fail2ban son muy útiles.
Fail2ban funciona monitoreando continuamente archivos de registro generados por servicios de red y analizándolos en busca de signos de intentos de acceso fallidos repetidos que son indicativos de fuerza bruta automatizada. Cuando los intentos fallidos superan un umbral configurable, Fail2ban actualizará automáticamente las reglas del firewall del sistema para bloquear la dirección IP de origen responsable, evitando más abusos de ese servicio.
Para poner esto en perspectiva, considera lo siguiente:
Alicia configura Fail2ban en su servidor web para monitorear los registros de fallos de autenticación. Si una IP realiza cinco intentos de inicio de sesión fallidos en la consola de administración en menos de dos minutos (lo que indica un posible ataque), Fail2ban bloqueará automáticamente esa IP para acceder a la aplicación web durante 10 minutos. Esto protege la disponibilidad de la aplicación para usuarios legítimos, al mismo tiempo que disuade a los actores malintencionados.
Las prohibiciones temporales de IP, pueden ayudar a frenar a los atacantes que intentan adivinar credenciales o encontrar vulnerabilidades activamente. Fail2ban es altamente personalizable también; puedes ajustar los servicios monitoreados, los umbrales antes de prohibir, la duración de las prohibiciones, los parámetros de registro y más. Esta flexibilidad permite que se utilice ampliamente para proteger contra los riesgos de fuerza bruta en la mayoría de las cargas de trabajo en la nube.
4. Configura los Grupos de Seguridad en la Nube como Firewalls
Si bien herramientas como Fail2ban operan a nivel de servidor individual para protegerse contra ataques, también debemos considerar la protección de los recursos en la nube a nivel de red. Las plataformas en la nube de DreamHost están preconfiguradas para ser seguras.
Junto con esto, DreamHost te proporciona un firewall virtual configurable para que puedas decidir qué tráfico se acepta o se rechaza aparte de la configuración predeterminada.
Por ejemplo, los servidores web generalmente solo necesitan aceptar conexiones entrantes HTTP y HTTPS sobre los puertos 80 y 443. Entonces, el grupo de seguridad asignado a estos hosts se configuraría para bloquear todos los demás protocolos y combinaciones de puertos mediante reglas de denegación por defecto. De manera similar, el tráfico saliente se reduciría solo a lo que es absolutamente esencial para esa función.
La configuración cuidadosa de los grupos de seguridad actúa como la primera línea de defensa, permitiendo que solo el tráfico de ingreso y salida autorizado alcance tus servidores y servicios en la nube de acuerdo con las mejores prácticas de acceso con el menor privilegio posible.
5. Considera Implementar un Sistema de Detección de Intrusos
Si bien hemos discutido medidas para bloquear de manera proactiva los intentos de acceso no autorizado y prevenir la explotación de vulnerabilidades conocidas, los atacantes expertos aún pueden encontrar formas de penetrar las defensas a través de fallas aún desconocidas.
En estos casos, la detección lo más temprano posible se vuelve crítica.
Aquí es donde un Sistema de Detección de Intrusos (IDS) puede proporcionar un valor inmenso: monitorear continuamente los sistemas en busca de actividades sospechosas que indiquen una violación de seguridad. Las soluciones de IDS se presentan en dos formas principales:
- Network IDS (NIDS): Analiza los paquetes de red para detectar cargas maliciosas como virus o patrones de ataque conocidos. A menudo se utiliza para detectar la propagación de malware y los intentos de hacking centrados en la red.
- Host IDS (HIDS): Monitorea actividades, configuraciones y registros en un servidor individual. Verifica signos de manipulación, cambios no autorizados o violaciones de integridad.
“Para prevenir los ataques de fuerza bruta, se debe implementar la autenticación multifactor, políticas de sesión seguras, limitación de velocidad, cierres automáticos y un sistema de detección de intrusiones (IDS) completo. También es importante incluir el uso de identificadores de sesión seguros y aleatorios, almacenar datos de sesión en ubicaciones seguras como cookies HttpOnly y Secure, e implementar mecanismos para detectar y prevenir el acceso no autorizado a las sesiones.”
— Jesse Befus, Managing Director, Enterprise Identity & Access Management at ATB Financial
Un ejemplo popular utilizado para entornos Linux es Tripwire. Mantiene una extensa base de datos de referencia de atributos de archivos como permisos, hashes, metadatos, entradas de registro y más para el host. A intervalos periódicos, compara el estado actual con esta línea de base para detectar cualquier modificación no autorizada que pueda indicar actividad sospechosa.
Por ejemplo, un atacante aprovecha una vulnerabilidad para obtener acceso a la consola en uno de los servidores web. Intenta reemplazar archivos del sitio web con una versión maliciosa que roba los datos de pago de los clientes. Tan pronto como se realiza esta alteración, Tripwire detecta el cambio durante su próxima verificación de integridad programada. Alerta al administrador sobre la modificación inesperada del directorio raíz del sitio web, lo que le permite investigar la brecha antes de que ocurra un daño importante.
Sin Tripwire, dicho ataque podría haber pasado desapercibido, permitiendo que el atacante recopilara registros de clientes de manera sigilosa durante un período prolongado. ¡La detección rápida de intrusiones es clave para contener rápidamente la intrusión!
Como dicen, “la prevención es ideal, pero la detección es imprescindible”, y ahí es donde las ofertas de IDS en la nube ofrecen un valor inmenso para mantener seguros tus datos.
6. Aprovecha Extensamente el Cifrado de Datos
Hasta ahora hemos discutido múltiples capas de controles de seguridad con el objetivo de prevenir el acceso no autorizado a tus servidores en la nube. Sin embargo, un principio fundamental de seguridad de datos es que la prevención puede fallar, pero el cifrado sirve como última línea de defensa.
Incluso si se eluden todas las demás salvaguardias y los servidores en la nube son violados con éxito, el cifrado garantiza que los datos almacenados, como bases de datos SQLite, archivos de archivo y recursos compartidos de archivos, permanezcan protegidos e inutilizables para los atacantes. Esto también se aplica a los datos en tránsito, que deben cifrarse durante los flujos a través de las redes.
La encriptación se clasifica ampliamente en dos categorías:
- Asimétrica: Utiliza un par de claves público/privadas donde todo lo encriptado con la llave pública solo puede ser accedido a través de la clave privada correspondiente y viceversa. Generalmente, se utiliza para conexiones seguras.
- Simétrica: Se utiliza una llave secreta compartida para encriptar y desencriptar datos. Se utiliza para la encriptación eficiente de datos en reposo, ya que la misma clave encripta/desencripta.
Si todas las demás defensas fallan, los datos encriptados frustran los objetivos del atacante. ¿De qué sirve vulnerar un servidor de base de datos en la nube si todos los registros son palabras sin sentido, sin la llave de desencriptación?
7. Agenda Auditorías de Seguridad Regulares
Hemos cubierto varios controles preventivos y de detección para asegurar la infraestructura en la nube y los datos en reposo. Sin embargo, una práctica superpuesta que conecta los puntos entre todos ellos son las auditorías de seguridad rutinarias.
El 76% de las empresas encuestadas siguen un protocolo de auditoría de seguridad regular para ser proactivas en cuanto a problemas de seguridad.
Las auditorías sirven para varios propósitos invaluables:
- Validar que los controles estén implementados correctamente según lo previsto.
- Identificar si hay deficiencias o brechas que necesiten mejoras.
- Cuantificar y priorizar las exposiciones residuales al riesgo.
- Descubrir vulnerabilidades desconocidas que no son visibles de otra manera.
- Proporcionar una instantánea actualizada de la postura de seguridad actual.
Básicamente, las auditorías indican si las prácticas en la nube documentadas reflejan con precisión la realidad.
Puedes implementar auditorías informales de autoservicio como parte de la administración diaria o programar evaluaciones exhaustivas formales anualmente, dependiendo de la madurez del programa.
Piensa en estas auditorías de seguridad en la nube rutinarias como “exámenes de salud” necesarios, que encuentran áreas de riesgo y validan prácticas exitosas para que se puedan tomar medidas correctivas antes de que algo salga mal.
8. Implementa Gestión de Identidad y Acceso
Ahora que hemos discutido las salvaguardias implementadas directamente dentro de la infraestructura en la nube en sí, el siguiente paso lógico es gestionar el acceso administrativo.
Sin la gestión de identidad y acceso (IAM) actuando como guardianes de la nube, los atacantes simplemente apuntarían a las credenciales de usuario para pasar por alto las defensas de infraestructura a través de canales de acceso legítimos.
Por eso, un programa IAM sólido se convierte en la base de quién puede acceder a los entornos y datos en la nube dentro de permisos prescritos, otorgando solo privilegios esenciales.
Algunos de los componentes más importantes de un IAM incluyen:
- Servicios de directorio centralizados: Mantener cuentas de usuario y roles en un directorio central como Active Directory con inicio de sesión único frente a localmente en servidores individuales. Ejecuta la revocación de acceso, políticas de contraseñas y consolidación.
- Principio de menor privilegio: Los usuarios se asignan a roles y grupos que se corresponden con el menor conjunto de sistemas y permisos necesarios para la función frente a acceso general. Minimiza el radio de explosión de exposición si las cuentas se ven comprometidas.
- Autenticación fuerte: Contraseñas aumentadas con autenticación multifactorial para acceder a consolas administrativas en la nube e infraestructura. Reduce la susceptibilidad a ataques de fuerza bruta al requerir factores adicionales como tokens o biometría al autenticar sesiones.
- Gestión de derechos: Asignaciones de acceso y elevaciones rastreadas, proporcionando visibilidad en los permisos. Revisiones de acceso automatizadas combinadas con informes de derechos de rutina para eliminar asignaciones innecesarias con el tiempo.
- Registros de auditoría: Registro de actividades con herramientas como CloudTrail que registra acciones administrativas en toda la infraestructura en la nube. Fundamental para la investigación de incidentes, el cumplimiento y la exposición de acciones de riesgo interno.
- API/tokens: Acceso a la nube basado en código a través de API y herramientas que dependen de tokens generados de corta duración. Añade protecciones en comparación con solo inicios de sesión interactivos basados en usuarios
Un IAM robusto es crucial para la seguridad del sistema en la nube porque dicta quién puede penetrar en los entornos en la nube, independientemente de las defensas de seguridad de la infraestructura. Si se implementa el acceso privilegiado, las copias de seguridad y la encriptación, el resto se vuelven exponencialmente más efectivas, ya que IAM corta el acceso no autorizado en las raíces.
9. Requiere Autenticación Multifactor (MFA)
Expandirte aún más en los controles de acceso, un mecanismo increíblemente útil para incorporar es la autenticación multifactorial (MFA) que impone múltiples métodos de verificación de identidad.
Mientras que la autenticación de un solo factor se basa en solo una credencial, como contraseñas, el MFA capitaliza que los usuarios tengan múltiples métodos de validación en su posesión al requerir cualquier dos o más para autenticar completamente sesiones. Esto minimiza sustancialmente los riesgos de suplantación de identidad, incluso si un factor se ve comprometido.
Ejemplos comunes incluyen:
- Exigir un código de verificación único enviado por SMS/correo electrónico junto con la entrada de nombre de usuario/contraseña.
- Usar un token de hardware o aplicación de autenticación para generar códigos rotativos.
- Aprovechar la biometría como escaneos de huellas dactilares o reconocimiento facial en dispositivos móviles.
- Responder preguntas de seguridad predefinidas por el usuario.
Por lo tanto, incluso si se adivina correctamente la contraseña de la consola en la nube mediante fuerza bruta, sin interceptar el teléfono del usuario para obtener tokens SMS, la sesión no puede avanzar. Por eso, las cuentas de DreamHost pueden asegurarse con MFA — Esta barrera adicional puede disuadir los ataques automatizados, dejándolos buscando un objetivo más fácil.
10. Asegura los Puntos Finales que Acceden a la Nube
Hasta ahora, nuestras técnicas de protección de datos se han centrado en asegurar la infraestructura en la nube en sí misma, así como los canales de acceso a ella. Sin embargo, debemos considerar las amenazas que provienen de puntos finales comprometidos, que luego se conectan a los entornos en la nube.
Por ejemplo, si las computadoras portátiles y estaciones de trabajo carecen de protección antivirus, el malware podría pivotar desde ellas hacia servidores en la nube que, de otro modo, estarían bien protegidos.
Es por eso que las salvaguardias de seguridad de los puntos finales se integran estrechamente con las políticas de acceso a la nube como otra capa crítica de defensa en profundidad.
Las técnicas comunes de mejoramiento de puntos finales involucran:
- Instalación de herramientas antivirus/antimalware reputables.
- Despliegue de detección y respuesta en el punto final (EDR) para monitoreo adicional.
- Activación de firewalls y sistemas de detección de intrusiones basados en el host.
- Mantenimiento de parches y actualizaciones de seguridad de manera oportuna.
- Seguimiento de inventarios de activos con software de agente.
- Prohibición de privilegios de administrador en dispositivos de usuarios finales.
- Imposición de encriptación de unidades a través de Bitlocker.
- Bloqueo de dispositivos periféricos no autorizados como almacenamiento USB.
- Configuración segura de proxies web y filtrado DNS.
11. Prioriza la Conciencia y Formación en Seguridad
Después de discutir las diversas salvaguardias técnicas y procedimentales para asegurar los datos en la nube, ahora abordemos lo que a menudo es la mayor vulnerabilidad: el elemento humano.
Por mucho que arquitectemos defensas en capas como firewalls, IAM, encriptación y endurecimiento para proteger la infraestructura en la nube, nada de eso importa si los usuarios mismos participan en prácticas riesgosas, ya sea intencionalmente o por accidente.
Algunos ejemplos comunes incluyen:
- Reutilización de contraseñas entre cuentas personales y laborales.
- Apertura de correos electrónicos de phishing y archivos adjuntos maliciosos.
- No verificar los enlaces antes de hacer clic en ellos.
- Almacenamiento de contraseñas en archivos o notas inseguras.
- Discusión de datos confidenciales a través de canales inseguros.
- No cerrar sesión en cuentas de servicios en la nube después de usarlas.
- Guardar archivos que contienen datos sensibles en compartimientos de almacenamiento en la nube públicos.
La lista continúa. Ningún control técnico puede compensar completamente la falta de conciencia de seguridad entre los equipos que operan plataformas en la nube día a día. Por eso, la educación continua es el escudo más fuerte al cultivar una cultura auto-reforzante de seguridad.
Implementar programas formales de capacitación en conciencia de seguridad debe enfocarse en:
- Phishing simulado: Entrena al personal para identificar y evitar señuelos de phishing del mundo real dirigidos a credenciales y datos en la nube. Mejora la alfabetización de amenazas.
- Prácticas seguras: Proporciona orientación sobre higiene de contraseñas, indicadores de ingeniería social, manejo de datos sensibles, uso adecuado de la nube y más. Establece expectativas de uso.
- Riesgos en la nube: Destaca vulnerabilidades comunes específicas de la nube como configuraciones incorrectas, expansión de acceso y fugas de datos para que el personal comprenda mejor las implicaciones de sus responsabilidades.
- Requisitos de cumplimiento: Describe políticas para la gestión de acceso, terceros que manejan datos y regulaciones de utilización. Mantiene el cumplimiento.
- Reporte de incidentes: Fomenta el reporte confidencial de violaciones o brechas sospechosas detectadas. Mejora la visibilidad.
“No hay contraseña, pase, administrador de contraseñas o autenticación de dos factores, solo que pueda protegerte contra la ingeniería social. Los ingenieros sociales nos atacan primero como seres humanos y luego la tecnología que usamos. Debemos entender que las soluciones técnicas por sí solas no proporcionarán una protección perfecta.”
La capacitación de actualización anual o bianual combinada con un coaching continuo fomenta una cultura organizacional centrada en la seguridad donde los usuarios en la nube aprecian mejor el manejo seguro de los datos.
12. Monitorear la Postura de Seguridad del Proveedor de Servicios
Por último, pero ciertamente no menos importante, una dimensión de la seguridad en la nube que a menudo se pasa por alto es la gestión de la seguridad proporcionada por el propio proveedor de servicios en la nube.
“El monitoreo es importante, ya que las herramientas no funcionan al 100% por sí solas. Ten un tercero o un equipo para analizar las alertas y responder a los incidentes. Esta es la mejor manera de mejorar tu seguridad y salvaguardar tus activos de información.”
— Felipe Mafra, CISO North America at Thales GTS
Si bien las discusiones sobre encriptación, gestión de acceso y similares se centran en controles gestionados directamente por nosotros, el proveedor de la nube también implementa protecciones fundamentales para los centros de datos, redes e infraestructura de hardware que respaldan nuestros entornos informáticos.
Ejemplos de medidas de seguridad implementadas por los proveedores incluyen:
- Protecciones físicas del centro de datos como cercas, videovigilancia y guardias.
- Autenticación biométrica para el acceso al centro de datos.
- Energía redundante y respaldos para asegurar la infraestructura.
- Hipervisores endurecidos que separan las instancias de clientes.
- Mitigación de DDoS para redes.
- Auditorías regulares de terceros.
Entonces, mientras gobernamos la seguridad de las cargas de trabajo en la nube implementadas, también debemos revisar periódicamente la postura de seguridad mantenida por el proveedor de servicios, especialmente en relación con las áreas de responsabilidad compartida.
Puedes comenzar por:
- Revisar las certificaciones de auditoría del proveedor.
- Monitorear avisos de asesoramiento sobre amenazas emergentes que afecten a los servicios.
- Examinar las políticas de selección de empleados y manejo de datos del proveedor.
Múdate a la Nube Confiable, con DreamHost
Tus datos son tu negocio. Es el trabajo que has pasado años construyendo. Por eso es tan importante mantener tus datos seguros, especialmente cuando se almacenan en la nube.
Las ideas que cubrimos en este artículo son un excelente punto de partida para la seguridad de tus datos en la nube.
Pero aquí está la cosa: mantener tus datos seguros no se trata solo de seguir una lista de reglas. Se trata de ser vigilante, de estar consciente de los riesgos y de tomar medidas para protegerte.
La verdad es que los datos son tan valiosos como el petróleo, y los hackers quieren robar tanto como puedan. Y están mejorando en lo que hacen. Por eso también necesitas un proveedor de servicios que te ayude a implementar las mejores prácticas de seguridad mientras haces lo que mejor sabes hacer: hacer crecer tu empresa.
DreamHost se enfoca en la seguridad y las copias de seguridad, para que puedas estar seguro de que tu valioso trabajo no será en vano si ocurre un incidente de seguridad. Si estás considerando un proveedor de servicios en la nube para tu proyecto, prueba DreamHost hoy.
DreamObjects es un servicio de alojamiento de objetos, de bajo costo, grandioso para alojar archivos, copias de seguridad y desarrollo de aplicaciones web.
¡Pruebalo Hoy!