Saltar al contenidoHisnLabs
← Defensa de red para una sola computadora

Lección 2 de 4 · 9 min

Firewalls: filtrado con estado y opciones de macOS

Cómo decide un firewall con estado qué dejar pasar, la diferencia entre el filtrado de entrada y de salida, y las herramientas que macOS le ofrece para cada uno.

El trabajo de un firewall parece simple: dejar pasar el tráfico bueno y mantener alejado el tráfico malo. Lo interesante es cómo decide y a qué nivel. Esta lección cubre el filtrado con estado como concepto, luego las herramientas específicas e independientes que ofrece macOS, cada una trabajando en una capa diferente.

Filtrado con estado: recordar la conversación

Uno de los primeros firewalls "sin estado" inspecciona cada paquete de forma aislada según un conjunto fijo de reglas. En cambio, un firewall con estado realiza un seguimiento de las conexiones abiertas y, como lo describe el glosario de redes de Cloudflare, "guarda información sobre las conexiones abiertas y utiliza esta información para analizar el tráfico entrante y saliente, en lugar de inspeccionar cada paquete" desde cero. En la práctica, esto significa que un firewall con estado puede mantener los puertos efectivamente cerrados hasta que una conexión que usted inició solicite una respuesta y luego permitir que esa respuesta específica vuelva a ingresar, sin abrir el puerto a nada más. Casi todos los firewalls de consumidores y sistemas operativos que se utilizan hoy en día, incluido el de macOS, tienen estado.

Filtrado de entrada y de salida

El filtrado entrante controla las conexiones que llegan a la máquina, sin ser invitadas, desde el exterior: alguien o algo que intenta comunicarse con un servicio que se ejecuta en ella. El filtrado de salida (saliente) controla las conexiones que la propia máquina, o una aplicación en ella, intenta realizar hacia afuera. Los dos importan por diferentes razones. El filtrado entrante evita que una máquina sea alcanzada y sondeada en primer lugar. El filtrado de salida es importante después de que algo sale mal: el software dañino que ingresa a una máquina aún necesita llamar a casa, recibir instrucciones o enviar datos, y cada uno de ellos necesita una conexión saliente. Una máquina con un fuerte firewall de entrada y sin ningún filtrado de salida aún puede filtrar todo lo que contiene, una conexión saliente a la vez.

Lo que realmente te ofrece macOS

Tres mecanismos diferentes, en tres capas diferentes; verificar el comportamiento actual en las propias páginas de Apple antes de confiar en cualquiera de ellas.
HerramientaCapaDirecciónNotas
Cortafuegos de aplicacionesPor aplicación, en Configuración del sistema → Red → FirewallEntranteDecide si cada aplicación puede aceptar conexiones entrantes; no filtra lo que las aplicaciones envían. Cubierto con comandos para verificarlo en el curso de refuerzo de macOS de este sitio.
pf (filtro de paquetes)Filtrado de paquetes a nivel de kernel, heredado de BSDAmbos, basados ​​en reglasUn potente firewall de uso general que Apple utiliza internamente (por ejemplo, para compartir Internet), documentado para los administradores en las páginas de manual pfctl y pf.conf en lugar de en un panel de configuración gráfica. Las reglas pf escritas a mano son un firewall BSD heredado, no un producto de Apple con una página de soporte, y macOS no documenta oficialmente su edición para su protección por parte del usuario final.
Filtros de contenido de extensión de redA nivel de aplicación, a través del marco NetworkExtension de AppleSaliente (y entrante para los flujos se les proporciona un filtro)El marco que utilizan las aplicaciones de terceros para inspeccionar o bloquear el tráfico de red por aplicación o por dominio, con el permiso del usuario; es lo que hace posible un firewall saliente por aplicación en macOS, en lugar de solo entrante.

