'Soy nuevo en Linux y me han dicho que compruebe los puertos abiertos en mi caja de Linux para verificar la seguridad. ¿Qué significa eso y debería hacerlo? Esta es una pregunta que recibimos de un lector de TechJunkie esta semana y creo que es lo suficientemente interesante como para que más personas quieran saber.
Consulte también nuestro artículo Cómo configurar una máquina virtual Linux con VirtualBox
Como los puertos son parte integral de cómo una computadora se conecta a Internet, es un excelente tema para cubrir.
¿Qué es un puerto?
Los puertos son físicos o virtuales. Un puerto físico es su puerto Ethernet en su computadora o puertos LAN o WAN en su enrutador. En el contexto de la pregunta, estamos hablando de puertos virtuales en una computadora que son diferentes a esos puertos físicos.
En su forma más básica, un puerto es una puerta virtual en su computadora para que los servicios específicos lo utilicen. Hay muchos servicios web como correo electrónico, acceso web, transmisión, FTP o transferencia de archivos, acceso remoto y otros. A todos se les han asignado diferentes puertos para que su sistema operativo y cualquier aplicación web pueda reconocer lo que está sucediendo.
Por ejemplo, un sistema operativo sabe que todo lo que aterrice en el puerto 80 será HTTP, o tráfico web, el puerto 443 es para HTTPS o tráfico web seguro. Todo lo que aterrice en el puerto 25 será SMTP, o tráfico de correo electrónico, etc. Aunque no hay tantos servicios web, en realidad hay más de mil asignaciones de puertos.
Por ejemplo, su navegador se conecta a TechJunkie a través del puerto 443 para que el servidor web sepa que está solicitando una copia HTTPS de la página. Si quisiera subir archivos al servidor, usaría el puerto FTP 989 o 990 para un FTP seguro. Cuando la solicitud llega a ese puerto, el servidor sabe automáticamente qué tipo de tráfico es y lo dirige al servicio correcto.
Los enrutadores también tienen puertos, pero son diferentes y están fuera del alcance de este artículo.
Puertos abiertos y cerrados.
Los términos puertos abiertos y puertos cerrados son realmente incorrectos. Un puerto no está abierto ni cerrado. Se filtra o no se filtra. Un firewall puede 'bloquear' los puertos al no permitir que las aplicaciones se comuniquen a través de ellos o dejar pasar todo el tráfico dependiendo de la configuración. El puerto aún está abierto y una aplicación aún puede estar escuchando el tráfico, pero el firewall evalúa que el tráfico está destinado a un puerto que sabe que no está autorizado y bloquea el tráfico.
Muchos puertos comunes quedan automáticamente sin filtrar por su firewall. El firewall se programará para aceptar el tráfico de los puertos web comunes hasta que le indique lo contrario. Entonces, cuando selecciona bloquear el acceso a Internet usando un firewall, le está diciendo que bloquee y suelte todo el tráfico destinado al Puerto 80 y al puerto 443.
Comprobar puertos en Linux
Tienes un montón de herramientas que puedes usar en Linux para ver qué está pasando. Verificar los puertos es simple, pero como de costumbre, puede mantener las cosas simples o profundizar lo que quiera en lo que está haciendo su dispositivo Linux.
El comando Netstat es lo que usamos para verificar los puertos y otros servicios de red.
- Escribe 'netstat -atu' en una terminal y presiona Enter. Esto le mostrará todos los sockets, conexiones TCP y UDP actualmente activas en Linux.
- Escriba 'netstat –listen' o 'netstat -l' y presione Entrar para enumerar los puertos de escucha en su computadora.
- Escriba 'netstat -vatn' y presione Entrar para enumerar las conexiones TCP existentes desde su computadora.
- Escriba 'netstat -vaun' y presione Entrar para enumerar las conexiones UDP existentes.
- Escriba 'netstat -ltup' para mostrar todas las conexiones junto con el programa escuchando cada puerto.
- Escriba 'netstat -lntup' y presione Entrar para mostrar las direcciones IP junto con el número de puerto.
Esos comandos hacen esencialmente lo mismo, pero proporcionan información diferente según sus necesidades. Sin embargo, cada uno responderá la pregunta original.
Puertos de cierre
Aunque sabemos que en realidad no 'cierra' un puerto, todavía es común hablar de filtrarlo. Cuando alguien dice que debe cerrar un puerto, en realidad no lo hace en su computadora Linux. Solo puede cerrar puertos desde el programa que escucha en el puerto o filtrarlo en su firewall.
Los usuarios avanzados pueden jugar con IPTables en algunas distribuciones de Linux, pero eso es demasiado complicado para mí. Esta guía lo guía a través de eso.
¿Necesitas revisar los puertos?
Si usa un cortafuegos y una buena higiene de Internet, en realidad nunca debería tener que buscar puertos en una computadora Linux. Si administra un servidor Linux, un servidor web o un enrutador, los puertos se vuelven mucho más importantes, pero no tanto para los equipos de escritorio. Un buen firewall se encargará de todo por usted.
