InfraFenceInfraFence

Live Security Operations

Empezar

Puertos y bloqueo saliente

Detección de escaneos de puertos, cierre de puertos de bases de datos y de administración expuestos y bloqueo del tráfico saliente hacia direcciones peligrosas con InfraFence, cada cambio verificado y revertido si rompe algo.

Última actualización:

Detección de escaneos de puertos

El agente ve cada intento de conexión TCP entrante, tanto a puertos abiertos como cerrados, mediante un filtro de solo lectura en el kernel. Un escaneo de puertos es:

  • una dirección que toca 15 puertos distintos en 10 minutos, o
  • una red (un /24 en IPv4, un /64 en IPv6) que toca 30 puertos distintos desde 3 o más direcciones en 10 minutos.

Detectar escaneos de puertos está activado por defecto y genera un aviso port_scan. Banear a quien escanea puertos está desactivado por defecto, porque los servicios de monitorización y los buscadores también escanean; si lo activas, banea direcciones sueltas, nunca redes enteras.

Cerrar un puerto

Las bases de datos y los servicios de administración no deberían estar expuestos a internet. Cerrar un puerto descarta las conexiones nuevas a ese puerto desde direcciones públicas; el loopback, las redes privadas y las direcciones de la lista blanca mantienen el acceso, igual que los programas del propio servidor. Cubre los puertos publicados por contenedores Docker, y también IPv6 cuando ip6tables está disponible.

Solo se pueden cerrar estos puertos: 3306, 5432, 6379, 6380, 27017, 27018, 9200, 9300, 11211, 2375, 2376, 5984, 8086, 15672, 5601, 9042, 7000, 7001, 8529 y 28015 (MySQL, PostgreSQL, Redis, MongoDB, Elasticsearch, Memcached, la API de Docker, CouchDB, InfluxDB, RabbitMQ, Kibana, Cassandra, ArangoDB, RethinkDB).

Nunca se cierran: 22, 80, 443, cualquier puerto en el que escuche SSH o que use una sesión SSH abierta, y cualquier puerto en el que escuche un servidor web. Un puerto no se cierra mientras haya una dirección pública conectada a él.

Bloquear el tráfico saliente

Un destino solo se puede bloquear si el propio agente lo marcó como amenaza en las últimas 24 horas: una conexión a una dirección listada, una respuesta DNS que apunta a una, o una entrada de la lista de amenazas aplicada. Nunca se bloquean: las direcciones privadas, protegidas y de la lista blanca, el panel, los servidores DNS configurados, una dirección con una sesión SSH iniciada en ese momento o desde la que llegó un inicio de sesión SSH en los últimos 30 días, ni una dirección conectada en ese momento a un servicio del servidor. Una conexión a SSH que no ha iniciado sesión, como un ataque de fuerza bruta, no protege a nadie. Los bloqueos salientes se aplican a IPv4.

Destinos habituales

El agente cuenta las conexiones salientes del propio servidor por dirección y por día: solo direcciones IPv4 públicas y un recuento diario, que se guardan 7 días. Una dirección es un destino habitual cuando, la primera vez que coincidió con una lista de amenazas, el servidor se había conectado a ella 5 o más veces en 3 o más de los 7 días anteriores. Una API, un servicio de copias de seguridad o un mirror de actualizaciones que acaba en una lista de amenazas no debe quedar cortado por una decisión automática, así que bloquear un destino habitual requiere a una persona: Aplicar de un propietario o administrador con autenticación en dos pasos, o una aprobación en Aprobaciones. La coincidencia indica cuántas conexiones en cuántos días. Un bloqueo que ya está en vigor se mantiene. Una dirección que ya estaba en una lista cuando el servidor la alcanzó por primera vez nunca se convierte en habitual (agente 1.0.35 o posterior).

Una coincidencia también indica su dirección. inbound significa que la dirección listada se conectó a un servicio del servidor: es un atacante, no un destino, y AutoMode la banea en lugar de bloquear el tráfico hacia ella.

Quién lo pide

Los puertos se cierran y los destinos se bloquean cuando una persona lo pide desde el panel, o cuando lo deciden AutoMode o el modo de emergencia. Cada cambio aparece en Actividad, con Deshacer. En modo monitor no cambia nada.

AutoMode y el modo de emergencia cierran un puerto por sí solos solo cuando es uno de 3306, 5432, 6379, 27017, 9200, 11211, 2375, 2376, 5984 y 8086, el control de hardening lo encontró abierto a la red y fue atacado en las últimas 24 horas (agente 1.0.31 o posterior, que informa de sus puertos SSH). Cualquier otro puerto necesita tu aprobación: el 3306 de MySQL sin ataques, el 5432 de PostgreSQL o el 15672 de RabbitMQ esperan en Aprobaciones. AutoMode y el modo de emergencia bloquean un destino por sí solos solo tras una coincidencia crítica de una conexión saliente, y nunca un destino habitual.

Aprobar un puerto requiere la autenticación en dos pasos. Solo un propietario o administrador con la sesión iniciada con autenticación en dos pasos puede aprobar el cierre de un puerto, o cerrarlo al momento con Aplicar en la puntuación de seguridad; sin 2FA, ese Aplicar también se convierte en una solicitud en Aprobaciones. Actívala en Ajustes › Seguridad.

Verificado, o deshecho

Antes de cada cambio, el agente anota qué puertos SSH y qué sitios responden; después, los vuelve a comprobar. Si algo dejó de responder, deshace el cambio por sí solo e informa Revertida por el servidor.

Las reglas viven en las cadenas del agente INFRAFENCE-PORTS e INFRAFENCE-EGRESS, y se restauran después de un reinicio. Límites: 200 puertos cerrados y 1.000 destinos bloqueados por servidor.