Ver destacados

Cómo ver, cerrar o abrir puertos en CentOS 8

Tutorial para saber cómo ver, cerrar o abrir puertos en CentOS 8 paso a paso de manera práctica.
Escrito por
41.9K Visitas  |  Publicado oct 16 2019 13:16
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Uno de los componentes que juegan un papel vital en un sistema operativo, en este caso hablamos de Linux, son los puertos. Estos permiten que los paquetes de red y toda la comunicación interactúe en base a las reglas que han sido establecidas.

 

Recuerda que un puerto esencialmente permite que se pueda acceder o no al sistema ya sea de forma local o externa, por ejemplo, muchas aplicaciones usan un puerto determinado para acceder a ella con la sintaxis

http://Dirección_IP:puerto
De modo que este puerto debe autorizarse en el firewall de Linux.

 

Tutorial para aprender cómo saber y ver puertos abiertos en Linux y cómo validar puertos con diferentes comandos.

 

En CentOS 8 es muy importante saber administrar los puertos para controlar el acceso a la red y las comunicaciones, que están basados en puertos y protocolos asociados.

 

Qué es un puerto
Un puerto se constituye como un número de 16 bits (0 a 65535) con el fin de identificar una aplicación o proceso en CentOS 8, o cualquier sistema operativo, y estos se catalogan como:
  • 0-1023: puertos asignados como puertos tradicionales.
  • 1024 – 49151: Son puertos registrados del sistema.
  • 49152 – 65535: Son puertos dinámicos que están disponibles para su uso.

 

Para comprender y poder ver más esto podemos ejecutar lo siguiente en CentOS 8:

cat /etc/services

 

Allí encontramos detalles específicos como:

  • Servicio ejecutado
  • Número de puerto y protocolo usado
  • Descripción

 

Términos
Comprendamos un poco mas estos términos los cuales Solvetic te dirá que son y cómo actúan:
  • TCP (Transmission Control Protocol - Protocolo de Control de Transmisión), es un protocolo comúnmente conocido para las tareas en Internet ya que este envía paquetes de vuelta con el fin de confirmar que lo que ha sido enviado ha sido recibido, esto garantiza la integridad de la señal.
  • UDP (User Datagram Protocol - Protocolo de Datagramas de Usuario), es un protocolo similar a TCP, pero este protocolo ignora la verificación de errores.
  • Socket: El socket permite la comunicación de procesos diferentes ya sea en el equipo local o en equipos diferentes

 

Con esto en mente aprenderemos a administrar los puertos en CentOS 8.

 

Conocer las reglas actuales del Firewall en CentOS 8
En el caso de CentOS 8, la función que administra las reglas del Firewall es firewall desde donde podemos establecer nuevas zonas y de este modo permitir el acceso o no de los servicios en el sistema, para conocer las reglas actuales ejecutamos lo siguiente:
iptables –L

 

 

Existen diferentes comandos que nos ayudarán a comprender que puertos están en el sistema ya sean abiertos o no y Solvetic te explicará cada uno de ellos.

 

Tutorial para poder ver el registro de los intentos de conexión fallidos de inicio de sesión SSH en Linux.

 


1. Cómo usar comando netstat en CentOS 8


Netstat (network statistics – estadísticas de red) es un comando enfocado en aspectos de red como estadísticas de interfaz, tablas de enrutamiento y demás parámetros.

 

Para conocer los puertos ejecutamos lo siguiente:

netstat -atu

 

Los parámetros usados son:

 

Despliega todos los sockets
-a

Muestra las conexiones TCP
-t

Genera las conexiones UDP
-u

 

Adicional podemos ejecutar lo siguiente:

netstat -ltnp
Los parámetros usados son:

 

muestra solo los sockets
l

Muestra la conexión TCP
t

Despliega las direcciones en forma numérica
n

Despliega la identificación del proceso y/o nombre del programa
p

 

 

Podemos ejecutar netstat -lunp para listar los protocolos UDP.

 


2. Cómo usar el comando lsof en CentOS 8

 

Paso 1

El comando lsof (List of Open Files) es un comando que permite listar todos los archivos abiertos en CentOS 8, pero es útil para listar los puertos deseados, por ejemplo, si queremos ver todos los procesos del puerto 80 ejecutamos lo siguiente:
lsof -i :80

 

Paso 2

Allí encontramos detalles como el servicio, PID, proceso, dispositivo, estado del puerto, etc. El comando lsof nos da la oportunidad de visualizar todos los puertos en estado de escucha ejecutando lo siguiente:
lsof -n -P | grep LISTEN

 

