¿Qué significa el tráfico "entrante" y "saliente"?

20

He visto muchos recursos que explican cómo configurar el firewall de un servidor para permitir el tráfico entrante y saliente en los puertos estándar HTTP ( 80y 443), pero no puedo entender por qué los necesitaría. ¿Necesito desbloquear ambos para que funcione un sitio web "normal"? ¿Para subir archivos al trabajo? ¿Hay situaciones en las que sería aconsejable desbloquear una y dejar la otra bloqueada?

Lo siento si es una pregunta básica, pero no pude encontrarla explicada en ningún lado (tampoco soy hablante nativa de inglés). Sé que en un sitio web "regular" el cliente siempre es el que inicia una solicitud, por lo que supongo que un servidor web debe aceptar el tráfico entrante en esos puertos, y mi sentido común me dice que el servidor puede enviar una respuesta sin desbloquear nada más (de lo contrario no tendría sentido tener dos tipos de reglas). ¿Es eso correcto?

Pero, ¿qué es un tráfico web (servicio) saliente y cuál sería su uso? AFAIK si el servidor quisiera iniciar una conexión con otra máquina, el puerto específico que importa es el que está en el otro extremo (es decir, el puerto de destino sería 80), en su extremo se podría usar cualquier puerto libre (el puerto de origen sería aleatorio ) Puedo abrir solicitudes HTTP desde mi servidor (usando, wgetpor ejemplo) sin desbloquear nada. Así que supongo que mis conceptos de "entrante" y "saliente" están equivocados de alguna manera.

mgibsonbr
fuente

Respuestas:

22

"Entrante" y "saliente" son desde la perspectiva de la máquina en cuestión.

"Entrante" se refiere a los paquetes que se originan en otra parte y llegan a la máquina, mientras que "saliente" se refiere a los paquetes que se originan en la máquina y llegan a otra parte.

Si hace referencia a su servidor web, en su mayoría acepta conexiones entrantes a su servicio web, y solo ocasionalmente (o tal vez nunca) realiza conexiones salientes.

Si hace referencia a su cliente web, en su mayoría realiza conexiones salientes a otros servicios, y solo ocasionalmente (o tal vez nunca) acepta conexiones entrantes.

Claro como el barro ahora?

Michael Hampton
fuente
3
Agregaría que para enviar una respuesta a su cliente, debe permitir el tráfico saliente para las conexiones establecidas. Entonces, cada vez que un cliente establece una conexión con su puerto 80, su servidor puede responder a cualquier puerto del cliente.
Hex
1
Muy correcto Aunque cualquier firewall con estado debería manejar esto automáticamente.
Michael Hampton
1
Por lo tanto, mi servidor web debe desbloquear las conexiones entrantes en los puertos 80y 433, no necesita preocuparse por las conexiones salientes en esos puertos, pero debe permitir la conexión saliente en el rango de puertos dinámico / efímero, ¿es así? Y todavía estoy un poco confundido con lo saliente: si un cliente web intenta conectarse a un sitio, el puerto de destino sería 80, pero el puerto de origen podría ser cualquiera. ¿Qué puerto consideraría un firewall en esa máquina al decidir bloquear / desbloquear?
mgibsonbr
@mgibsonbr Ahora te estás desviando a lo teórico. Preferimos preguntas prácticas aquí. :)
Michael Hampton
1
Teniendo en cuenta que tiene un conocimiento limitado de los firewalls y el tráfico, le recomendaría que use un script de creación de firewall. UFW es un buen comienzo. La página web del proyecto es help.ubuntu.com/community/UFW , échele un vistazo y obtendrá una comprensión básica de los firewalls y la gestión del tráfico. Si aún necesita ayuda, intentaré darle una aclaración detallada a su pregunta.
Hex
6

En su caso, solo tiene que dejar las solicitudes entrantes al puerto 80.

Cuando se establece una conexión, el firewall automáticamente permitirá que los paquetes vuelvan al puerto del cliente. No necesita crear reglas para eso porque el firewall lo sabe.

jorobado
fuente
1
Esto no responde a toda su pregunta, pero sí, si está usando un firewall con estado, solo se necesitan 80 y 443.
89c3b1b8-b1ae-11e6-b842-48d705
3

Sin ningún contexto en cuanto a lo que significa el texto particular que lee cuando se refieren al tráfico del "servicio web saliente", adoptaré el enfoque más simple en mi respuesta:

  1. Tiene un firewall en la entrada / salida de su red.

  2. El firewall viene en un estado completamente bloqueado y NO permite tráfico entrante o saliente.

  3. Para que sus clientes internos exploren sitios web externos, debe configurar una regla de "servicio web saliente" que les permita conectarse a dichos sitios web externos.

En los términos más simples, la regla leería algo como esto:

CUALQUIER host interno a CUALQUIER host externo donde el destino = TCP Puerto 80 y luego PERMITIR.

joeqwerty
fuente
La expresión "tráfico de servicio web saliente" proviene de esto . En mi caso particular, estoy tratando de configurar el firewall en una instancia del servidor (nube de IBM). La instalación predeterminada vino con la mayoría de las cosas bloqueadas (podría ejecutar Apache pero no acceder desde afuera), y me gustaría saber las cosas criminales que debo desbloquear para poder servir páginas, recibir cargas de archivos (desde el navegador del cliente) , etc. Y no podía decir si esa pieza en particular se aplicaba a mi caso o no, ya que solo dice cómo, no por qué.
mgibsonbr