No abras puertos al mundo: te romperán (riesgos).

No abras puertos al mundo: te romperán (riesgos).

Una y otra vez, tras realizar auditorías, encuentro una pared de incomprensión ante mis recomendaciones de ocultar los puertos detrás de una lista blanca. Incluso los administradores / DevOps más expertos preguntan: «¿Por qué?!?»

Propongo considerar los riesgos en orden decreciente de probabilidad de ocurrencia y daño.

  1. Error de configuración
  2. DDoS por IP
  3. Fuerza bruta
  4. Vulnerabilidades de servicios
  5. Vulnerabilidades del stack del núcleo
  6. Intensificación de ataques DDoS

Error de configuración

Situación más típica y peligrosa. Cómo suele suceder. Un desarrollador necesita verificar rápidamente una hipótesis, levanta un servidor temporal con mysql / redis / mongodb / elastic. La contraseña, por supuesto, es complicada, la usa en todas partes. Abre el servicio al mundo: es cómodo conectarse desde su PC sin esos VPN. Y da pereza recordar la sintaxis de iptables, total, el servidor es temporal. Un par de días de desarrollo más, quedó excelente, ¡se puede mostrar al cliente! Al cliente le gusta, no hay tiempo para rehacer, ¡lo lanzamos en PRODUCCIÓN!

Ejemplo intencionadamente exagerado con el fin de repasar todos los tropiezos:

  1. Nada es más permanente que lo temporal: no me gusta esta frase, pero por sensaciones subjetivas, el 20-40% de estos servidores temporales permanecen durante mucho tiempo.
  2. Una contraseña compleja utilizada en muchos servicios es un mal. Porque uno de los servicios donde se usó esta contraseña podría haber sido hackeado. De una forma u otra, las bases de datos de servicios hackeados se concentran en una que se utiliza para [brute force]*.
    Cabe añadir que redis, mongodb y elastic son accesibles sin autenticación tras la instalación, y frecuentemente enriquecen la colección de bases abiertas.
  3. Puede parecer que nadie escaneará su puerto 3306 en un par de días. ¡Esta es una ilusión! Masscan es un excelente escáner y puede escanear a una velocidad de 10M de puertos por segundo. Y en internet hay solo 4 mil millones de IPv4. Por lo tanto, todos los puertos 3306 en internet están disponibles en 7 minutos. ¡Karl! ¡Siete minutos!
    «¿A quién le importa?» — dirán ustedes. Y yo me sorprendo al ver las estadísticas de paquetes descartados. ¿De dónde salieron 40 mil intentos de escaneo en un día desde 3 mil IP únicas? Ahora están escaneando todos, desde hackers aficionados hasta gobiernos. Es muy fácil de verificar: tome cualquier VPS por $3-5 de cualquier** bajo costo, active el registro de paquetes descartados y eche un vistazo al registro después de un día.

Activación del registro

En /etc/iptables/rules.v4, añada al final:
-A INPUT -j LOG —log-prefix «[FW — ALL] » —log-level 4

Y en /etc/rsyslog.d/10-iptables.conf
:msg,contains,»[FW — » /var/log/iptables.log
& stop

DDoS por IP

Si un atacante conoce tu IP, puede realizar un ataque DDoS a tu servidor durante varias horas o incluso días. No todos los proveedores de hosting de bajo coste cuentan con protección contra DDoS, y tu servidor simplemente será desconectado de la red. Si has ocultado tu servidor tras un CDN, no olvides cambiar la IP; de lo contrario, el hacker podrá encontrarla y atacar tu servidor evitando el CDN (un error muy común).

Vulnerabilidades de servicios

En todo el software popular, tarde o temprano se encuentran errores, incluso en los más probados y críticos. En el ámbito de los expertos en seguridad, hay una especie de broma: la seguridad de la infraestructura se puede evaluar fácilmente por la fecha de la última actualización. Si tu infraestructura tiene puertos expuestos al mundo y no la has actualizado en un año, cualquier experto en seguridad te dirá sin dudar que está comprometida y, lo más probable, es que ya haya sido hackeada.
También hay que mencionar que todas las vulnerabilidades conocidas solían ser desconocidas en algún momento. Imagina un hacker que descubrió tal vulnerabilidad y escaneó toda internet en 7 minutos para ver si estaba presente... Y así es como empieza una nueva epidemia viral :) Es necesario actualizar, pero eso puede perjudicar el entorno de producción, dirás tú. Y tendrías razón, si los paquetes no se instalan desde los repositorios oficiales del sistema operativo. Según mi experiencia, las actualizaciones desde el repositorio oficial rara vez rompen la producción.

Fuerza bruta

Como mencioné anteriormente, hay una base de datos con medio millardo de contraseñas que son fáciles de teclear. En otras palabras, si no generaste una contraseña y tecleaste símbolos adyacentes, ten la seguridad de que serás hackeado.

Vulnerabilidades del stack del núcleo.

A veces, sucede que no importa qué servicio específico esté abriendo un puerto, cuando el propio stack de red del núcleo es vulnerable. Esto significa que cualquier socket tcp/udp en un sistema de dos años de antigüedad es susceptible a una vulnerabilidad que conduce a un ataque DDoS.

Aumento de los ataques DDoS

No causará daños directos, pero puede saturar tu canal, aumentar la carga en el sistema, tu IP podría ser agregada a alguna lista negra, y recibirías un aviso de abuso por parte del proveedor de hosting.

¿Realmente necesitas todos estos riesgos? Agrega tu IP doméstica y laboral a la lista blanca. Incluso si es dinámica, inicia sesión a través del panel de administración del proveedor de hosting, mediante la consola web, y simplemente agrega otra.

He estado construyendo y protegiendo infraestructuras de TI durante 15 años. He desarrollado una regla que recomiendo encarecidamente a todos: no debe haber ningún puerto expuesto al mundo sin una lista blanca..

Por ejemplo, el servidor web más seguro es aquel que tiene los puertos 80 y 443 abiertos solo para CDN/WAF. Los puertos de servicio (ssh, netdata, bacula, phpmyadmin) deben estar al menos en una lista blanca y, mejor aún, detrás de una VPN. De lo contrario, corre el riesgo de ser comprometido.

Eso es todo. ¡Mantengan sus puertos cerrados!

  • (1) UPD1: Aquí puede verificar su genial contraseña universal (no haga esto sin reemplazar esta contraseña por una aleatoria en todos los servicios), para ver si ha sido expuesta en una base de datos filtrada. Y aquí puede ver cuántos servicios han sido hackeados donde su correo electrónico figuraba y, en consecuencia, averiguar si su genial contraseña universal ha sido comprometida.
  • (2) A crédito de Amazon, en LightSail hay un mínimo de escaneos. Parece que filtran de alguna manera.
  • (3) Un servidor web aún más seguro es aquel que está detrás de un firewall dedicado y su propio WAF, pero esto se refiere a VPS/Dedicados públicos.
  • (4) Segmentsmak.
  • (5) Firehol.

Solo los usuarios registrados pueden participar en la encuesta. Inicie sesión, por favor.

¿Tienes puertos expuestos hacia afuera?

  • Siempre
  • A veces
  • Nunca
  • No sé, me da igual

54 usuarios votaron. 6 usuarios se abstuvieron.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster