Conozca su red de adentro hacia afuera revisando regularmente los puertos abiertos con estos comandos de Linux.

Los puertos de red abiertos son los puntos de entrada más fáciles a su red. A veces, puede haber servicios no deseados ejecutándose en puertos que son visibles externamente desde Internet. En caso de que estos servicios sean vulnerables, su red estaría en constante amenaza de un ataque, ya que todos los días se escanea en masa todo el Internet en busca de servicios vulnerables en puertos abiertos.

Aprenda cómo puede escanear y ver los puertos abiertos en sus sistemas Linux, para que pueda defender su red de las amenazas.

¿Qué son los puertos de red?

Los puertos de red son puntos de acceso lógicos de su sistema que se pueden utilizar como un canal para albergar múltiples servicios. Un puerto está representado por un número entero de 16 bits, por lo que el número de puerto más alto es 65535.

Puede pensar en puertos como ventanas y puertas de una casa, básicamente todos los diferentes puntos de entrada a una casa o una computadora. Los puertos son de tres tipos: puertos de sistema (1-1023), puertos registrados (1024-49151) y puertos efímeros o dinámicos (49152-65535).

instagram viewer

Cuando inicia una aplicación que requiere conexión a Internet, utiliza puertos dinámicos para transmitir y recibir datos a través de la red. Sin embargo, cuando inicia un servidor web o un servidor SSH, normalmente se enlaza con los puertos del sistema o los puertos registrados.

Para los servidores web de servicio HTTP, el puerto del sistema predeterminado es 80 y para SSH es 22. Estas regulaciones, como los rangos de puertos, son desarrolladas por la Autoridad de Números Asignados de Internet (IANA). Puedes pasar por el RFC sobre puertos para obtener una lista completa de todos los puertos y sus funciones.

Es importante que sepas el puertos más comúnmente vulnerables para que pueda asegurarse de que estén cerrados o protegidos.

1. Compruebe si hay puertos abiertos con netstat

netstat es una utilidad popular que puede usar para ver las estadísticas de red de su sistema Linux. Es parte del paquete net-tools.

El paquete de herramientas de red ahora está depreciado debido a la falta de mantenimiento adecuado por parte del desarrollador. Esta es también la razón por la que puede encontrar un error "ifconfig: comando no encontrado" al ejecutar el popular comando ifconfig en Linux.

Entonces, en los sistemas modernos, es posible que primero deba instalar el paquete net-tools y luego podrá ejecutar el comando netstat. A continuación se explica cómo verificar los puertos abiertos con netstat:

netstat-tuln

Explicación del comando:

  • -t muestra los puertos TCP.
  • -tu muestra los puertos UDP.
  • -l muestra los puertos de escucha. Reemplace esto con a si desea ver todos los puertos, independientemente de su estado.
  • -norte muestra el valor numérico de los puertos en lugar de resolver los nombres de los servicios. Por ejemplo, muestre el puerto 22 en lugar de SSH, es decir, el servicio que se ejecuta en el puerto.

2. Compruebe si hay puertos abiertos con ss

ss es el equivalente moderno de la herramienta netstat. Lo encontrará preinstalado en todas las distribuciones modernas de Linux. La sintaxis para verificar puertos abiertos con ss es idéntica a netstat.

Aquí se explica cómo verificar los puertos abiertos con ss:

ss-tuln

Explicación del comando:

  • -t muestra los puertos TCP.
  • -tu muestra los puertos UDP.
  • -l muestra los puertos de escucha. Reemplace esto con a si desea ver todos los puertos, independientemente de su estado.
  • -norte muestra el valor numérico de los puertos en lugar de resolver los nombres de los servicios. Por ejemplo, muestre el puerto 21 en lugar de FTP, es decir, el servicio que se ejecuta en el puerto.

3. Compruebe si hay puertos abiertos con Nmap

Nmap es una de las herramientas más populares en ciberseguridad y redes. Es un nombre básico cuando se trata de pruebas de penetración de seguridad de red. Su caso de uso principal es el escaneo de puertos, por lo que no solo obtendrá información sobre los puertos abiertos en su sistema, sino también si son vulnerables y explotables.

