GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar y cerrar puertos abiertos en Linux

La administración de redes y servidores es una de las áreas clave en las que se prefiere Linux a cualquier otro sistema operativo. Por lo tanto, la mayoría de los administradores de centros de datos conocen bien la línea de comandos de Linux.

Puede haber escenarios en los que determinados puertos de un servidor, que debían cerrarse, estén abiertos y provoquen un tráfico inesperado en el servidor.

Hoy aprenderemos cómo encontrar y cerrar un puerto abierto en Linux.

Encontrar puertos abiertos en Linux

Para encontrar los puertos abiertos, haremos uso del comando ss , que está preinstalado en las distribuciones de Linux más comunes y ahora es el reemplazo del comando netstat, que anteriormente era muy popular.

Ejecutemos el comando ss con la siguiente sintaxis, para que todos escuchen TCP enchufes:

$ ss -tl

Aquí, el 't' significa TCP y 'l' significa enchufes de escucha.

Del mismo modo, para que todos escuchen UDP puertos, ejecute:

$ ss -ul

Observe la salida. En el 'Estado ' columna para UDP , todos los puertos tienen estado UNCONN , es decir, desconectado. Dado que solo necesitamos los puertos que están escuchando activamente, canalizamos la salida y la filtramos con el comando grep.

$ ss -ul | grep LISTEN

También podemos combinar el TCP y UDP salida juntos.

$ ss -tul | grep LISTEN

Otra adición que se puede hacer aquí es:el argumento '-n' . En el resultado anterior, el comando está resolviendo el nombre del servicio asociado con un puerto:ej. HTTP , IPP , etc.

Con el argumento '-n' solo muestra el número de puerto que está escuchando.

$ ss -tuln | grep LISTEN

Cierre de puertos abiertos en Linux

La forma manual de cerrar un puerto abierto en Linux es bastante tediosa y programática. Por lo tanto, utilizaremos el enfoque más sencillo:cerrar los procesos que están escuchando en el puerto.

Necesitamos llamar a ss con otro argumento, '-p' para listar el proceso que está usando cada puerto (ejecutar el comando como usuario sudo).

$ sudo ss -tulnp | grep LISTEN

Como se muestra arriba, la última columna enumera los 'usuarios ', es decir, los procesos que utilizan el número de puerto. Ahora puede cerrar el puerto finalizando el proceso usándolo. Por ejemplo, para cerrar el puerto 80 , tenemos que parar el proceso ‘Apache2 '.

$ sudo service apache2 stop
OR
$ sudo systemctl stop apache2

Por lo tanto, hemos cerrado con éxito el puerto 80 y ya no hay ningún proceso escuchando en él.

Conclusión

En este artículo, aprendimos cómo encontrar y cerrar un puerto abierto en Linux. Muchos puertos como 22 (SSH ), 21 (Telnet ), etc. deben mantenerse cerrados la mayor parte del tiempo, ya que estos son los puertos desde los que pueden surgir ataques cibernéticos.

También se deben cerrar otros puertos cuando ya no se requiera el proceso de usarlos. ¡Gracias por leer y háganos saber sus pensamientos en los comentarios a continuación!


Linux
  1. Cómo abrir y cerrar directorios en la terminal de Linux

  2. Cómo averiguar la lista de todos los puertos abiertos en Linux

  3. Cómo encontrar y matar el proceso Zombie en Linux

  4. Cómo encontrar y eliminar fotos duplicadas en Linux

  5. Cómo enumerar los puertos abiertos en el servidor Linux/Unix

Cómo abrir un puerto en Ubuntu 20.04

Cómo encontrar y eliminar directorios vacíos en Linux

Cómo usar Netcat para escanear puertos abiertos en Linux

Cómo encontrar la fecha y hora de instalación del sistema operativo Linux

Cómo abrir o cerrar puertos en AlmaLinux 8 o Rocky Firewall

¿Cómo comprobar los puertos abiertos en Linux?