Cómo bloquear conexiones sospechosas desde CMD

  • Netstat permite identificar puertos abiertos, procesos asociados y conexiones sospechosas desde CMD o terminal.
  • El firewall de Windows, UFW, firewalld y rutas blackhole permiten bloquear IPs y rangos detectados como maliciosos.
  • Herramientas avanzadas como Defender for Endpoint o FortiGate aíslan dispositivos, VPN y usuarios comprometidos.
  • Una buena gestión de usuarios, SSH y registros de auditoría es clave para detectar y frenar ataques de red.

Cómo bloquear conexiones sospechosas desde CMD

Cuando empiezas a ver conexiones raras, puertos abiertos que no sabes de dónde salen o intentos de acceso fallidos a lo loco, tener claro cómo bloquear conexiones sospechosas desde CMD y el firewall deja de ser algo “para expertos” y pasa a ser una necesidad. Con un par de comandos bien usados puedes cortar ataques, aliviar tu servidor y ganar mucha visibilidad sobre lo que ocurre en tu red.

En Windows, Linux e incluso en dispositivos de seguridad como FortiGate, tienes herramientas nativas para vigilar el tráfico, identificar procesos maliciosos y bloquear IPs, rangos o protocolos. El truco está en combinarlas bien: primero detectas con netstat, logs y monitorización, después respondes bloqueando desde CMD, firewall o directamente aislando el dispositivo si la cosa se ha ido de madre.

Netstat y CMD: el primer radar para detectar conexiones sospechosas

El comando netstat es uno de los clásicos para auditar conexiones en Windows, Linux y otros sistemas como macOS o Unix, y aunque lleve con nosotros desde los años 90 sigue siendo muy útil para saber qué se está conectando a qué en tu equipo o servidor.

Su nombre viene de Network y Statistics, y eso resume bastante bien su función: te da estadísticas de red, tabla de rutas, puertos abiertos y conexiones activas, tanto entrantes como salientes. Es clave si quieres localizar qué proceso mantiene un puerto en escucha, dónde se conecta un servicio raro o si hay un volumen de conexiones que no tiene sentido.

La herramienta no tiene interfaz gráfica; funciona desde símbolo del sistema o terminal, por eso se usa muchísimo en entornos de servidores y en análisis forense de incidentes. A cambio, ofrece un nivel de detalle que rara vez dan las utilidades “bonitas” y te permite detectar malware que depende de puertos concretos o de conexiones a hosts remotos sospechosos.

Antes de sacar conclusiones con netstat conviene cerrar programas innecesarios o incluso reiniciar y abrir solo lo justo, porque así reduces el ruido de conexiones legítimas (navegador, clientes de chat, etc.) y, si necesitas, comprobar cuántos dispositivos están conectados para quedarte con una fotografía más limpia de lo que realmente te interesa investigar.

Además, netstat mantiene una tabla de enrutamiento y estadísticas por protocolo que ayudan a ver errores, paquetes descartados y congestión. Si estás intentando entender un cuello de botella o una caída parcial de servicio, es una pieza importante del puzzle.

Opciones más útiles de netstat para cazar conexiones raras

En Windows puedes ejecutar netstat desde CMD o desde la Terminal moderna, y en Linux desde cualquier consola. La sintaxis típica en Windows es algo del estilo netstat , combinando parámetros según lo que quieras ver.

Si escribes simplemente netstat y pulsas Intro obtendrás una lista básica de conexiones activas: protocolo (TCP/UDP), dirección local con puerto, dirección remota y estado (LISTENING, ESTABLISHED, TIME_WAIT, etc.). Ya con esto puedes empezar a localizar conexiones a IPs que no te suenan de nada o puertos que nunca habías visto.

Para trabajar en modo numérico (sin intentar resolver nombres DNS) se suele usar netstat -n, que muestra direcciones IP y números de puerto sin traducir. Esto hace la salida más rápida y más clara cuando estás cotejando IPs sospechosas con listas negras o con registros de firewall.

Si quieres que la información se refresque cada X segundos puedes añadir un número al final, por ejemplo netstat -n 7 para que repita la salida cada 7 segundos. Es una forma sencilla de tener una especie de “monitor” desde CMD sin tirar de herramientas externas.

