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
$ 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