La lectura práctica de esta tabla es que el cortafuegos integrado y compatible de macOS (el cortafuegos de aplicaciones) cubre bien las conexiones entrantes, pero no dice nada sobre lo que sale de la máquina. pf técnicamente puede hacer ambas cosas, pero es una herramienta de bajo nivel basada en scripts dirigida a administradores que se sienten cómodos editando archivos de configuración y razonando sobre el orden de las reglas, no es algo que este curso explicará en la configuración, ya que un error en un conjunto de reglas escrito a mano puede fallar silenciosamente al abrir o bloquear el acceso a la red por completo, y Apple no lo trata como una configuración de primera clase y compatible para el usuario final de la forma en que lo hace con el Firewall de aplicaciones. Las guías de fortalecimiento comunitario que publican conjuntos de reglas pf ya preparados o scripts que incorporan listas de bloqueo de IP de terceros van más allá de lo que recomienda este curso: alguien debe confiar en esas listas y mantenerlas actualizadas, y una actualización fallida puede interrumpir la conectividad sin un mensaje de error claro.

Esa brecha, un firewall incorporado solo de entrada sin una forma simple y compatible de ver o controlar las conexiones salientes por aplicación, es exactamente lo que el marco de extensión de red de Apple permite que los desarrolladores externos llenen, con el permiso explícito del usuario durante la instalación.

Lo esencial

  • Un firewall con estado rastrea las conexiones abiertas y permite el tráfico de retorno para una conexión que usted inició, sin inspeccionar cada paquete con una lista de reglas fija.
  • El filtrado entrante evita que se pueda acceder a una máquina desde el exterior; El filtrado de salida (saliente) es importante una vez que algo ya está en la máquina e intenta comunicarse.
  • El firewall de aplicaciones de macOS filtra las conexiones entrantes por aplicación; no filtra el tráfico saliente.
  • `pf` es un potente cortafuegos BSD a nivel de kernel que macOS utiliza internamente, pero no es una configuración de refuerzo documentada y compatible para el usuario final como lo es el cortafuegos de aplicaciones.
  • El marco de extensión de red de Apple es lo que permite que las aplicaciones de terceros proporcionen filtrado saliente por aplicación, la brecha que deja abierta el firewall integrado.

Ponte a prueba

  1. 1. ¿En qué se diferencia un firewall con estado de un filtro de paquetes simple y sin estado?

    • Bloquea todo el tráfico de forma predeterminada sin excepciones.
    • Realiza un seguimiento de las conexiones abiertas y utiliza ese contexto para permitir el tráfico de retorno esperado. — Correcto.
    • Sólo funciona en redes Wi-Fi
    • Cifra todo el tráfico de la red.

    Los cortafuegos con estado recuerdan el estado de las conexiones abiertas en lugar de juzgar cada paquete de forma aislada, lo que les permite permitir respuestas de forma segura a las conexiones que usted inició.

  2. 2. ¿Por qué es importante el filtrado de salida (saliente), dado un fuerte firewall de entrada?

    • No importa si el filtrado entrante es fuerte
    • Porque el software que ya está en la máquina todavía necesita una conexión saliente para enviar datos o recibir instrucciones. — Correcto.
    • Las conexiones salientes siempre son seguras
    • Sólo importa para servidores web.

    El filtrado entrante impide que conexiones no solicitadas lleguen a la máquina, pero no hace nada una vez que algo ya se está ejecutando en ella e intenta comunicarse hacia el exterior.

  3. 3. ¿Qué NO hace el firewall de aplicaciones de macOS?

    • Decidir si una aplicación puede aceptar conexiones entrantes
    • Filtrar las conexiones salientes que realiza una aplicación — Correcto.
    • Trabajar por aplicación
    • Ejecutar sin ningún software adicional

    El firewall de aplicaciones es sólo de entrada; controlar lo que envían las aplicaciones requiere un mecanismo diferente, como uno construido en el marco de extensión de red de Apple.

Ponlo en práctica con FireAI

Pon esta lección en práctica en tu propio Mac.

Fuentes

Ponlo en práctica en tu Mac

Prueba todas las funciones gratis durante 17 días, sin tarjeta.

Descargar para Mac Docs