Donde netstat se vuelve especialmente útil para buscar actividad extraña es en los parámetros avanzados, que te permiten filtrar por protocolo, ver PIDs asociados, estadísticas o rutas:

  • netstat -a: enseña todas las conexiones y puertos en escucha (activos e inactivos).
  • netstat -e: muestra estadísticas de tráfico (bytes enviados/recibidos, errores, descartes).
  • netstat -f: resuelve y enseña el FQDN (nombre de dominio completo) de los hosts remotos.
  • netstat -n: muestra IPs y puertos en formato numérico.
  • netstat -o: indica el PID del proceso que usa cada conexión, clave para cruzar con el Administrador de tareas.
  • netstat -p X: filtra por protocolo (TCP, UDP, TCPv4, TCPv6…).
  • netstat -q: lista puertos en escucha y no escucha vinculados.
  • netstat -s: estadísticas agrupadas por protocolo (TCP, UDP, ICMP, IPv4, IPv6).
  • netstat -r: muestra la tabla de enrutamiento actual.
  • netstat -t: enfocado en conexiones en proceso de descarga.
  • netstat -x: información sobre conexiones NetworkDirect.

Un uso muy común para revisar seguridad básica es netstat -ano, que combina varias de estas opciones: ves todas las conexiones activas con IPs, puertos y el identificador de proceso. A partir de ahí puedes localizar procesos raros en el Administrador de tareas o con herramientas como TCPView y decidir si debes bloquearlos por firewall o desinstalarlos.

También es muy práctico filtrar el estado con findstr, por ejemplo netstat | findstr ESTABLISHED para ver solo conexiones establecidas, o cambiar ESTABLISHED por LISTENING, CLOSE_WAIT, TIME_WAIT, etc., cuando estás investigando fugas de recursos o conexiones zombi.

Ventajas, límites e impacto en el rendimiento de netstat

Cómo bloquear conexiones sospechosas desde CMD

Netstat brilla porque te da una visibilidad bastante directa de qué puertos y conexiones hay vivos en un equipo, algo que para un administrador o analista es oro puro. Permite monitorizar el tráfico, seguir sesiones, hacer evaluaciones de rendimiento y detectar conexiones no autorizadas o comportamientos sospechosos con relativa rapidez.

Gracias a sus estadísticas, puedes detectar picos anormales en protocolos concretos o aumento de errores, lo que a menudo apunta a congestión, escaneos de puertos, intentos de fuerza bruta o malware mal configurado. Y como es una utilidad nativa, no necesitas instalar nada ni en Windows ni en muchas distribuciones Linux.

Ahora bien, también tiene sus pegas. Para empezar, la salida puede ser bastante densa y críptica si no estás acostumbrado a interpretar conexiones, estados y puertos. Para un usuario poco técnico, la curva de aprendizaje no es precisamente suave, y es fácil que termine tirando de programas con interfaz gráfica.

Otro punto es que netstat, por sí solo, no cifra nada, no bloquea nada y no hace análisis profundo: se limita a mostrar información. Para convertir esos datos en una defensa real necesitas complementarlo con firewall, sistemas EDR, IDS/IPS y otras herramientas.

no escala especialmente bien en redes enormes o entornos con miles de conexiones simultáneas. En infraestructuras modernas suele estar relegado frente a soluciones como PowerShell avanzado, SNMP, ss en Linux o visores gráficos más potentes.

En cuanto al rendimiento, el comando en sí no “rompe” el sistema, pero si lo lanzas continuamente, con muchos parámetros y sobre equipos con miles de conexiones, puede consumir CPU y memoria de forma apreciable. La recomendación es usarlo de manera puntual, con filtros concretos y sin caer en refrescos permanentes a intervalos muy cortos.

Gracias a su nivel de detalle, netstat incluso te ayuda a detectar malware que se comporta como rootkit o que oculta procesos detrás de conexiones inusuales.

Cómo pasar de detectar a bloquear: firewall de Windows y bloqueo de IPs

Una vez que tienes localizadas conexiones o IPs que huelen mal gracias a netstat o a los registros, el siguiente paso lógico es usar el firewall de Windows para bloquear esas IPs sospechosas. Esto corta el tráfico en origen y ahorra recursos al servidor o al PC.

