¿Todos los puertos están cerrados hasta que el usuario los abre manualmente? ¿Es verdad?

¿Todos los puertos están cerrados hasta que el usuario los abre manualmente? ¿Es verdad?

Soy nuevo en Linux y Ubuntu. Busqué en Google y leí algunos artículos que decían que todos los puertos están cerrados hasta que el usuario los abra manualmente. ¿Es correcto?

¿Y qué quiere decir con "escuchar en un puerto" y "se establece un puerto" en términos simples?

Respuesta1

Busqué en Google y leí algunos artículos que decían que todos los puertos están cerrados hasta que el usuario los abra manualmente. ¿Es correcto?

Depende de lo que veas como "usuario". El usuario normalmente no dice "oye, abre el puerto X". Los servicios del sistema (como CUPS para impresión, puerto UDP/TCP 631) abren un puerto para escuchar. Otros ejemplos incluyen un servidor HTTP (puerto TCP 80), un servidor DNS (puerto UDP 53) y un servidor SMTP (correo) (puerto TCP 25).

Hasta ahora sólo he mencionado los puertos, pero un programa también debe especificar una dirección para comenzar a escuchar. Es importante entender que los programas pueden escucharen la zona(dirección IPv4 127.0.0.1, dirección IPv6 ::1) o en una dirección tal que el servicio sea accesible paraotros dispositivos en tu nwtwork(usando su dirección de red, por ejemplo 10.0.1.4). También hay una "dirección comodín" ( 0.0.0.0para IPv4, ::para IPv6) a la que también se puede acceder de forma remota.

De hecho, los puertos están "cerrados" hasta que un programa comienza a escucharlos.

El sudo netstat -tulpncomando se puede utilizar para mostrar programas TCP/UDP en escucha. En una instalación de escritorio predeterminada de Ubuntu, esto muestra:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2254/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1346/cupsd      
tcp6       0      0 ::1:631                 :::*                    LISTEN      1346/cupsd      
udp        0      0 0.0.0.0:59296           0.0.0.0:*                           1152/avahi-daemon: 
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2254/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1684/dhclient   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1152/avahi-daemon: 
udp6       0      0 :::5353                 :::*                                1152/avahi-daemon: 
udp6       0      0 :::53537                :::*                                1152/avahi-daemon: 

Aquí, puede ver que se puede acceder a avahi-daemon a través de la red en los puertos UDP 59296, 5353 y 53537. Los dos últimos son estándar para avahi-daemon, la primera es una dirección aleatoria que probablemente se comunica utilizando los otros dos puertos. Este demonio se utiliza para el "descubrimiento de redes" y le permite hacer cosas como "compartir archivos". También hay un cliente DHCP escuchando globalmente en el puerto UDP 68.

Algunos servicios solo escuchan localmente y no se puede acceder a ellos a través de la red. Estos son el servicio de caché DNS dnsmasq (puerto UDP 53) y el servicio de impresora CUPS (TCP 631).

¿Y qué quiere decir con "escuchar en un puerto" y "se establece un puerto" en términos simples?

No existe la noción de "puerto establecido", sólo una "conexión establecida". Un puerto que está abierto para escuchar está respaldado por un programa que está interesado en los datos que fluyen en ese puerto. Estos puertos suelen ser estáticos, HTTP se ejecuta en el puerto TCP 80 y DNS en el puerto UDP 53. Estos estándares permiten que otros dispositivos de red encuentren su servicio rápidamente.

Una conexión TCP se establece cuando ambos dispositivos de red acuerdan que quieren hablar entre sí.

Respuesta2

Esa declaración esnocorrecto. Lo cierto es que muy pocos servicios se instalan de forma predeterminada. Y cuando no hay ningún servicio esperando a ser contactado/preguntado (eso es lo que significa "escuchar") no hay necesidad de cerrar ese puerto.

Pero por defecto cadainstaladoEl servicio se está ejecutando y no hay reglas de firewall establecidas para evitar que alguien se comunique con el servicio.

En cuanto a la pregunta adicional: los "puertos" son como números de extensión de teléfono, designan un programa que habla a través de este número como un número de extensión de teléfono designa a una persona o un departamento dentro de una empresa.

información relacionada