¿Cómo funcionan las reglas de un firewall para programas individuales?

2

En cierto modo, sé cómo funcionan las reglas de un cortafuegos para IP / puerto, pero no tengo idea de cómo un cortafuegos trata con programas individuales.

En otras palabras, ¿cómo sabe el firewall que un programa quiere acceder a Internet y detenerlo?

    
pregunta AviD 16.08.2011 - 15:19
fuente

5 respuestas

6

Los firewalls de filtrado de aplicaciones están conectados al sistema operativo en el nivel del kernel y son conscientes de cualquier acceso a archivos. Ese reconocimiento de acceso a archivos incluye sockets de red.

Para una demostración visual de esto en:

El firewall conoce el proceso de solicitud y la información de red asociada (puerto, estado, dirección, etc.) tal como lo son las aplicaciones anteriores, pero también tiene la capacidad de modificar, evitar o cerrar conexiones. >     

respondido por el Jeff Ferland 16.08.2011 - 15:49
fuente
6

Jeff Farland es absolutamente correcta, así que si estás buscando una respuesta breve y rápida, en mi opinión es.

Sin embargo, me gusta saber los detalles exactos (por ejemplo, cómo se hace exactamente) porque soy así y esto es un poco demasiado largo para un comentario, así que me centraré en los firewalls basados en software de Windows, ya que ahí es donde es más probable encontrar firewalls de aplicaciones de software comerciales. Muchos de estos enlaces son directos a la documentación del desarrollador y se vuelven bastante técnicos, así que si ese no es el problema del lector, me disculpo, espero que sea una introducción útil para alguien.

Básicamente, Windows en realidad tiene todo un conjunto de funciones del sistema operativo que le permite filtrar, denegar solicitudes, inyectar solicitudes, etc. La documentación más sencilla de encontrar sobre el tema comienza con administrador de filtrado de archivos utilizado por muchos productos antivirus. Hay un brillante diagrama que muestra exactamente cómo funciona cada solicitud. Esencialmente, hay una pila de controladores, parte de la cual incluye una serie de minifiltros que se ordenan por orden de prioridad y se aplican a la solicitud. Esto es probablemente lo que hace su antivirus promedio y es por eso que muchos productos antivirus no pueden instalarse simultáneamente; interfieren entre sí. Aunque esto es para actividad basada en archivos, entonces:

Para los cortafuegos, en el futuro, lo más sensato es hablar sobre la Plataforma de filtrado de Windows , uno de los muchos cambios de seguridad que se produjeron en Vista. Un enlace directo de interés es la parte que explica las varias formas en que se podrían implementar los firewalls de nivel de aplicación En versiones anteriores de windows. Básicamente, fue muy complicado y, de nuevo, por qué dos firewalls no solo pueden causar colisiones, sino también la inestabilidad real del sistema. Aparte de eso, muchos proveedores estaban (están) escribiendo cortafuegos.

La forma realmente sencilla de explicar WPF es esta: tienes dos opciones disponibles para ti. El kernel (el mismo Windows) le proporciona un cierto conjunto de filtros predeterminados que puede aplicar (que son bastante flexibles en cuanto a las muestras). Si desea hacer algo más, debe crear un controlador de llamada que sea esencialmente la misma idea que los minifiltros anteriores. En el modo de controlador de llamada, puede inspeccionar el contenido del paquete y hacer lo que quiera con base en esa información.

El motivo para introducir este cambio es la introducción de Protección de parches del kernel , un mecanismo para evitar que los controladores modifiquen el núcleo de Windows en formas que no desea. Junto con eso, es totalmente posible realizar una gran cantidad de filtrado sin siquiera escribir controladores, consulte este código de muestra . Y si está interesado en hacer uno, o simplemente preguntándose dónde encontré todo esto, aquí están los pasos para aprenda sobre cómo construir un producto basado en WFP desde MSDN.

Así que, básicamente, lo que Jeff dijo, realmente. Obviamente, Linux y Mac OS X son diferentes de nuevo; He intentado concentrarme en el sistema operativo con el que la mayoría de la gente usará un producto como este.

Por cierto; Jeff mencionó Process Explorer. Las utilidades de sysinternals utilizan estas y otras API de filtrado para proporcionarle la información que ve allí en estos días.

    
respondido por el user2213 16.08.2011 - 22:38
fuente
4

Realizar una copia de seguridad de un paso aquí y escribir entre las publicaciones: hay varios tipos diferentes de cortafuegos por ahí. Las capacidades integradas en el firewall y la ubicación del firewall dentro de la red tienen mucho que ver con lo que puede hacer el firewall. Si un firewall puede detectar el programa que transmite los datos tiene mucho que ver con estos factores.

Primero, una definición: un firewall se puede definir (de manera muy general) como algo que vigila y filtra el tráfico en una red. Puede ser:

  • parte de un dispositivo de red: integrado en un enrutador o un conmutador
  • un dispositivo independiente que no hace nada más que filtrar el tráfico
  • una pieza de software instalada en un sistema informático como una estación de trabajo o labtop

