Con el nuevo sistema operativo desarrollado especialmente para un entorno corporativo como lo es CentOS y hablamos de CentOS 9 Stream el cual promete mejoras en cuanto a desempeño, versatilidad, ejecución de aplicaciones y muchas cosas más, pero existen tareas que siguen siendo claves y esenciales para el administrador y los usuarios y una de ellas es el uso y gestión de los puertos. Un puerto está formado por un número de 16 bits (0 a 65535) permitiendo con ello identificar una aplicación, servicio o proceso, los puertos se catalogan así:
- 0-1023: puertos asignados para tareas comunes
- 1024 – 49151: Son puertos registrados del sistema operativo
- 49152 – 65535: Son puertos dinámicos que están disponibles para ser usados cuando sea necesario
En CentOS 9 Stream los puertos nos dan la posibilidad de tener o no acceso a aplicaciones y procesos y es por ello que es clave saber administrarlos, Solvetic te explicará en este tutorial cómo hacerlo y así ver, cerrar o abrir puertos en CentOS 9 Stream.
1. Cómo abrir puertos en CentOS 9 Stream
En primer lugar, es posible abrir o dar autorización a un puerto, para esto abrimos la terminal en CentOS 9 Stream:
Añadimos el puerto deseado con la sintaxis:
firewall-cmd --zone=public --add-port=###/tcp –permanente
Al pulsar Enter, si no contamos con permisos de sudo, debemos ingresar la contraseña:
Vemos que el puerto se agrega de forma correcta:
Aplicamos los cambios en el Firewall:
firewall-cmd –reload
2. Cómo abrir un puerto basado en servicio en CentOS 9 Stream
Es posible habilitar un puerto tomando como referencia su servicio, en este caso abrimos la terminal y ejecutamos la siguiente sintaxis:
firewall-cmd --permanent --zone=public --add-service=servicio
En este caso hemos añadido el protocolo HTTP; es posible hacerlo con los demás protocolos de ser necesario:
Comprobamos los puertos con el comando: Allí podemos ver los puertos, servicios y demás elementos autorizados o no en CentOS 9 Stream.
firewall-cmd --list-all
3. Cómo cerrar un puerto en CentOS 9 Stream
En la terminal ejecutamos el siguiente comando para comprobar los puertos abiertos:
nmap localhost
Como vemos, no está instalado, si no está instalado Nmap ingresamos la letra “y” para instalarlo:
Al finalizar veremos que la utilidad ha sido instalada:
Ejecutamos de nuevo “nmap localhost". Allí vemos el puerto usado, su estado y el servicio asociado.
Comprobamos el estado del Firewall:
iptables -L -n -v
Conociendo los puertos, procedemos a cerrar un puerto con la sintaxis:
fuser -k puerto
Si deseamos bloquear el tráfico para un proceso ejecutamos:
sudo ufw deny puerto/servicio
Recordemos la función de algunos protocolos en CentOS 9 Stream:
- TCP (Transmission Control Protocol - Protocolo de Control de Transmisión), este es un protocolo enfocado en la web, consiste en el envío de estos paquetes para confirmar que cuentan con un receptor
- UDP (User Datagram Protocol - Protocolo de Datagramas de Usuario), este es un protocolo que ignora la verificación de posibles errores
4. Cómo administrar los puertos en CentOS 9 Stream
Veamos algunos métodos extras para administrar los puertos en CentOS 9 Stream.
Para ver todos los puertos con sus servicios en la terminal ejecutamos:
cat /etc/services
Para desplegar las reglas actuales del Firewall ejecutamos:
iptables –L
5. Usar Netstat en CentOS 9 Stream
Netstat (network statistics – estadísticas de red) es un comando desarrollado, como su nombre lo indica, para estadísticas de interfaz, tablas de enrutamiento y más variables de la red, para conocer los puertos en CentOS 9 Stream ejecutamos:
netstat -atu
- El parámetro -a despliega todos los sockets disponibles
- El valor -t despliega las conexiones TCP
- -u muestra las conexiones UDP
Podemos ejecutar la siguiente orden:
netstat -ltnp
Los parámetros usados son:
- l para listar los sockets
- t para mostrar las conexiones TCP
- n para ver las direcciones en forma numérica
- p para ver la identificación del proceso y/o nombre del programa asociado al puerto
6. Usar Isof en CentOS 9 Stream
El comando lsof (List of Open Files), permite que tengamos acceso a los archivo abiertos en el sistema, pero con el podemos ver los programas asociados a un puerto, usaremos la siguiente sintaxis:
lsof -i :puerto
Para ver los puertos de escucha (LISTEN), ejecutamos lo siguiente:
lsof -n -P | grep LISTEN
Es posible realizar un filtrado de protocolos:
lsof -i tcp lsof -i udp
7. Usar Nmap en CentOS 9 Stream
Ya vimos el uso de nmap (Network Mapped), este es un comando para trabajar con los aspectos de la red, si no lo tienes instalado en CentOS 9 Stream puedes ejecutar el siguiente comando:
ssdo yum install nmap
Después ejecutamos comandos como:
nmap -sT -O localhost (para el protocolo TCP) nmap -sU -O localhost (para el protocolo UDP)
8. Usar ss en CentOS 9 Stream
El comando ss es ideal para gestionar los sockets del sistema, ejecutamos lo siguiente:
ss -lntu
Con esto Solvetic te ha explicado diversas formas para administrar los puertos en CentOS 9 Stream.