Identificación de servicios de red con puertos de comunicación abiertos

Las aplicaciones cliente-servidor abren puertos de comunicación en el servidor, lo que permite a las aplicaciones escuchar las solicitudes de cliente entrantes.

Dado que los puertos abiertos son vulnerables a posibles ataques de seguridad, identifique qué aplicaciones tienen puertos abiertos y cierre los puertos que están abiertos innecesariamente. Esta práctica es útil porque permite entender qué sistemas se están poniendo a disposición de cualquiera que tenga acceso a Internet.

Para determinar qué puertos están abiertos, siga estos pasos:


  1. Identifique los servicios utilizando el mandato netstat como se indica a continuación:

    # netstat -af inet

    A continuación se muestra un ejemplo de esta salida de mandato. La última columna de la salida del mandato netstat indica el estado de cada servicio. Los servicios que están a la espera de conexiones entrantes están en el estado LISTEN.

    Este es un ejemplo de la salida del mandato al ejecutar el mandato netstat .
    Conexión a Internet activa (incluidos los servidores)
    Proto Cola de recepción Cola de envío Dirección local Dirección foránea (estado)
    tcp4
    0
    0
    *.echo
    *.*
    LISTEN
    tcp4
    0
    0
    *.discard
    *.*
    LISTEN
    tcp4
    0
    0
    *.daytime
    *.*
    LISTEN
    tcp
    0
    0
    *.chargen
    *.*
    LISTEN
    tcp
    0
    0
    *.ftp
    *.*
    LISTEN
    tcp4
    0
    0
    *.telnet
    *.*
    LISTEN
    tcp4
    0
    0
    *.smtp
    *.*
    LISTEN
    tcp4
    0
    0
    *.time
    *.*
    LISTEN
    tcp4
    0
    0
    *.www
    *.*
    LISTEN
    tcp4
    0
    0
    *.sunrpc
    *.*
    LISTEN
    tcp
    0
    0
    *.smux
    *.*
    LISTEN
    tcp
    0
    0
    *.exec
    *.*
    LISTEN
    tcp
    0
    0
    *.login
    *.*
    LISTEN
    tcp4
    0
    0
    *.shell
    *.*
    LISTEN
    tcp4
    0
    0
    *.klogin
    *.*
    LISTEN
    udp4
    0
    0
    *.kshell
    *.*
    LISTEN
    udp4
    0
    0
    *.echo
    *.*
    udp4
    0
    0
    *.discard
    *.*
    udp4
    0
    0
    *.daytime
    *.*
    udp4
    0
    0
    *.chargen
    *.*
    udp4
    0
    0
    *.time
    *.*
    udp4
    0
    0
    *.bootpc
    *.*
    udp4
    0
    0
    *.sunrpc
    *.*
    udp4
    0
    0
    255.255.255.255.ntp
    *.*
    udp4
    0
    0
    1.23.123.234.ntp
    *.*
    udp4
    0
    0
    localhost.domain.ntp
    *.*
    udp4
    0
    0
    name.domain..ntp
    *.*
    ....................................

  2. Abra el archivo /etc/services y compruebe los servicios de Internet Assigned Numbers Authority (IANA) para correlacionar el servicio con los números de puerto del sistema operativo.
    A continuación se muestra un fragmento de ejemplo del archivo /etc/services:
    tcpmux  1/tcp  # TCP Port Service Multiplexer
    tcpmux  1/tcp  # TCP Port Service Multiplexer
    Compressnet  2/tcp  # Management Utility
    Compressnet  2/udp  # Management Utility
    Compressnet  3/tcp  # Compression Process
    Compressnet  3/udp  Compression Process
    Echo  7/tcp  
    Echo  7/udp  
    discard  9/tcp  sink null
    discard  9/udp  sink null
    ..............
    rfe  5002/tcp  # Radio Free Ethernet
    rfe  5002/udp  # Radio Free Ethernet
    rmonitor_secure  5145/tcp  
    rmonitor_secure  5145/udp
    pad12sim  5236/tcp
    pad12sim  5236/udp
    sub-process  6111/tcp  # HP SoftBench Sub-Process Cntl.
    sub-process  6111/udp  # HP SoftBench Sub-Process Cntl.
    xdsxdm  6558/ucp
    xdsxdm  6558/tcp
    afs3-fileserver  7000/tcp  # File Server Itself
    afs3-fileserver  7000/udp  # File Server Itself
    af3-callback  7001/tcp  # Callbacks to Cache Managers
    af3-callback  7001/udp  # Callbacks to Cache Managers
  3. Cierre los puertos innecesarios eliminando los servicios en ejecución.
Nota: RMC (Resource Monitoring and Control) utiliza el puerto 657 para la comunicación entre nodos. No puede bloquear o restringir de otro modo este puerto.