El proceso típico para bloquear una IP concreta en Windows es crear una regla entrante personalizada:

  1. Abrir el firewall de Windows con seguridad avanzada y pulsar en “Nueva regla”.
  2. Elegir “Personalizada” para poder definir bien el tráfico a bloquear.
  3. Indicar “Todos los programas” si quieres que la regla afecte a cualquier aplicación.
  4. En “Protocolo y puertos”, dejar “Cualquiera” salvo que quieras algo muy específico.
  5. En “Ámbito”, añadir la dirección IP o el rango de IPs de origen que quieres bloquear.
  6. Seleccionar “Bloquear la conexión” como acción por defecto.
  7. Decidir en qué perfiles se aplica (dominio, privado y público, normalmente los tres).
  8. Poner un nombre reconocible, por ejemplo Bloqueo_IP_Sospechosa, y guardar.

Con esto, cualquier intento de conexión desde esa IP será directamente rechazado. Es especialmente útil cuando un atacante insiste una y otra vez en acceder a tu web, en tirar de ataques DDoS pequeños o en probar credenciales contra paneles de administración.

Si en vez de bloquear desde tu sistema quieres cortar el acceso directamente a un sitio web alojado en un servidor, otra opción es usar el archivo .htaccess en paneles de control como Plesk. Ahí puedes añadir reglas tipo:

Order Allow,Deny
Deny from 192.168.xx.x
Allow from all

y repetir la línea Deny from para cada IP adicional. Así consigues que, al intentar entrar en tu web desde esas IPs, solo vean un error y no consuman recursos de aplicación ni base de datos.

También se puede jugar con geobloqueo por país a través de .htaccess cuando el servidor lo permite, redirigiendo cierto tráfico (por ejemplo, de un país desde el que solo recibes ataques) a una página de error usando reglas RewriteCond con el código de país GEOIP.

Bloqueo de IP y rangos desde CMD y herramientas de red

En algunos entornos, sobre todo en servidores Linux o sistemas donde se trabaja casi siempre en consola, resulta más directo tirar de comandos de routing o firewall desde la terminal para cortar el tráfico de una IP problemática.

Con el comando route en sistemas tipo Unix puedes añadir rutas que básicamente “hunden” el tráfico hacia un host concreto. Por ejemplo:

route add -host 24.92.120.34 reject

Con esta orden, cualquier intento de alcanzar esa IP se rechaza. Si quieres ver qué tienes bloqueado o cómo está la tabla de rutas, puedes usar route -n, que mostrará las rutas numéricas activas.

Si en algún momento necesitas revertir el bloqueo, bastará con ejecutar:

route del 24.92.120.34 reject

Cuando hablamos de rangos completos, se puede usar algo como:

ip route add blackhole 22.118.20.0/24

que crea una ruta de tipo “blackhole” para toda una subred, haciendo que los paquetes dirigidos a esas direcciones se descarten sin respuesta. Es muy útil ante ataques masivos distribuidos desde un rango concreto o para frenar spam masivo desde grupos de IPs.

Para no ir a ciegas, es recomendable apoyarse en calculadoras de rangos de IP para saber exactamente cuántas y cuáles estás bloqueando, sobre todo si tocas subredes con máscaras algo más complejas que /24.

Bloquear conexiones VPN y acceso remoto desde IPs sospechosas

Las VPN SSL son un objetivo muy jugoso para atacantes porque, si logran entrar, les das acceso casi directo a tu red interna. Dispositivos como FortiGate permiten restringir qué IPs pueden conectar a la VPN, y eso es una capa adicional de defensa muy interesante.

Un enfoque típico es crear un grupo de direcciones de tipo “lista negra” (por ejemplo, blacklistipp) en el FortiGate donde vas añadiendo IPs públicas que han intentado ataques de fuerza bruta o comportamientos extraños en los logs de la VPN.

Después, en la consola del firewall, se ajusta la configuración de la VPN SSL con:

  • config vpn ssl setting
  • set source-address «blacklistipp»
  • set source-address-negate enable
  • show para verificar la configuración aplicada.

Con este ajuste, cualquier intento de conexión desde una IP incluida en ese grupo será rechazado desde el primer momento, sin ni siquiera permitir introducir usuario y contraseña, lo que reduce mucho el desgaste de recursos y la superficie de ataque.