Se puede ubicar prácticamente en cualquier lugar donde se pueda conectar, pero la idea general es colocarlo entre las cosas que quieres proteger y las cosas en las que no confías.

A partir de ahí, hay una gran cantidad de tipos de cortafuegos y la forma en que funcionan tiene una gran influencia en lo que pueden hacer. Aquí hay algunos ejemplos de variaciones:

  • capa de red observada : la aplicación, la sesión y la capa de red son las más importantes. Estoy seguro de que si uno mira lo suficiente, puede encontrar firewalls que operan en otras capas, pero esos son los grandes.

  • proxy frente a estado : si se trata de un firewall de tipo proxy, todo lo que puede hacer es comparar este mensaje con un conjunto de reglas de incorrecto frente a correcto para el objetivo dado. Si es un estado, puede construir un conjunto de reglas basadas en lo que viene antes.

Combinar incluso estas tres cosas (dónde se encuentra, qué capa de red puede ver y si su proxy o estado) puede producir una gran variación en lo que puede hacer el firewall.

En general, todos los cortafuegos tienen un conjunto de reglas para el comportamiento bueno frente al malo. Sospecharía que, a menos que esté hablando de un servidor de seguridad de nivel de aplicación que se ejecuta en un sistema informático protegido con características que no son similares a un servidor de seguridad, el servidor de seguridad no puede detectar un programa y evitar que se ejecute. Nunca he oído hablar de un servidor de seguridad que pueda, por ejemplo, ver que estoy usando Microsoft Word y evitar que lo use.

Lo que puede hacer un cortafuegos de aplicaciones es el tráfico de nivel de aplicación del bloque, lo que hará que algunas aplicaciones sean inútiles; por ejemplo, intente usar un navegador web sin acceso a La Internet. Por lo general, cuando un servidor de seguridad pretende bloquear aplicaciones, significa aplicaciones en el sentido de transmisiones de red. En ese sentido, el tráfico HTTP producido por mi navegador web se considera la aplicación.

Las reglas pueden ir desde cosas que son realmente simples, es decir, "no permitir solicitudes HTTP GET entrantes" a algo complicado, como diagnosticar una serie de solicitudes que muestran el manejo de algún tipo de ataque. La clave es que todo lo que un firewall tiene que seguir es dónde el mensaje parece provenir, hacia dónde se dirige y qué contiene.

Una última advertencia: los métodos de cifrado cambiarán lo que un firewall puede y no puede hacer. Si el firewall finaliza la sesión SSL / TLS, entonces puede ser capaz de realizar el procesamiento a nivel de la aplicación, incluso en las transmisiones SSL, pero si el SSL / TLS u otra ruta cifrada es de cliente a servidor, lo mejor que puede hacer el firewall Asegúrese de que el SSL esté bien formado.

    
respondido por el bethlakshmi 16.08.2011 - 22:10
fuente
3

Ya que hace referencia a la IP y al puerto, asumiré que se refiere a un firewall basado en la red. Dado que no todos los cortafuegos que tienen en cuenta las aplicaciones son iguales, solo puedo hablar de uno con el que tengo experiencia: Palo Alto Networks. Si mencionar a un proveedor específico infringe las reglas de este sitio web, simplemente elimine esta respuesta.

Todas las reglas / políticas basadas en la aplicación de Palo Alto Networks se basan en la identificación de la aplicación basada en la red. En otras palabras, PAN realiza una inspección profunda de paquetes de todo el tráfico, todo el tiempo, en todos los puertos. Por lo tanto, el firewall no sabe ni se preocupa por las aplicaciones que se ejecutan en los puntos finales.

Palo Alto utiliza cuatro métodos de análisis de tráfico: detección de protocolo de aplicación (incluye descifrado SSL), descodificación de protocolo de aplicación, firmas de aplicación y heurística. Sé que suenan como palabras de moda, pero el punto es que hay múltiples métodos utilizados. Por cierto, ninguno de ellos está basado en proxy, lo que es bueno.

Una vez que se clasifica el tráfico, se aplican las reglas / políticas. Las reglas pueden incluir grupos LDAP y / o usuarios, QoS, zonas, etc. Por cierto, aún puede usar puertos y direcciones IP en las reglas junto con los otros elementos.

Si Palo Alto no puede identificar la aplicación de una sesión específica, puede bloquearla. En otras palabras, por defecto denegar. Por supuesto, al principio solo deberías alertar antes de habilitar el bloqueo. Palo Alto proporciona un informe para estas sesiones para que pueda regresar y determinar por qué no pudo identificar la aplicación. Existen varios métodos de remediación según la razón.

    
respondido por el Bill Frank 16.08.2011 - 17:18
fuente
2

Le recomiendo que eche un vistazo a firewalls de capa de aplicación (3ª generación) Estos son los tipos que conocen un protocolo o una aplicación en particular.

    
respondido por el Terrance 16.08.2011 - 16:14
fuente

Lea otras preguntas en las etiquetas