El comando NetStat está presente en todos los SO de la computadora (sistemas operativos) para monitorear las conexiones de red. El siguiente comando usa NetStat para mostrar todos los puertos de escucha utilizando el protocolo TCP:
netstat -lt
Dónde:
netstat: Llama al programa.
-L: Lista de puertos de escucha.
-t: Especifica el protocolo TCP.
La salida es amigable para el ser humano, bien ordenada en columnas que muestran el protocolo, los paquetes recibidos y enviados, las direcciones IP locales y remotas y el estado del puerto.
Si cambia el protocolo TCP para UDP, el resultado, al menos en Linux, mostrará solo puertos abiertos sin especificar el estado porque contrario al protocolo TCP, el protocolo UDP es apácrico.
netstat -lu
Puede evitar especificar protocolos y usar solo la opción -l o -Listen para obtener información sobre todos los puertos escuchando independientemente del protocolo:
Netstat -Listen
La opción anterior mostrará información para los protocolos de socket TCP, UDP y Unix.
Todos los ejemplos anteriores muestran cómo imprimir información en puertos de escucha sin conexiones establecidas. El siguiente comando muestra cómo mostrar puertos de escucha y conexiones establecidas:
netstat -vatn
Dónde:
netstat: Llama al programa
-V: verbosidad
-a: muestra conexiones activas.
-t: muestra conexiones TCP
-norte: muestra puertos en valor numérico
Supongamos que identificó un proceso sospechoso en su sistema y desea verificar los puertos asociados. Puedes usar el comando LSOF Se utiliza para enumerar archivos abiertos asociados a los procesos.
LSOF -I 4 -A -P
En el siguiente ejemplo verificaré el proceso 19327:
LSOF -I 4 -A -P 19327
Dónde:
LSOF: llama al programa
-i: Enumera los archivos que interactúan con Internet, la opción 4 instruye a imprimir solo IPv4, la opción 6 está disponible para IPv6.
-a: instruye que la salida sea andada.
-pag: Especifica el número PID del proceso que desea verificar.
Como ve, el proceso está asociado con el puerto SMTP de escucha.
Cómo verificar los puertos abiertos en Linux de forma remota
Si desea detectar puertos en un sistema remoto, la herramienta más utilizada es NMAP (Network Mapper). El siguiente ejemplo muestra un solo escaneo de puertos contra Linuxhint.com:
nmap linuxhint.comunicarse
La salida se ordena en 3 columnas que muestran el puerto, el estado del puerto y el servicio escuchando detrás del puerto.
No se muestra: 988 puertos cerrados
Servicio Estatal de Portes
22/tcp abierto ssh
25/tcp abierto SMTP
80/tcp abre http
161/TCP SNMP filtrado
443/tcp abierto https
1666/tcp filtrado netview-aix-6
1723/TCP PPTP filtrado
6666/TCP Filtrado IRC
6667/TCP Filtrado IRC
6668/TCP Filtrado IRC
6669/TCP Filtrado IRC
9100/tcp filtrado jetDirect
Por defecto, NMAP escanea los 1000 puertos más comunes solo. Si desea que NMAP escanee todos los puertos ejecutados:
nmap -p- linuxhint.comunicarse
En el Artículos relacionados Sección de este tutorial Puede encontrar tutoriales adicionales en NMAP para escanear puertos y objetivos con muchas opciones adicionales.
Eliminar servicios en Debian 10 Buster
Además, a las reglas de firewall para mantener sus puertos bloqueados, eliminando los servicios innecesarios. Bajo Debian 10 Buster esto se puede lograr con APT.
El siguiente ejemplo muestra cómo eliminar el servicio Apache 2 usando APT:
apt eliminar apache2
Si se solicita, presione Y Para terminar la eliminación.
Cómo cerrar los puertos abiertos en Linux usando UFW
Si encuentra puertos abiertos, no necesita estar abierto, la solución más fácil es cerrarlo usando UFW (firewall sin complicaciones)
Hay dos formas de bloquear un puerto, utilizando la opción denegar y con la opción rechazar, La diferencia es que la instrucción de rechazo informará al segundo lado, la conexión fue rechazada.
Para bloquear el puerto 22 utilizando la regla denegar solo corre:
UFW negar 22
Para bloquear el puerto 22 utilizando la regla rechazar solo corre:
UFW Rechazado 22
Sobre el Artículos relacionados Sección Al final de este tutorial, puede encontrar un buen tutorial sobre firewall sin complicaciones.
Cómo cerrar los puertos abiertos en Linux usando iptables
Si bien UFW es la forma más fácil de administrar los puertos, es una interfaz de iptables.
El siguiente ejemplo muestra cómo rechazar las conexiones al puerto 22 usando iptables:
iptables -I Entrada -p TCP - -DPORT 22 -J Rechazar
La regla anterior instruye a rechazar todas las conexiones entrantes de TCP (entrada) al puerto de destino (DPORT) 22. Siendo rechazado, la fuente será informada de la conexión fue rechazada.
La siguiente regla simplemente deja caer todos los paquetes sin informar a la fuente la conexión fue rechazada:
iptables -a entrada -p tcp --dport 22 -J Drop
Espero que hayas encontrado este breve tutorial útil. Sigue a Linuxhint para obtener actualizaciones y consejos adicionales sobre Linux y Networking.