Daniel Maza

¿Demasiadas conexiones ESTABLISHED? Mapeando puertos activos y sus procesos

Saludos. Este es un tema típico revisado sobre todo en problemas con conexión a Internet. Está relacionado a lentitud del Internet o de la red en general.

Si no tiene servicios levantados en el equipo o aplicaciones clientes que justifiquen la situación, podríamos estar frente a un problema crítico.

Primero, entendamos de qué se trata:

Nuestros equipos ejecutan muchos procesos (como servicios y aplicaciones). A menudo estos procesos están diseñados para la comunicación con sistemas remotos y se ejecutan como servicios que escuchan en puertos asignados. Actualmente, podemos decir que es normal que los equipos estén encendidos y conectados a la red en todo momento.

Esta nueva forma de trabajo (uso de la conectividad), proporciona una ventana sin fin de oportunidades para que los atacantes se aprovechen de las vulnerabilidades a causa los procesos en ejecución. Por lo tanto, no solo es importante mantener nuestros sistemas actualizados, también es importante minimizar los procesos de escucha en nuestros sistemas.

Se recomienda, sólo ejecutar procesos necesarios para que nuestro sistema funcione como deseamos, desactivando y/o desinstalando los otros procesos eventualmente innecesarios.

Pero, ¿cómo saber qué procesos están en escucha y qué puertos han abierto en nuestros sistemas? ¿cómo identificar el estado de las conexiones?

Para esto revisaremos un par de herramientas muy interesantes para los usuarios de windows:

El comando netstat.

En casi todos los sistemas que cuentan con TCP/IP, existe el comando Netstat. El cual se usa en la consola de comandos y que permite mostrar distintos tipos de información acerca de las conexiones de red.

Si ejecutamos el comando con la opción «-?», veremos que hay varios argumentos de línea de comandos que pueden utilizarse para recopilar diferentes tipos de información. Para visualizar una lista de conexiones activas en nuestro sistema, podemos ejecutar el comando netstat con el atributo «-aon»; el atributo «a» hace referencia a todas las conexiones (all) tanto tcp como udp, el atributo «o» hace referencia al ID del proceso (PID) y los respectivos puertos usados y el atributo «n» hace referencia a no realizar la resolución de nombres de las diferentes direcciones IP.

C:\>netstat -aon

Verificamos que nos muestra información de cada proceso: protocolo, dirección local, dirección remota, estado y  el PID. Aquí podemos echar un vistazo a todos los procesos de nuestro sistema, identificarlos, qué puerto usan y a dónde se conectan. De toda la lista, posiblemente lo que más nos interesa en caso de diagnóstico en problemas de conectividad a internet, es el estado ESTABLISHED este estado señala a un proceso que está consumiendo recurso de  conectividad, y se recomienda analizarlo y determinar si se trata de un proceso permitido o no.

Si bien, ya tenemos el ID del proceso (PID), ¿Cómo revisamos de qué se trata ese proceso?, aquí recomiendo complementar el análisis con el administrador de tareas de windows.

Administrador de Tareas

En mi caso (en windows 8), la columna PID, la columna Nombre y la columna descripción, nos permite visualizar la naturaleza del proceso. Así, a través de información cruzada, conocer si se trata de un proceso permitido o no, y además tomar acciones al respecto.

La segunda herramienta:

TCPView para Windows.

Una aplicación de Sysinternals para Windows, desarrollada por Mark Russinovich y Bryce Cogswell. Es una herramienta de gran utilidad que permiten el trabajo más fácil, ofrece información de gran utilidad necesaria para el diagnóstico rápido de los procesos.

TCPView

Puede descargarla de forma libre desde este enlace. También ofrece una versión no gráfica para consola de comandos, llamada Tcpvcon.exe. El comando a ejecutar sería: «Tcpvcon.exe -acn».

C:\>Tcpvcon.exe -acn

Si tiene problemas de velocidad en Internet, revise los procesos con estado ESTABLISHED, estos procesos indican un consumo del recurso de red y en un equipo doméstico promedio, estos procesos en este estado no deben exceder de 5 o 6 procesos. En caso de presentar un elevado número de procesos en ESTABLISHED, identifique los procesos para tomar acciones.

Un caso particular es cuando se usan clientes de correo mediante protocolo IMAP, se recomienda usar POP, en caso de Mac Mail, se recomienda asegurarse de desmarcar «Use el comando IDLE, si el servidor lo soporta» (desactivar IDLE). Puede, además, desactivar la casilla «Incluir al comprobar automáticamente si hay correo nuevo». Programar la comprobación de correos en un periodo no menor de 2 minutos.

Espero que les ayude esta información.

Comenten sus experiencias.

Buena suerte.

Recursos y fuentes:

Salir de la versión móvil