También se puede trabajar desde la interfaz gráfica configurando “Restringir acceso” y limitándolo a hosts específicos, aunque en ese modo, el usuario llega a introducir credenciales y la conexión se corta después, lo cual es menos eficiente desde el punto de vista de mitigación temprana.

Para verificar que el bloqueo está funcionando, puedes usar comandos de diagnóstico como diagnose sniffer packet filtrando por la IP y el puerto de la VPN, o bien revisar get vpn ssl monitor para comprobar qué conexiones se establecen y cuáles quedan fuera.

Defensa avanzada: aislamiento de dispositivos e identidades

Cuando la situación es realmente seria (ransomware, movimiento lateral, exfiltración de datos), no basta con cerrar un puerto o bloquear una IP concreta: a veces necesitas aislar por completo el dispositivo o incluso la identidad comprometida.

Microsoft Defender for Endpoint integra acciones de respuesta rápida a nivel de dispositivo: puedes etiquetar equipos, iniciar investigaciones automatizadas, abrir sesiones remotas de respuesta en vivo, recopilar paquetes de investigación completos y lanzar escaneos antivirus en profundidad desde la consola central.

La recopilación de un paquete de investigación en Windows incluye información como autoarranques del registro, programas instalados, conexiones de red activas, caché ARP, DNS, configuración TCP/IP, registros de firewall, prefetch, procesos, tareas programadas, registro de seguridad, servicios, sesiones SMB, información del sistema y directorios temporales. Todo ello condensado en una estructura de carpetas y un informe resumido (CollectionSummaryReport.xls).

En macOS y Linux se recoge algo similar: aplicaciones instaladas, volúmenes de disco, conexiones de red, procesos, servicios, información de seguridad, usuarios y grupos, etc., lo que permite reconstruir el escenario de ataque bastante bien.

Una acción especialmente potente es el aislamiento del dispositivo: el equipo afectado se corta de la red (salvo la comunicación necesaria con el servicio de seguridad en la nube) para evitar que el atacante siga moviéndose o filtrando datos. Existe aislamiento completo y aislamiento selectivo (permitiendo, por ejemplo, que Outlook y Teams sigan funcionando), disponible en varias versiones de Windows, macOS y Linux con ciertos requisitos en iptables y kernel.

En paralelo está la opción de contener dispositivos no administrados a través de su IP: los equipos protegidos por Defender bloquean cualquier tráfico entrante o saliente hacia esa dirección, frenando la propagación desde “islas” de la red donde todavía no hay agente de seguridad desplegado.

También se puede contener al propio usuario o identidad sospechosa: se bloquean logins de red, RDP, SMB, RPC, se cortan sesiones remotas en curso y se evita el movimiento lateral. Esta contención suele activarse automáticamente mediante lógicas de interrupción de ataques y blindaje predictivo, y se puede revertir desde el Centro de acciones cuando se ha solucionado el incidente.

Firewall en Linux: UFW, firewalld e iptables para frenar tráfico malicioso

En servidores Linux la pieza clave para bloquear conexiones raras es el firewall del sistema, normalmente basado en iptables/nftables, con capas de gestión como UFW o firewalld para hacerlo más amigable.

En Ubuntu y muchas distros compatibles, UFW (Uncomplicated Firewall) simplifica muchísimo la vida. Puedes instalarlo con sudo apt install ufw, comprobar su estado con sudo ufw status y activarlo con sudo ufw enable. Por defecto suele denegar todo el tráfico entrante y permitir las salidas, lo que ya es una postura bastante segura.

Para definir las políticas base se usan comandos como:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Luego, puedes permitir servicios concretos: por ejemplo sudo ufw allow ssh para abrir el puerto 22, o sudo ufw allow 2222/tcp si usas un puerto SSH no estándar. Para bloquear un servicio, algo como sudo ufw deny 80 cierra el puerto HTTP.

Si tienes una IP de confianza o, al contrario, quieres vetar a una dirección en concreto, puedes usar reglas del estilo sudo ufw allow from <ip_address> o sudo ufw deny from <ip_address>, e incluso afinar con “to any port <port_number>” para asociar el bloqueo a un puerto específico.

