Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Las reglas con funciones de Snort se implementan como Permit Any Any

Verifique Cómo Se Gestionan Las Reglas En Los Lados Lina Y Snort

Conclusión

Información Relacionada

Introducción

En este documento se describe cómo se implementan las reglas de Lina en el FTD y cómo las gestionan Lina y Snort. Esta información es útil para la gestión tanto de la bandeja de entrada (FDM) como de la bandeja de salida (FMC).

Prerequisites

Requirements

Cisco recomienda conocer estos temas:

- Centro de administración Firepower (FMC)

- Administrador de dispositivos Firepower (FDM)

- Firepower Threat Defence Virtual (FTDv)

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- FTDv 7.0.4

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

FMC es el gestor externo de los dispositivos Threat Defence.

FDM es el gestor de la bandeja de entrada para los dispositivos Threat Defence.

Las reglas con funciones de Snort se implementan como Permit Any Any

Al crear una regla con funciones que se ejecutan en el lado de Snort, como geolocalización, filtro de URL (localizador universal de recursos), detección de aplicaciones, etc., se implementan en el lado de línea como una regla permit any any.

A primera vista, esto puede confundirle y hacerle pensar que el FTD permite todo el tráfico en esa regla y detiene la verificación de coincidencia de regla para las reglas que siguen.

En este ejemplo, hay reglas de detección de aplicaciones, filtro de URL y bloqueo de geolocalización:

Aquí puede ver la sentencia de regla correcta con los parámetros configurados en la GUI como se ve en Snort:

access-list NGFW_ONBOX_ACL remark rule-id 268435458: ACCESS POLICY: NGFW_Access_Policy

access-list NGFW_ONBOX_ACL remark rule-id 268435458: L7 RULE: testappid

access-list NGFW_ONBOX_ACL advanced permit object-group |acSvcg-268435458 ifc outside any ifc inside any rule-id 268435458

access-list NGFW_ONBOX_ACL remark rule-id 268435459: ACCESS POLICY: NGFW_Access_Policy

access-list NGFW_ONBOX_ACL remark rule-id 268435459: L7 RULE: testurl

access-list NGFW_ONBOX_ACL advanced permit object-group |acSvcg-268435459 any any rule-id 268435459

access-list NGFW_ONBOX_ACL remark rule-id 268435461: ACCESS POLICY: NGFW_Access_Policy

access-list NGFW_ONBOX_ACL remark rule-id 268435461: L5 RULE: testgeo

access-list NGFW_ONBOX_ACL advanced permit object-group |acSvcg-268435461 any any rule-id 268435461

Así es como se ven las reglas en el lado de Snort:

268435458 deny 1 any any 2 any any any any (appid 948:5, 1079:5) (ip_protos 6)

# End rule 268435458

268435459 deny any any any any any any any any (urlcat 2027) (urlrep le 0) (urlrep_unknown 1)

268435459 deny any any any any any any any any (urlcat 2006) (urlrep le 0) (urlrep_unknown 1)

# End rule 268435459

268435461 deny 1 any any any any any any any (dstgeo 643)

# End rule 268435461

Verifique Cómo Se Gestionan Las Reglas En Los Lados Lina Y Snort

Como el comando packet-tracer no maneja correctamente este tipo de reglas, debe probar este tráfico en vivo con system support trace o system support firewall-engine-debug.

Este es un ejemplo para aplicar la regla de bloqueo de geolocalización:

> system support trace

Enable firewall-engine-debug too? [n]: y

Please specify an IP protocol:

Please specify a client IP address:

Please specify a client port:

Please specify a server IP address:

Please specify a server port:

Monitoring packet tracer and firewall debug messages

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Packet 7: TCP 12****S*, 09/21-17:17:13.483709, seq 957225459, dsize 0

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Session: new snort session

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 AppID: service: (0), client: (0), payload: (0), misc: (0)

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Firewall: starting rule matching, zone 1 -> 1, geo 0(0) -> 643, vlan 0, src sgt: 0, src sgt type: unknown, dst sgt: 0, dst sgt type: unknown, user 9999997, no url or host, no xff

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Firewall: block rule, 'testgeo', force_block

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Stream: pending block, drop

10.130.65.192 52459 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Policies: Network 0, Inspection 0, Detection 3

10.130.65.192 52459 -> <Geolocation block IP address>

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 New firewall session

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 app event with app id no change, url no change, tls host no change, bits 0x1

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Starting with minimum 3, 'testurl', and SrcZone first with zones 1 -> 1, geo 0 -> 643, vlan 0, src sgt: 0, src sgt type: unknown, dst sgt: 0, dst sgt type: unknown, svc 0, payload 0, client 0, misc 0, user 9999997

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 pending rule order 3, 'testurl', AppID for URL

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 rule order 3, 'testurl', action Block continue eval of pending deny

10.130.65.192 52460 ->