Además, si desea comprobar los puertos abiertos en un sistema remoto con IDS/IPS configurados y cortafuegos instalados, no se preocupe porque Nmap también puede pasar por alto los cortafuegos y los IDS/IPS con los conmutadores correctos.

Mira esto guía completa sobre Nmap para principiantes para explorar las diversas características de Nmap y cómo usarlas. Aunque puede, no se recomienda intentar eludir los cortafuegos, ya que no es del todo confiable, por lo que es mejor que ingrese al servidor remoto mediante SSH y luego ejecute Nmap localmente.

Aquí está el comando para buscar puertos abiertos con Nmap:

nmap-sTU-sV  -T 5 --min-rate 9000 --min-parallelism 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-retries 50 -Pn --disable-arp-ping -n -- script vuln, explotar, auth -v -oX 

Explicación del comando:

  • -sTU establece el tipo de escaneo en Conexión TCP y escaneo UDP.
  • -T 5 establece la plantilla de temporización en agresiva para escaneos ultrarrápidos (no recomendado en un sistema desprotegido, ya que puede resultar en un ataque DoS).
  • -sV activa la exploración de servicios.
  • --min-tarifa 9000 le dice a Nmap que envíe 9000 paquetes por segundo.
  • --inicial-rtt-tiempo de espera 50ms le dice a Nmap que espere inicialmente 50 ms para obtener una respuesta a cada paquete SYN que envía.
  • --max-rtt-tiempo de espera 3000ms le dice a Nmap que espere un máximo de 3000 ms para obtener una respuesta.
  • --min-paralelismo 9000 establece el número mínimo de ejecuciones simultáneas de scripts en 9000.
  • --max-reintentos 50 le dice a Nmap que vuelva a intentarlo 50 veces para conectarse a un puerto.
  • -Pn desactiva el sondeo de ping.
  • --disable-arp-ping desactiva el sondeo ARP.
  • -norte deshabilita la resolución de DNS.
  • --script vuln, explotación, autenticación ejecuta tres scripts para probar diferentes tipos de vulnerabilidades en los puertos descubiertos.
  • -v devuelve una salida detallada.
  • -buey guarda los resultados en un archivo XML.
  • -6 Parámetro opcional para escanear direcciones IPv6.

4. Compruebe si hay puertos abiertos con lsof

El comando lsof en Linux se usa para listar archivos abiertos. Sin embargo, si le agrega algunos interruptores, podrá ver las conexiones y puertos de Internet abiertos en su máquina local. Aquí se explica cómo verificar los puertos abiertos con lsof:

lsof-i-n

Explicación del comando:

  • -i enumera todos los archivos de red e Internet.
  • -norte no resuelve los nombres de host.

5. Compruebe si hay puertos abiertos con netcat

netcat es una utilidad de línea de comandos que le permite leer y escribir desde y hacia conexiones TCP/UDP. Tenga en cuenta que esta es solo una característica de netcat. Puede consultar su página de manual utilizando el hombre netcat comando para explorar todas sus características y cómo usarlas.

Así es como puede usar netcat para escanear puertos abiertos:

nc-zv  | grep -v "rechazado"

Explicación del comando:

  • -z establece netcat en modo escáner.
  • -v devuelve una salida detallada.
  • grep -v "rechazado" devuelve líneas de salida sin la palabra "rechazado". Esto es para evitar que la terminal se obstruya con mensajes de "conexión rechazada" cuando netcat no recibe salida de un puerto.
  • 2>&1: este es un interruptor opcional que es posible que deba activar para que grep funcione cuando se ejecuta netcat en modo detallado. netcat devuelve la salida a stderr (indicado por 2). Entonces, para grep la salida, tendría que redirigir stderr a stdout (indicado por 1) y luego canalizarlo a grep.

Cuanto más conozca su red, mejor podrá defenderla

Saber qué puertos están abiertos y qué servicios se están ejecutando en su sistema es un gran paso para defenderlo de posibles ataques externos. Esto le permite buscar y cerrar servicios innecesarios, encontrar servicios obsoletos y también detectar si hay algún archivo malicioso como bind o backdoors de shell inverso ejecutándose en su sistema.

Si se toma en serio la seguridad de la red, debe considerar instalar y configurar una solución IDS para monitorear toda la actividad en su red y hacer cumplir los conjuntos de reglas para evitar conexiones no solicitadas.