En la gestión cotidiana de diversos entornos de sistemas operativos debemos siempre estar atentos a los diferentes parámetros de los equipos bajo nuestro cargo o soporte con el fin de monitorear amenazas, encontrar errores e incrementar la seguridad de los mismos con el fin de evitar tareas administrativas y de gestión innecesarias.Uno de los temas que muchas veces pasamos inadvertidos está asociado a los puertos que usan nuestros equipos para la respectiva comunicación en la red y esto puede convertirse en una vulnerabilidad critica en el correcto funcionamiento de los sistemas operativos.
Hoy veremos en detalle cómo ver puertos abiertos Linux en diversas distros de Linux como ver puertos abiertos CentOs 8, con el fin de comprender y conocer que puertos tengo abiertos y están “escuchando” la información. Es importante que controlemos los puertos abiertos Linux porque podemos estar comprometiendo nuestra seguridad. Si al ver puertos abiertos Linux comprobamos que tenemos alguno que no usamos, es mejor que los cerremos para evitar accesos indeseados. Hoy veremos la importancia de listar puertos abiertos Linux y controlar si tenemos algún fallo de seguridad.
De modo que si deseamos cerrar un puerto deberíamos sencillamente cerrar el programa que usa dicho puerto. O cerrar directamente el puerto a través de Firewall del sistema.
- 21: Puerto de FTP
- 80: Puerto del HTTP
- 25: Puerto del SMTP
Un puerto es básicamente un número de 16 bits comprendido entre 0 y 65535 el cual diferencia un programa a otro en el sistema operativo.
- 0-1023: Son los puertos del sistema.
- 1024-49151: Son puertos registrados o puertos de usuario.
- 49152-65535: Son puertos dinámicos o puertos privados.
Como podemos ver tener un claro conocimiento de los puertos abiertos en las diversas distros de Linux nos permiten tener un control centralizado sobre qué acción está siendo ejecutada por el equipo a nivel interno.
1. Ver puertos abiertos Ubuntu
En primer lugar para ver el listado completo de las aplicaciones y su respectivo protocolo podemos usar el siguiente comando:
cat /etc/services
Podemos ver en detalle la aplicación, el número de puerto y el grupo al cual pertenece. También es posible usar el siguiente comando que nos permite ver de forma más detallada cada protocolo. Allí basta con pulsar Enter para ir desplazando hacia abajo la lista de los comandos.
cat /etc/services | less
2. Ver puertos TCP, UDP abiertos Linux Ubuntu
Es posible que deseemos visualizar un grupo determinado de puertos en Ubuntu, por ejemplo, si deseamos listar únicamente los puertos TCP y UDP usaremos el siguiente comando:
netstat -lntu
Obtendremos el siguiente resultado:
Gracias a netsat podemos ver las estadísticas de la red en tiempo real y los demás parámetros agregados son:
- -l: Permite ver exclusivamente los puertos de escucha
- -n: Permite ver el número de puerto
- -t: Visualiza los puertos TCP
- -u: Visualiza los puertos UDP
Podemos usar el siguiente comando para visualizar todos los puertos que están “escuchando”, es decir, abiertos.
Netstat -l
También podemos usar los siguientes comandos:
Un último comando útil en Ubuntu 16 es el siguiente:
ss -lntuEl parámetro SS permite ver los respectivos sockets en el sistema, en este caso hemos agregado los valores -lntu para desplegar los sockets de los puertos TCP y UDP.
3. Ver puertos abiertos CentOS 7, CentOS 8
En CentOS 7 una de las formas más prácticas como podemos ver los puertos abiertos es usando nmap, para ello debemos ejecutar el siguiente comando:
Nmap localhost
El resultado obtenido será el siguiente. Podemos ver que puertos tenemos abiertos en el momento, el número de puerto y el servicio que lo está abriendo, del mismo modo podemos ver cuantos puertos están cerrados.
sudo yum install nmap
Usando Nmap podemos visualizar los puertos abiertos en un sitio web desde CentOS 7, por ejemplo para ver los puertos abiertos de Solvetic.com usaremos el siguiente comando. Podemos ver número, estado y tipo de servicio del puerto.
nmap 178.33.118.246
Adicionalmente podemos usar el comando netstat para ver en detalle el estado de los puertos en CentOS 7, para ver el listado completo de puertos usaremos el siguiente comando:
netstat -l
4. Ver puertos TCP, UDP abiertos Linux CentOS 8, 7
En CentOS 7 o CentOS 8podemos usar la siguiente sintaxis para ver el estado de determinados tipos de puertos:
netstat -lt(Iniciales de puerto)
Por ejemplo, para ver exclusivamente los puertos TCP y UDP usaremos el siguiente comando:
netstat -ltup
Si deseamos ver solo los puertos TCP usaremos:
netstat -ltp
Finalmente en CentOS 8 podemos hacer uso de NetCat para determinar el estado de un puerto, para ello debemos usar la siguiente sintaxis:
nc -vn 1 (Dirección IP) (Numero de puerto)
En este ejemplo validaremos si el puerto 21 de la dirección IP 192.168.0.29 está o no abierto, para ello ingresamos lo siguiente:
nc -vn 1 192.168.0.29 21
El resultado obtenido será el siguiente:
Si el mensaje retornado es Connection refused indica que el puerto esta cerrado. Si el mensaje desplegado es Connected significa que el puerto está abierto.
5. Ver puertos abiertos Debian
En Debian el comando básico para verificar los puertos abiertos es el siguiente:
Nmap -sT -O localhost
Podemos usar el comando netcat (nc) para realizar la validación de un puerto en particular del equipo, para esto es importante conocer la dirección IP de la máquina.
Una vez tengamos la IP, en este caso 192.168.0.31, usaremos el siguiente comando. En este caso hemos recibido el mensaje Connection refused el cual indica que el puerto 25 en la IP indicada se encuentra cerrado, si el mensaje desplegado es Connected indica que el puerto está abierto.
nc -zv 192.168.0.31 25
6. Ver puertos abiertos Debian desde web
En Debian 11 es posible usar nmap para consultar los puertos abiertos de un determinado sitio web.
Para ello usaremos la siguiente sintaxis:
nmap -v -A (Sitio web)
Por ejemplo veremos que puertos abiertos tiene el sitio web Solvetic.com:
Podemos ver que el resultado nos indica número de puerto, estado y dirección. Otra de las alternativas que nos ofrece Debian para verificar los puertos abiertos de un servicio en exclusivo podemos usar el siguiente comando:
netstat -lt(Inicial protocolo)
Por ejemplo para ver los puertos TCP usaremos el siguiente comando:
netstat -ltp
Así mismo podemos usar el comando netstat -l para obtener un listado completo de todos los puertos abiertos en Debian .
7. Ver puertos abiertos Fedora
Para verificar los puertos abiertos en Fedora 25 podemos usar alguna de las opciones mencionadas en las distros anteriores con total confianza.
Para ver un listado completo de todos los puertos abiertos podemos usar dos opciones:
netstat -l nmap -sT -O localhost
En ambos casos el resultado nos indicará que puertos están abiertos actualmente en Fedora 25.
8. Ver puertos abiertos TCP Linux Fedora
Para verificar esto podemos usar el comando netstat seguido del respectivo parámetro, por ejemplo, para validar los puertos TCP podemos usar el siguiente comando:
netstat -ltp
Del mismo modo podemos agregar el parámetro del puerto requerido para su respectiva consulta.
Si deseamos verificar los sockets que están siendo usados por un puerto en particular podemos usar el siguiente comando:
ss -lnt (Listar los sockets usados por TCP)
9. Listar puertos abiertos Linux
También podemos usar el siguiente comando isof que permite ver archivos abiertos pero también nos permitirá ver los puertos abiertos.
Para listar puestos abiertos Linux usaremos el siguiente comando:
lsof -i -P -n #yum install lsof para RHEL y CentOS apt install lsof para Debian y Ubuntu
Si queremos listar puerto concreto Linux, podemos usar el siguiente comando poniendo el puerto que nos interesa:
lsof -i :puerto lsof -i :22De esta manera contamos con diversas formas de verificar todos los puertos o un puerto en específico cuyo estado sea en “escucha” para de este modo determinar si este puerto debe o no estar abierto y en caso de no ser así tomar medidas preventivas.