Ártica ST logotipo año 2020 Pandora FMS

Monitorización de puertos con Pandora FMS

El antiguo Imperio Romano gustaba de llamar a lo que ahora es el Mar Mediterráneo como Mare Nostrum (Nostrum Mare) colocando a la que ahora es la ciudad portuaria de Barcelona como punto de entrada a Hispania (hoy península ibérica) desde la ciudad de Miseno, ubicada en el sur de lo que ahora es Italia. Para los romanos la monitorización de puertos era crucial y para nosotros ahora también ¿cómo, se preguntarán vds.? ¡Veamos!

Modelo de trirreme romana ( https://commons.wikimedia.org/wiki/File:Trireme_1.jpg ).
Modelo de trirreme romana
( https://commons.wikimedia.org/wiki/File:Trireme_1.jpg ).

Sí, en la vida real cada puerto marítimo es la entrada a la mayoría de los países del mundo, ya que es decenas de veces más barato que el transporte terrestre… aunque mucho más lento que el transporte aéreo. Los romanos y ahora los Estados modernos saben por experiencia de miles de años que la monitorización de puertos es de mucha y suma importancia.

En los ordenadores también existen puertos físicos: es donde conectamos cada teclado, monitor, etcétera. Así existen infinidad de ellos, tales como puertos seriales (9 ó 25 pines o agujas conectoras), USB, para vídeo como HDMI o el viejo VGA. En este artículo iremos un paso más allá: los puertos virtuales, una abstracción (o mejor dicho, 65.535 abstracciones, ese es el número de puertos abarcados en 16 bits) que hacen los sistemas operativos en la capa de aplicaciones, para entregar a cada programa sus datos o información necesarios. Pero será luego que retomemos este punto.

Así entonces las cosas, en el mundo de la informática la monitorización de puertos tampoco es cualquier cuestión baladí:

  • Empresas como @StatusCakeTeam (Twitter) realizan diariamente más de 380 millones de comprobaciones de sitios web, por supuesto contactando con los puertos respectivos de cada protocolo (HTTP/HTTPS, TCP, SSH, DNS, SMTP, PING, PUSH).
  • En países como Reino Unido, Alemania y Finlandia se toman muy en serio la exploración de puertos al punto que hay leyes al respecto. Obviamente esto no se aplica a la monitorización, incluso si es realizada por terceros que hemos contratado para esa tarea, ya que son labores consensuadas.

Como la monitorización de la seguridad está entre los retos inmediatos de Pandora FMS (PFMS), doy acá un panorama general de la monitorización de puertos teniendo eso presente.

Dispositivos y monitorización de puertos

Pandora FMS es un software de código abierto para monitorizar las redes informáticas y su infraestructura. Puede monitorizar el rendimiento y estado de los equipos de red, infraestructura virtual, sistemas operativos y todos los diferentes tipos de aplicaciones y sistemas sensibles a la seguridad, como bases de datos, cortafuegos y servidores web. 

Pandora FMS tiene un capítulo totalmente dedicado a las tareas de descubrimiento (Discovery) e incluye una herramienta de exploración de red llamada NetScan.

En resumen esto ofrece la funcionalidad de poder llevar cuenta de un inventario de dispositivos y servicios ofrecidos por cada uno de ellos (concentradores, aplicaciones, módem, etc.) Allí está todo bien explicado a profundidad sobre cómo funciona la exploración de red, sin embargo acá formulo la pregunta retórica sobre cómo puede esa herramienta el determinar cuáles dispositivos están conectados o no.

Para ello debemos repasar un poco de teoría, poca pero la necesaria. No pretendemos superar a un(a) licenciado(a) en computación y/o a algún académico titulado, simplemente debemos ser prácticos.

En las décadas de 1970 y 1980 se unificaron criterios para la creación del Modelo de referencia para interconexión de sistemas abiertos (Open Systems Interconnection o, simplemente, Modelo OSI). Como fue derivado de un modelo propuesto por la Organización Internacional de Normas (International Standards Organization o ISO, fundada en 1946 por más de 70 países) también se le denomina Modelo ISO/OSI.

En dicho modelo se describen siete (mi número favorito) de las capas que fundamentan los conceptos necesarios para una red ideal, amplia y abierta:

  1. Capa física.
  2. Capa de enlace de datos.
  3. Capa de red.
  4. Capa de transporte.
  5. Capa de sesión.
  6. Capa de presentación.
  7. Capa de aplicación.
OSI model (https://commons.wikimedia.org/wiki/File:Osi-model-jb.svg)
OSI model (https://commons.wikimedia.org/wiki/File:Osi-model-jb.svg)

Yo como programador siempre me ubico en la séptima capa y me puedo olvidar de manera cómoda de las capas inferiores, aunque debido a mi experiencia de muchos años esto no siempre fue así. Para la monitorización de puertos debemos «bajar» hasta la capa número 4, la capa de transporte donde se ubican dos protocolos asociados a los puertos. Este par son el Protocolo de Control de Transporte (Transport Control Protocol o TCP) y el Protocolo de Datagrama (paquete de datos o mensaje de red) de Usuario (User Datagram Protocol o UDP).

Para probar la conectividad de nuevo bajaremos, esta vez un solo escalón, a la capa de red donde están el Protocolo de Internet (Internet Protocol o IP) y su par de aliados, el ICMP e IGMP. No sigo detallando nombre por nombre para evitaros aburrimiento; a todo esto se le llama conjunto de protocolos TCP/IP o llanamente TCP/IP.

Es en esta tercera capa donde podremos hacer uso del famoso ping, en mi opinión la piedra angular de la monitorización. Allí no vale puerto alguno y es excelente para determinar si algún dispositivo está conectado a una red. En muy contadas ocasiones los administradores de red lo desactivan  o simplemente lo suprimen que responda petición alguna, así que yo lo doy por hecho cierto y ubicuo.

Nmap

Nmap (imagino que abreviatura en inglés de Network Mapper o Mapeador de red) fue creado y publicado por Gordon Lyon en 1997.  Pronto fue modificado, portado y mejorado, llegando hasta nuestros días como programa campeón no solo para solventar «problemas» como la desactivación del ping que comenté, sino también para explorar redes completas en rangos de puertos, haciendo gala de toda la especificación de opciones de TCP/IP, algo movida, por cierto. 

Pandora FMS utiliza, por ejemplo Nmap para comprobar la comunicación y servicios por línea de comandos en la Configuración de Consola; Nmap también tiene una interfaz gráfica llamada nmapfe. Existen cantidad de programas que también usan Nmap.

Zenmap utilizando Nmap 4.5 ( https://commons.wikimedia.org/wiki/File:Zenmap_2.png )
Zenmap utilizando Nmap 4.5
( https://commons.wikimedia.org/wiki/File:Zenmap_2.png )

Ping, Nmap, Curl y muchas otras herramientas de red fueron confirmadas este año 2020 por el equipo de Pandora FMS como imprescindibles. En dicho artículo ofrecemos un breve resumen de cada una de ellas, si queréis explorar un poquito más -de manera técnica- en la monitorización de puertos.

Monitorización remota

Como su nombre lo indica, haremos comprobaciones de manera externa con un componente de Pandora FMS llamado Servidor de Red (Network Server). Aunque tiene encomendado muchos trabajos y tareas, la monitorización de puertos está dentro de la Monitorización TCP, uno de sus tres bloques básicos de labores.

El primer trabajo es determinar si un puerto en un anfitrión remoto está abierto y en base a ello emitir órdenes y/o alertas. Recordad que os comenté acerca de ping, y para ello existe la Monitorización ICMP (aunque no viene a cuento, os adelanto que el tercer bloque es lo que engloba la Monitorización SNMP en el Servidor de Red PFMS).

Y como dicen en los «infomerciales», ¡esperen, aún hay más!: en una suerte de remedo al Gato de Schrödinger, para estar totalmente seguros que el puerto está abierto o no, Pandora FMS permite además recibir una respuesta específica por el puerto solicitado («OK», «200» o alguna otra respuesta estándar de alguna aplicación común). Incluso pueden ser varias los envíos y sus respectivas respuestas hasta lograr dar con la condición o estado que busca ser monitorizado.

Recordad siempre la seguridad: debido a la naturaleza de estos protocolos dichas comunicaciones no están cifradas.

Versión Enterprise: «Satellite Server»

Pandora FMS en su edición empresarial es utilizada por muchos líderes de la industria, por ejemplo la  Empresa Municipal de Transportes de Madrid (EMT), el Ministerio de Telecomunicaciones y de la Sociedad de la Información de la República del Ecuador y el Governo Povo do Acre, estado de Brasil con 22 municipios y 700 mil habitantes, población a la cual buscan dotar de acceso a Internet.

Como ya os dije la monitorización remota es ejecutada por el Servidor de Red PFMS, el cual presenta características particulares. El Satellite Server a su vez, hace uso del lenguaje Perl y necesita (además de fping y Nmap, instalados aparte) a wmic y braa (incluidos al descargar el fichero binario) para poder equiparar en funciones al Servidor de Red PFMS.

Teniendo todo esto presente, y sin entrar a profundidad, podremos hacer la monitorización de puertos en redes donde por razones de seguridad y/o brechas tecnológicas no podamos acceder de manera directa por medio de nuestro Servidor PFMS (a los dispositivos que les realizaremos la monitorización de puertos).

Sí, ya se estarán preguntando cómo el Satellite Server es capaz de guardar en la base de datos las métricas recogidas: dicho servidor debe tener salida al Internet y desde allí al Servidor PFMS por medio de su propio protocolo denominado Tentacle.

Es utilizado para ello el puerto número 41121 (asignado oficialmente por la IANA) y este es el único número de puerto que, a mi juicio, no vale la pena monitorizar: nos daremos cuenta muy rápidamente por la Consola PFMS si hemos dejado de recibir conexiones de nuestros Satellite Servers.

¿Qué motiva que los dispositivos a monitorizar estén «aislados» o no estén al alcance del Servidor de Red PFMS? Revisemos.

Cortafuegos y detectores de intrusos

Muro de fuego, red de redes (Seth Kenlon, CC BY-SA 4.0)
Muro de fuego, red de redes (Seth Kenlon, CC BY-SA 4.0)

Ya por último toco el temido tema de los cortafuegos. Así como nos protegen también nos hacen la vida imposible cuando están correctamente configurados, ¿a qué me refiero?

Un cortafuego (basado en software o en hardware) puede tener infinitas configuraciones pero el modelo que más me gusta es el que bloquea todo lo que entra desde Internet excepto lo expresamente permitido. Y es allí donde comienza nuestro gran trabajo, agregar lo que necesitemos como los famosos puertos 80 y 443 para el tráfico web, los más comunes para los servidores web (pero siempre debemos tener en cuenta los distintos tipos de servidores que existen).

Pero la cosa va más allá, el cortafuegos también debe cerciorarse que los paquetes que entran corresponden a una salida desde nuestra red local, vamos que fue que lo solicitamos nosotros (¿recuerdan el Satellite Server PFMS?). Menudo trabajo.

Visto así las tareas de los cortafuegos son exigentes y debido a eso se han diseñado y creado artefactos expresamente para ello, son basados en hardware y PFMS tiene varios complementos para monitorizarlos, generalmente por SNMP.

Yo agrego, además, que un cortafuegos debe tener una lista de direcciones IP permitidas para ser redireccionadas a servidores específicos, como es nuestro caso si estamos con la labor de monitorización de puertos (desde fuera de la empresa). Si la solicitud es recibida de cualquier otra dirección IP a un puerto que está fuera de la lista de permitidos, la enviaremos a nuestro servidor «pote de miel» (honeypot), tecnología acorde para la tarea de visitantes desconocidos y no deseados. Para mantener actualizada la lista de direcciones IP permitidas deberemos de tener un tercer servidor en Internet que acredite nuestra identidad ante el cortafuegos.

Por favor, lea también   Monitorizar auditorías de Seguridad con Lynis

Ahora bien, esto último está enfocado a las peticiones TCP, que son orientadas a la conexión (volvemos a la teoría) pero las peticiones UDP no trabajan de esa manera. Allí es que podremos tener una falsificación de direcciones IP para que seamos victimarios forzados de otro servidor web ajeno a nosotros. Afortunadamente el kernel de Linux retrasa a propósito dichas peticiones a un límite de 1 por segundo así que atacar más de 60 mil puertos les va a llevar algo de tiempo. Eso nos lleva a lo siguiente, a los detectores de intrusos.

Esta tecnología, aunque lleva tiempo entre nosotros, poco he visto su uso. Que no quito que la podamos integrar en nuestros honeypots, pero recomiendo que trabajen aparte, si es una solución basada en hardware pues mejor. La idea es llevar cuenta de los paquetes que se mueven en la red de área local: allí Pandora FMS puede efectuar una monitorización  de puertos de manera pasiva.

  • También podremos usar la técnica de los embarcaciones marítimas: compartimientos estancos (pero igual no os confiéis, recordad que el famoso barco Titanic nunca llegó a Nueva York, a pesar de contar con esta novedosa tecnología para la época) Es decir, después del muro de fuego principal, crear subredes aisladas con cortafuegos adicionales, repitiendo las recomendaciones anteriores.
  • Cada servidor de trabajo a ser monitorizado debe tener también su cortafuegos local, ejecutado por el sistema operativo (y a riesgo de ser fastidioso «repitiendo las recomendaciones anteriores»). ¿Qué tiene que ver esto con la monitorización de puertos? Que si ya tenemos en inventario una máquina que lleva una base de datos MySQL (normalmente el puerto 3306) y verificamos que está abierto y operativo, comprobamos adicionalmente que no haya ningún otro abierto. Así son las tareas de monitorización, redundantes en sumo grado. Dichos cortafuegos locales tienen una característica adicional: el permitir solo a programas específicos el abrir y usar sus puertos por defecto (mirad también la monitorización de logs para estar al tanto de los cambios).
  • Algunos administradores de red utilizan técnicas de ofuscación como cambiar los puertos predefinidos (yo he visto servidores web usando el puerto 28081 en ventanas emergentes, que aunque a esta fecha no está asignado a nadie por la IANA, pero deberían utilizar los puertos por encima de 49152, los puertos dinámicos personalizados). Esto solamente refuerza mi afirmación: la monitorización es una ciencia… y un arte.
  • En el caso de orquestadores de máquinas virtuales (Docker con Kubernetes, el caso más famoso) la monitorización de puertos recaerá en la monitorización virtual, ya que será más efectivo utilizar las instrucciones API, ¡esto sin perjuicio de todo lo explicado!

Antes de despedirnos, recuerda que Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.

¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario: https://pandorafms.com/es/contactar/

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/

No dudes en enviar tus consultas. ¡El equipazo de Pandora FMS estará encantado de atenderte!
381,639,906

The number of uptime tests that
@StatusCakeTeam
carries out every single day!
https://twitter.com/StatusCakeTeam/status/1304014987443277824
Como ya saben los profesionales de la informática, los puertos son puertos virtuales de 16 bits que se utilizan para conectar sistemas de comunicación a través de protocolos como TCP o UDP, no conexiones físicas como USB, HDMI, etc. Si no está familiarizado con esto, puede echar un vistazo al modelo de OSI y a la lista de números de puertos. Por ejemplo, el puerto 80 se utiliza comúnmente para las conexiones HTTP. Muchas aplicaciones también se comunican a través de puertos estándar asignados.

Con más de 65.000 puertos disponibles (65.336 para ser exactos, incluyendo el 0), su vigilancia es esencial. ¿Por qué? Por supuesto, para prevenir los ataques maliciosos y la recolección de datos por parte de los agentes del gobierno, y para defenderse de los hackers y, por supuesto, de los ciberdelincuentes que buscan obtener una ventaja competitiva sobre sus pares u obtener una ganancia financiera.

Pero dado el número de puertos posibles, ¿cómo pueden los administradores de la red vigilarlos o detectar intentos de intrusión? ¿Cómo sabemos si otros pueden probar nuestras redes para detectar vulnerabilidades? ¿Cómo podemos lograr la máxima seguridad sin afectar la productividad del usuario?

Greg Mooney explicó lo que es un escáner de puertos en un artículo anterior. Demostró cómo el escaneo de los puertos de su red puede ayudarle a determinar lo que los potenciales atacantes verán cuando escudriñen su red. La vigilancia de las rutas de ataque ofrece lógicamente importantes beneficios de seguridad. Y por supuesto, puedes proteger mejor tu red si conoces los métodos de ataque utilizados. Echemos un vistazo a algunas de las herramientas estándar que los intrusos (y hackers) utilizan para verificar la seguridad.

Kali - más que una diosa hindú
Kali Linux es quizás la distribución más conocida para pruebas de penetración. Esta distribución también ofrece una gran cantidad de herramientas de hacking de código abierto. Puede que no sea la única distribución, pero es un buen lugar para tomar el enfoque lógico de la intrusión en la red. Note la enorme cantidad de herramientas de hacking que Kali Linux ofrece por defecto (se pueden añadir más). Los instrumentos se dividen en categorías convenientes, como la reunión de información, la evaluación de la vulnerabilidad, los instrumentos de explotación, las pruebas de estrés y los ataques inalámbricos. Esto proporciona a los piratas informáticos de todo tipo (incluidos los ciberdelincuentes y los intrusos legítimos) un depósito de herramientas para reunir información pertinente e identificar y explotar las vulnerabilidades. Un enlace directo a la base de datos de exploit asegura que los hackers tengan acceso a las últimas vulnerabilidades de aplicación verificadas. La revisión de la semana pasada muestra lo detallado que es este recurso... Tiene sentido lanzar ataques basados en vulnerabilidades recientemente descubiertas y verificadas cuando muchos administradores no logran parchear inmediatamente a pesar de las alertas de seguridad.


Si bien muchas herramientas requieren una interfaz de línea de comandos, incluso los usuarios principiantes pueden encontrar fácilmente los comandos necesarios a través de los motores de búsqueda y los foros. También hay instrucciones disponibles para la mayoría de las herramientas. Para los hackers que están atascados con la ingeniería social, hay muchas opciones disponibles para el escaneo de puertos. La información se puede olfatear con Nmap (para el escaneo regular de puertos), Unicornscan (si el escaneo regular de puertos no está disponible) o Wireshark (para analizar el tráfico de la red y los paquetes) y se puede utilizar para los ataques. También hay que tener en cuenta las 20 principales herramientas de hacking e intrusión para Kali Linux según FOSSMint para tener una idea de lo que incluso los hackers sin experiencia pueden conseguir fácilmente. ¿Ahora cree que la vigilancia del puerto vale la pena?

Puertos en riesgo
Dado que la recopilación de inteligencia es el primer paso en un ataque de piratería mediante el escaneo de puertos y técnicas similares, sería una locura ignorar la red, el tráfico y el monitoreo de puertos. Si se hace incorrectamente, esto puede consumir una gran cantidad de tiempo de trabajo, lo cual no es deseable. Desafortunadamente, debido a la falta de inversión, los expertos en TI a veces no tienen más remedio que utilizar un enfoque reactivo para la resolución de problemas para determinar patrones en los archivos de registro. ¿No sería más eficiente y productivo el monitoreo proactivo en tiempo real? Algunas empresas intentan desarrollar una aplicación por sí mismas. En última instancia, esto es más costoso que usar herramientas estándar o ofrece menos funciones. Si, como profesional de TI, necesita convencer a la gerencia de que una buena herramienta de monitoreo de red es rentable, lea este artículo de John McArdle.

Si bien la supervisión de puertos abiertos puede ser una característica de seguridad importante, de ninguna manera es fácil de realizar. Los puertos se abren y cierran según el servicio o la acción de firewall utilizada. Algunos protocolos y aplicaciones también seleccionan puertos para la comunicación al azar ...

Con una solución eficaz de monitoreo de puertos y redes, los administradores pueden establecer un punto de referencia para la actividad del puerto y configurar notificaciones automáticas para actividades sospechosas. El monitoreo puede automatizarse casi por completo con el tiempo para identificar procesos y servicios nuevos y, por lo tanto, sospechosos. Esto permite que su equipo de TI se concentre en otros proyectos orientados al negocio.

Los profesionales de la seguridad, por supuesto, utilizan otras técnicas para confundir, o al menos ralentizar, a los piratas informáticos. Evite la configuración estándar para rangos de direcciones IP internas o números de puerto, por ejemplo. Por ejemplo, si el puerto 80 no se usa para conexiones HTTP, un ataque a través de HTTP no funcionará.

Por tanto, la monitorización de puertos es una contribución importante a la seguridad de la red. La implementación depende del presupuesto disponible, la competencia técnica y por supuesto los recursos humanos. Definitivamente vale la pena investigar las vulnerabilidades de la red. Puede utilizar las herramientas mencionadas anteriormente o contratar a un hacker ético certificado para verificar su nivel de seguridad. Tenga en cuenta que otras técnicas, como la activación de puertos, pueden usar reglas de firewall en su contra. Ninguna empresa es demasiado pequeña para los ataques de piratería. Entonces te preguntas: ¿Qué tan segura es la red de mi empresa, dado que las herramientas de piratería gratuitas están disponibles para cualquier persona para manipular los datos almacenados en la red? ¿Qué técnicas utiliza mi empresa para evitar el escaneo de puertos externos?
https://blog.ipswitch.com/de/warum-port-monitoring-fuer-die-sicherheit-wichtig-ist
¿Por qué escanear puertos contribuye a la seguridad de tu sistema?https://www.ionos.es/digitalguide/servidores/know-how/principios-basicos-y-legales-del-escaneo-de-puertos/
IP spoofing: así manipulan los atacantes tus paquetes de datoshttps://www.ionos.es/digitalguide/servidores/seguridad/ip-spoofing-fundamentos-y-contramedidas/
Guía para evitar un escaneo de puertos
David García Martín
https://www.redeszone.net/2010/10/24/guia-para-evitar-un-escaneo-de-puertos/
Intrusion Detection System (IDS)https://www.techopedia.com/definition/3988/intrusion-detection-system-ids
Nmap Network Scanning "Legal Issues"https://nmap.org/book/legal-issues.html
Nmaphttps://es.wikipedia.org/wiki/Nmap