Las reglas se pueden listar numeradas con sudo ufw status numbered y eliminar con sudo ufw delete <número_de_regla>, lo que hace bastante cómodo ir ajustando la política en función de lo que vayas viendo en logs y en herramientas como netstat, ss o iftop.

Endurecer el acceso: usuarios, SSH y autenticación

Bloquear conexiones sospechosas está muy bien, pero es igual de importante reducir la superficie de ataque limitando quién puede entrar y cómo. Aquí entran en juego la gestión de usuarios, SSH y la autenticación fuerte.

En Linux, cada cuenta de usuario con acceso al servidor es un potencial vector de ataque si no se gestiona correctamente. Se crean cuentas con useradd, se les asigna contraseña con passwd y se ajustan permisos y grupos con herramientas como chown y chmod para evitar que puedan tocar más de lo debido.

Para reforzar SSH, lo ideal es usar claves públicas/privadas en lugar de contraseñas. Generas tu par con ssh-keygen, aceptas o defines la ruta de almacenamiento y, si quieres una capa adicional, pones una frase de paso. Luego envías la clave pública al servidor con ssh-copy-id usuario@host y, a partir de ahí, podrás iniciar sesión con ssh usuario@host usando tu clave.

Una vez que la autenticación por clave funciona, es buena práctica desactivar el login por contraseña en el archivo /etc/ssh/sshd_config, modificando la directiva PasswordAuthentication a “no” y reiniciando el servicio con systemctl restart ssh. De esta manera, un atacante no podrá probar contraseñas a lo bruto, porque el servidor ni siquiera aceptará ese método.

Si a esto sumas autenticación de dos factores en servicios críticos, rotación de contraseñas y cuentas con privilegios mínimos, reduces brutalmente las opciones de que una conexión sospechosa llegue a algo más que unos cuantos intentos fallidos.

Logs y monitorización: sin visibilidad no hay bloqueo eficaz

Ninguna estrategia de bloqueo funciona bien si no tienes registros de auditoría decentes y una mínima monitorización. Necesitas ver qué está pasando para reaccionar a tiempo y, si hace falta, reconstruir lo ocurrido tras un incidente.

En Linux, la mayoría de logs del sistema se concentran en /var/log: mensajes del kernel, autenticación, servicios de red, demonios del sistema… El comportamiento y formato lo controla casi siempre rsyslog (o variantes), configurado en archivos como /etc/rsyslog.conf o en ficheros dentro de /etc/rsyslog.d/.

Desde ahí puedes ajustar qué tipos de eventos se registran, con qué nivel de severidad y en qué archivo acaban. También es posible enviar logs a un servidor centralizado para analizarlos mejor y evitar que un atacante los borre fácilmente en el equipo comprometido.

El equilibrio es importante: registrar absolutamente todo puede llenar el disco y hacer imposible filtrar información útil, mientras que registrar muy poco deja huecos peligrosos. Por eso mucha gente combina registros detallados en servicios críticos (SSH, firewall, autenticación) con otros más ligeros en componentes menos sensibles.

Para el análisis, puedes tirar de comandos como grep, awk o less, pero en entornos medianos y grandes es normal usar herramientas de tipo SIEM o stacks como ELK, Splunk o similares, que permiten correlacionar eventos, detectar patrones de ataque y generar alertas en tiempo real.

En Windows, algo similar se hace con el Visor de eventos, los logs de Windows Defender, firewall y, a nivel más avanzado, con soluciones como Microsoft Defender XDR que ya integran todo ese flujo y lo cruzan con inteligencia de amenazas.

Combinar netstat y otras utilidades de red para detectar tráfico sospechoso, reforzar el firewall (en Windows, Linux o dispositivos dedicados), gestionar bien usuarios y SSH, y aprovechar capacidades avanzadas como el aislamiento de dispositivos o la contención de IPs y cuentas, te coloca en una posición mucho más sólida: las conexiones sospechosas dejan de ser un susto recurrente y pasan a ser eventos que puedes identificar rápido, bloquear desde CMD o paneles de seguridad y analizar con calma para mejorar poco a poco la defensa de toda tu infraestructura.

qué es GlassWire
Artículo relacionado:
Tutorial de GlassWire para detectar eventos raros y controlar tu red