
Si su ISP o firewall bloquea todas las conexiones entrantes, ¿cómo pueden los servidores web seguir enviándole datos a su navegador? Usted envía la solicitud (saliente) y el servidor envía datos (entrantes). Si bloquea todas las entradas, ¿cómo puede responder el servidor web?
¿Qué pasa con la transmisión de vídeo y los juegos multijugador, donde se utiliza UDP? UDP no tiene conexión, por lo que no es necesario establecer ninguna conexión. Entonces, ¿cómo lo manejará el firewall o el ISP?
Respuesta1
"Bloque entrante" significa que el bloque entrantenuevas conexionesestán bloqueados, peroestablecidoel tráfico está permitido. Así que si salenuevas conexionesestán permitidos, entonces la mitad entrante de esa conversación está bien.
El firewall gestiona esto mediante el seguimiento del estado de las conexiones (un firewall de este tipo a menudo se denomina "firewall con estado"). Ve el TCP SYN saliente y lo permite. Ve un SYN/ACK entrante y puede verificar que coincida con el SYN saliente que vio, lo deja pasar, y así sucesivamente. Si permite un protocolo de enlace de tres vías (por ejemplo, está permitido según las reglas del firewall), permitirá esa conversación. Y cuando vea el final de esa conversación (FIN o RST), eliminará esa conexión de la lista de paquetes para permitir.
UDP se hace de manera similar, aunque implica que el firewall recuerde lo suficiente como para pretender que UDP tiene una conexión o sesión (lo cual UDP no tiene).
Respuesta2
@gowenfawr tiene la imagen de alto nivel abajo. Sin embargo, pensé en agregar algunos detalles sobre cómo se realiza la "coincidencia" para el seguimiento de la conexión, ya que puede parecer mágico para los no iniciados.
Cada conexión TCP tiene un número de puerto de cada lado. Como saben la mayoría de los técnicos, los servidores HTTP se ejecutan en el puerto 80. Cuando su navegador se conecta a un servidor web, le pedirá al sistema operativo que genere un número de puerto "local", que será algo aleatorio como 29672 que no será utilizado por ningún otro. Conexión TCP desde esa computadora (y el sistema operativo puede hacer esto porque conoce todas las conexiones TCP activas). Luego, se enviará un paquete de configuración TCP inicial desde la IP de su máquina (IP_YOURS) y el número de puerto 29672 a la IP del servidor web (IP_WEBSERVER) y el número de puerto 80. En ese punto, el firewall con estado dirá "ajá, paquetes futuros desde el puerto IP_WEBSERVER". 80 que van al puerto IP_YOURS 29672 no son conexiones nuevas, son respuestas a una conexión existente y deben permitirse". Los cortafuegos con estado mantienen una tabla, y la totalidad de esta tabla expira eventualmente si no se ven paquetes yendo en ninguna dirección durante un largo tiempo.
Respuesta3
Supongo que el firewall sirve solo para bloquear conexiones de ingresos no autorizadas. Cuando envía una solicitud al DNS, el DNS responde que esta no es una conexión entrante no autorizada.
Respuesta4
No estoy ejecutando un servidor, accedo a ciertos servidores. Quiero que las conexiones sean más seguras. Mi idea siempre es llamar al servidor a través del puerto que te dieron. Nunca permitas que el servidor te llame