Cómo verificar los puertos abiertos en Linux


Para solucionar problemas del servidor y evitar problemas de seguridad, uno necesita encontrar puertos TCP y UDP abiertos. En este tutorial, aprenderá los diferentes comandos de Linux para verificar los puertos abiertos en Linux para auditar y asegurar el servidor.


¿Qué demonios son los puertos TCP y UDP?

Un puerto no es más que un número de 16 bits entre 0 y 65535. Por ejemplo, el número de puerto TCP 22 puede reenviarse al servidor OpenSSH. Por lo tanto, el número de puerto 22 es una forma de identificar el proceso sshd (servidor OpenSSH).

Números de puerto


  • Los puertos bien conocidos son los de 0 a 1023. 
  • Los puertos registrados son los de 1024 a 49151. 
  • Los puertos dinámicos y privados son aquellos desde 49152 hasta 65535.


Un puerto registrado es un puerto de red asignado por la Autoridad de Números Asignados de Internet (IANA) y almacenado en el archivo / etc / services. Use el comando cat o el comando grep / egrep para ver los números de puerto y las asignaciones de servicio:

cat /etc/services
grep -w '80/tcp' /etc/services
grep -w '443/tcp' /etc/services
egrep -w '22/(tcp|udp)' /etc/services

Verifique los puertos abiertos en Linux

El procedimiento para monitorear y mostrar puertos abiertos en Linux es el siguiente:


  • Abra una aplicación de terminal de Linux 
  • Use el comando ss para mostrar todos los puertos TCP y UDP abiertos en Linux. 
  • Otra opción es usar el comando netstat para enumerar todos los puertos en Linux. 
  • Además de ss / netstat, se puede usar el comando lsof para listar archivos abiertos y puertos en un sistema basado en Linux. 
  • Finalmente, también se puede usar el comando nmap para verificar los puertos TCP y UDP.

Veamos todos los comandos y ejemplos en detalles.

Usando netstat para listar puertos abiertos, escriba el siguiente comando netstat:

sudo netstat -tulpn | grep LISTEN

Por ejemplo, el puerto TCP 631 abierto por el proceso cupsd y cupsd solo aparece en la dirección de loopback (127.0.0.1). Del mismo modo, el puerto TCP 22 abierto por el proceso sshd y la lista sshd en todas las direcciones IP para conexiones ssh:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name 
tcp   0      0      127.0.0.1:631           0.0.0.0:*               LISTEN      0          43385      1821/cupsd  
tcp   0      0      0.0.0.0:22              0.0.0.0:*               LISTEN      0          44064      1823/sshd           

Dónde,

-t: todos los puertos TCP
-u: todos los puertos UDP
-l: muestra los sockets del servidor de escucha
-p: Muestra el PID y el nombre del programa al que pertenece cada socket
-n: no resuelve los nombres
| grep LISTEN: solo muestra los puertos abiertos aplicando el filtro de comando grep.

Usa ss para enumerar puertos abiertos

El comando ss se utiliza para volcar estadísticas de socket. Permite mostrar información similar a netstat. Puede mostrar más TCP e información de estado que otras herramientas. 

La sintaxis es:

sudo ss -tulpn

comando nmap

Además, a los comandos anteriores se puede usar el comando nmap, que es una herramienta de código abierto para la exploración de redes y la auditoría de seguridad. Vamos a usar nmap para encontrar y listar puertos abiertos en Linux:

$ sudo nmap -sT -O localhost
$ sudo nmap -sU -O 192.168.2.254 ##[ list open UDP ports ]##
$ sudo nmap -sT -O 127.0.0.1 ##[ list open TCP ports ]##
$ sudo nmap -sTU -O 192.168.2.24

Conclusión

En conclusión, descubrir puertos abiertos es una de las tareas más fundamentales de un administrador de sistemas Linux por razones de seguridad. Por lo tanto, cierre todos los puertos no deseados y configure el firewall, como UFW y FirewallD, para abrir o bloquear puertos según sus requisitos. Después de leer este tutorial, debe tener una buena comprensión de cómo verificar los puertos abiertos en Linux. Consulte la lista oficial de la IANA de TCP, UDP y otros puertos.





No hay comentarios:

Publicar un comentario

Cómo verificar los puertos abiertos en Linux

Para solucionar problemas del servidor y evitar problemas de seguridad, uno necesita encontrar puertos TCP y UDP abiertos. En este tut...

Infolinks