Paso 3

Con lsof podemos listar solo por tipo de protocolo así:
lsof -i tcp
lsof -i udp

 


3. Cómo usar el comando nmap en CentOS 8


Nmap (Network Mapped) es un comando que permite administrar todo lo relacionado con la red y para este caso es útil para visualizar los puertos y su estado en CentOS 8, en primer lugar, debemos instalarlo con el siguiente comando:
yum install nmap
Luego podemos ejecutar lo siguiente:
nmap -sT -O localhost (Para protocolo TCP)
nmap -sU -O localhost (Para protocolo UDP)

 


4. Cómo usar el comando ss en CentOS 8


SS es un comando que nos permite administrar los sockets de CentOS 8, para listar los puertos con protocolos TCP y UDP ejecutaremos lo siguiente:
ss -lntu

 


5. Cómo abrir puertos en CentOS 8


Como mencionamos, existe la necesidad de abrir uno o más puertos para permitir que aplicaciones o conexiones estén autorizadas para acceder, en CentOS 8 debemos usar la siguiente sintaxis para abrir un puerto:
firewall-cmd --zone=(zone) --add-port=(# de puerto)/(protocolo) –permanente

 

Paso 1

Por ejemplo, si el objetivo es abrir el puerto 200 y el tipo de protocolo a usar , para debemos ingresar lo siguiente:
firewall-cmd --zone=public --add-port=200/tcp –permanent

 

A tener en cuenta, el parámetro –permanent hará permanente el puerto lo cual activa el puerto cuando se inicie la sesión y el sistema creará la regla evitando que la registremos cada vez que se intente acceder.

 

Paso 2

Después de esto aplicamos los cambios en el firewall ejecutando:
firewall-cmd –reload

 


6. Cómo abrir un puerto basado en servicio en CentOS 8

 

Paso 1

Anteriormente hemos habilitado un puerto basado en su número, pero es posible abrir un puerto basándonos en su servicio (mysql, apache, https, etc), para esto usaremos la siguiente sintaxis:
firewall-cmd --permanent --zone=public --add-service=http (activa el servicio http)
 firewall-cmd --permanent --zone=public --add-service=ftp (activa el servicio ftp)

 

Paso 2

Luego de esto comprobamos los puertos que hemos abierto ejecutando:
firewall-cmd --list-all

 

Allí encontramos tanto los servicios como los puertos en CentOS 8.

 


7. Cómo cerrar un puerto en CentOS 8

 

Paso 1

Ahora bien, si por algún motivo debemos cerrar un puerto en CentOS 8 por razones de seguridad o gestión, lo primero a realizar consiste en validar qué puertos tenemos abiertos e CentOS 8, para ello usaremos el comando nmap:
nmap localhost

 

Paso 2

Validamos el estado del Firewall:
iptables -L -n -v

 

Paso 3

Ahora cerramos el puerto ejecutando:
fuser -k puerto
Por ejemplo:
fuser -k 22/tcp

 

Paso 4

Finalmente, si el plan es bloquear el tráfico en un puerto determinado haremos uso de la siguiente sintaxis:
sudo ufw deny puerto/servicio
Por ejemplo:
sudo ufw deny 200/udp
Paso 5

Puertos tradicionales en Linux
Algunos de los puertos mas usados en Linux los cuales son autorizadas por IANA (Internet Assigned Numbers Authority) son:
  • 1: TCP / tcpmux: multiplexor de servicio de puerto TCP.
  • 5: TCP / rje: Entrada de trabajo remota.
  • 7: Servicio de eco echo TCP.
  • 9: Servicio de descarte TCP nulo para pruebas de conexión.
  • 11: Servicio de estado del sistema TCP systat para listar los puertos conectados.
  • 20: puertos de datos FTP ftp-data.
  • 21: puerto TCP ftp File Transfer Protocol (FTP).
  • 22: Servicio TCP ssh Secure Shell (SSH).
  • 23: TCP telnet.
  • 25: TCP smtp Protocolo simple de transferencia de correo (SMTP).

 

Para conocer en detalle todos los puertos IANA puedes ir al siguiente enlace oficial:

 

 Puertos Linux

 

Has aprendido a conocer, abrir y cerrar puertos en CentOS 8 de una forma dinámica y totalmente funcional con Solvetic.

 

Cómo puedes cambiar fácilmente el puerto FTP 21 por defecto en CentOS, RedHot, Ubuntu o Debian de Linux. Videotutorial incluido.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!