Como hacer Auto-Tag para DAG a partir del Log

Printer Friendly Page

El siguiente ejemplo, tiene como objetivo poder demostrar la Automatización de Palo Alto Networks a partir de PAN-OS 8.0, y los Dynamic Address Group (DAG). El mismo tiene una utilidad importante para lograr generar un Data Center auto-defendido, sin necesidad de tener que aplicar políticas manualmente. Una de las posibles aplicaciones podría ser detectar equipos comprometidos que están teniendo actividad de Command and Control o actividades sospechosas hacia internet o a las diferentes redes, y de esta manera poder generar bloqueos automáticos a las redes que realmente se necesitan proteger.

 

El ejemplo lo hice muy simple para poder demostrar en una Demo el dinamismo de los DAG.

Para esto es necesario crear las siguientes políticas:

 

Log Forwarding:

 1.png

 

En el ejemplo utilice filtros simples para agregar o quitar del DAG, en este caso utilice alguna página visitada, como condición para agregar la IP de origen la DAG y otra página visitada para sacar la IP del DAG y poder mostrar el dinamismo.

 2.png

 

para el ejemplo use un filtro de URL como el siguiente:

 

( url contains 'ekoparty.org' ) and ( app eq web-browsing )

 

se puede utilizar el filter builder en la misma interface para poder crear el filtro que se quiera crear y visualizar los logs que filtraría el mismo.

 3.png

 

en Tags alcanza con escribir manualmente el nombre del Tag dinámico a utilizar, luego usar ese nombre al generar el grupo, en el ejemplo utilice CuarentenaDAG

 

Luego se creó en el mismo Log Forwarding una condición para poder quitar la IP del DAG, como se ven en las siguientes capturas:

 4.png

el filtro utilizado en este caso es:

 

( url contains 'paloaltonetworks.com' ) and ( app eq web-browsing )

 

y el Built-in Actions:

5.png

 

También se utilizó el mismo tag que en los profiles anteriores: CuarentenaDAG

 

Luego es necesario crear el DAG, efectuándolo de la siguiente manera:

 

Dynamic Address Groups:

6.png

es importante crear el grupo como Dynamic y en el mismo en la condición de Match utilizar el mismo tag utilizado en las acciones del profile de Log forwarding, en el ejemplo:

 

'CuarentenaDAG'

 

Luego es necesario crear políticas para poder aplicar el profile de Log Forwarging y una política para poder demostrar el dinamismo del DAG, en este ejemplo se crearon 2 políticas:

 

  • Una de navegación a internet con el perfil de Log forwarding.
  • Una con el DAG como source para poder bloquear algo, en este caso la aplicación Ping

 

Las mismas se muestras en las siguientes capturas:

7.png

Politica de Bloqueo de Ping:

8.png

es importante usar como Source el grupo dinámico creado anteriormente:

 

9.png

 

Luego en la política de navegación de internet (que este por debajo de la anterior) agregar el profile de Log Forwarding creado anteriormente:

 10.png

Luego hacer Commit de la configuración.

 

Prueba o Demo del Auto-Tag de IP de origen en el DAG:

 

En una PC que salga por ese firewall, iniciar un ping continuo (ping -t) por ejemplo a la IP 8.8.8.8 (google), el comando puede verse en la siguiente imagen:

 11.png

Luego para poder probar el Auto-Tag en el DAG, solamente es necesario ingresar al sitio, en este ejemplo ekoparty.org (es importante remarcar que en la política de navegación en el NGFW, el filtro de URL filtering tiene que estar generando logs al ingresar a las categorías usadas en el ejemplo), eso generara que la IP de la PC sea agregado al DAG de cuarentena y por lo tanto el Ping se corte por aplicar la política de denegación de Ping:

 12.png

Comentar que lo que está ocurriendo es que como el NGFW detecto actividad “maliciosa” agrego dinámicamente la IP de la PC comprometida al grupo dinámico y por lo tanto se está denegando el acceso a las redes críticas que hay que proteger.

 

Si se quiere demostrar que la PC fue agregada al DAG es posible efectuar desde CLI o desde GUI, para poder hacer esto se puede utilizar el siguiente comando:

 

> debug object registered-ip show tag-source tag all ip 192.168.45.32

 

Donde la IP 192.168.45.32 es la IP de la PC desde la cual se accedió, el resultado se puede ver en la siguiente captura:

 13.png

También esto es posible verlo desde la GUI, presionando sobre el botón more… en el DAG:

 14.png

También se puede mostrar en los logs que el trafico comenzó a hacer match con la política de cuarentena:

 15.png

Para poder quitar la IP del DAG, en el ejemplo se puede lograr visitando la otra página del ejemplo, para poder demostrar que es posible agregar o remover IP de los grupos dinámicos, en este ejemplo únicamente hay que visitar la página de paloaltonetworks.com para lograrlo.

 16.png

En la demo, esperar unos segundos para que el ping comience a responder nuevamente, ya que por más que la IP se remueve automáticamente del DAG, es posible que el trafico quede asociado a la sesión anterior hasta que expire y el trafico comience nuevamente por la regla de firewall que lo permite.

 

Volver a ejecutar los comandos y mostrar el DAG para mostrar que la IP fue quitada automáticamente del grupo:

 17.png

18.png

También es posible remover manualmente la IP del DAG utilizando el CLI o la GUI.

 

El comando para poder lograrlo desde CLI es el siguiente:

 

> debug object registered-ip clear ip 192.168.45.32 source-name XMLAPI

donde 192.168.45.32 es la IP que se quiere remover el DAG.

o bien se puede usar el siguiente comando si se quiere limpiar todos las IP de los DAG:

 

> debug object registered-ip clear all

 Ejemplo desde CLI:

 19.png