443 6 AS=0 ID=1 GR=1-1 match rule order 4, 'testgeo', action Block

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 MidRecovery data sent for rule id: 268435461, rule_action:4, rev id:1095042657, rule_match flag:0x0

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 deny action

10.130.65.192 52460 -> <Geolocation block IP address> 443 6 AS=0 ID=1 GR=1-1 Deleting Firewall session

Como puede ver en estas salidas, Snort verifica los parámetros del paquete con las reglas y coincide con la regla de bloqueo de geolocalización, luego se niega el flujo y se elimina la sesión para el flujo.

En el seguimiento de una captura de Lina, puede ver en la fase ACCESS-LIST que alcanzó la primera regla permit any any en lugar de la regla de geolocalización que esperaba recibir, sin embargo en la fase SNORT, vemos en el veredicto que Snort alcanza la regla 268435461, que es la regla de bloqueo de geolocalización:

testftd# show cap test trace packet 1

9 packets captured

1: 17:36:52.082011 10.130.65.192.53336 > <Geolocation block IP address>.443: SWE 316839441:316839441(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>

Phase: 1

Type: CAPTURE

Subtype:

Result: ALLOW

Config:

Additional Information:

MAC Access list

Phase: 2

Type: ACCESS-LIST

Subtype:

Result: ALLOW

Config:

Implicit Rule

Additional Information:

MAC Access list

Phase: 3

Type: INPUT-ROUTE-LOOKUP

Subtype: Resolve Egress Interface

Result: ALLOW

Config:

Additional Information:

Found next-hop 10.130.65.188 using egress ifc outside(vrfid:0)

Phase: 4

Type: ACCESS-LIST

Subtype: log

Result: ALLOW

Config:

access-group NGFW_ONBOX_ACL global

access-list NGFW_ONBOX_ACL advanced permit object-group |acSvcg-268435459 any any rule-id 268435459

access-list NGFW_ONBOX_ACL remark rule-id 268435459: ACCESS POLICY: NGFW_Access_Policy

access-list NGFW_ONBOX_ACL remark rule-id 268435459: L7 RULE: testurl

object-group service |acSvcg-268435459

service-object ip

Additional Information:

This packet will be sent to snort for additional processing where a verdict will be reached

Phase: 5

Type: NAT

Subtype: per-session

Result: ALLOW

Config:

Additional Information:

Phase: 6

Type: IP-OPTIONS

Subtype:

Result: ALLOW

Config:

Additional Information:

Phase: 7

Type: NAT

Subtype: per-session

Result: ALLOW

Config:

Additional Information:

Phase: 8

Type: IP-OPTIONS

Subtype:

Result: ALLOW

Config:

Additional Information:

Phase: 9

Type: FLOW-CREATION

Subtype:

Result: ALLOW

Config:

Additional Information:

New flow created with id 6902, packet dispatched to next module

Phase: 10

Type: EXTERNAL-INSPECT

Subtype:

Result: ALLOW

Config:

Additional Information:

Application: 'SNORT Inspect'

Phase: 11

Type: SNORT

Subtype:

Result: DROP

Config:

Additional Information:

Snort Trace:

00:50:56:96:D0:48 -> 00:50:56:B3:8C:E3 0800

10.130.65.192:53336 -> <Geolocation block IP address>:443 proto 6 AS=0 ID=1 GR=1-1

Packet 22: TCP 12****S*, 09/21-17:36:52.073696, seq 316839441, dsize 0

Session: new snort session

AppID: service: (0), client: (0), payload: (0), misc: (0)

Firewall: starting rule matching, zone 1 -> 1, geo 0(0) -> 643, vlan 0, src sgt: 0, src sgt type: unknown, dst sgt: 0, dst sgt type: unknown, user 9999997, no url or host, no xff

Firewall: block rule, id 268435461, force_block

Stream: pending block, drop

Policies: Network 0, Inspection 0, Detection 3

Verdict: blacklist

Snort Verdict: (black-list) black list this flow

Result:

input-interface: outside(vrfid:0)

input-status: up

input-line-status: up

output-interface: outside(vrfid:0)

output-status: up

output-line-status: up

Action: drop

Drop-reason: (firewall) Blocked or blacklisted by the firewall preprocessor, Drop-location: frame 0x000055b8a176d7b2 flow (NA)/NA

Conclusión

Tal y como se ve en los registros de configuración y tráfico en directo, aunque Lina muestre estas reglas como Permit any any y hayamos alcanzado dicha regla en el lado de Lina, el paquete se envía a Snort para una inspección detallada.

Después, puede verificar que Snort continúa con las reglas hasta que concuerda el tráfico con la regla esperada.

Información Relacionada

Guía de configuración de Firepower Management Center, reglas de control de acceso

Guía de configuración de Cisco Firepower Threat Defence para Firepower Device Manager, control de acceso

ID de bug de Cisco CSCwd00446 - ENH: Packet-tracer no muestra el resultado real de la regla en lugar de una regla de geolocalización en la fase ACL