Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Verifiëren

Inleiding

Dit document beschrijft hoe u een tijdgebaseerde toegangscontroleregel kunt configureren en valideren met Rest API in de FTD die wordt beheerd door FDM.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Firepower Threat Defense (FTD)

- Firepower Device Management (FDM)

- Kennis van representatieve Overdracht van de Toepassingsprogrammeerinterface van de Staat (REST API)

- Toegangscontrolelijst (ACL)

Gebruikte componenten

De informatie in dit document is gebaseerd op FTD versie 7.1.0.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

FTD API versie 6.6.0 en hoger ondersteunen toegangscontroleregels die beperkt zijn op basis van tijd.

Met behulp van de FTD API kunt u tijdbereikobjecten maken, die eenmalige of terugkerende tijdbereiken specificeren, en deze objecten toepassen op toegangscontroleregels. Met behulp van tijdbereiken kunt u een toegangscontroleregel toepassen op verkeer tijdens bepaalde tijden van de dag of voor bepaalde periodes, om flexibiliteit te bieden aan netwerkgebruik. U kunt FDM niet gebruiken om tijdbereiken te maken of toe te passen, noch toont FDM u of een toegangscontroleregel een tijdbereik heeft toegepast op het.

Configureren

Stap 1. Klik op de geavanceerde opties (het menu Kebab) om de FDM API verkenner te openen.

Afbeelding 1. FDM web gebruikersinterface.

Stap 2. Kies de categorie AccessPolicy om de verschillende API-oproepen weer te geven.

Afbeelding 2. API Explorer-webgebruikersinterface.

Stap 3. Draai de GET bellen om de Access Policy ID te verkrijgen.

Afbeelding 3. Toegangsbeleid categorie.

Stap 4. Je moet aanslaan. TRY IT OUT!  om de API-respons op te halen.

Afbeelding 4. Probeer IT OUT! knop waarop de API aanroep wordt uitgevoerd.

Stap 5. Kopieert de JSON gegevens van het responsorgaan naar een blocnote. Later moet u de Access Control Policy-id gebruiken.

Afbeelding 5. ONTVANG een antwoord van Access Policy.

Stap 6. Vind en open de categorie TimeRange op de API Explorer om de verschillende API-oproepen weer te geven.

Afbeelding 6. Tijdbereikcategorie.

Stap 7. Maak evenveel TimeRange-objecten als u wilt met de POST API-aanroep.

Afbeelding 7. Tijdbereik na de oproep.

Vind hier een paar van JSON formaatvoorbeelden om twee verschillende TimeRange objecten te maken.

Voorwerp 1:

{

"name": "range-obj-1",

"recurrenceList": [

{

"days": [

"MON",

"TUE",

"WED",

"THU",

"FRI"

],

"recurrenceType": "DAILY_INTERVAL",

"dailyStartTime": "00:00",

"dailyEndTime": "23:50",

"type": "recurrence"

}

],

"type": "timerangeobject"

}

Voorwerp 2:

{

"name": "range-obj-2",

"recurrenceList": [

{

"days": [

"MON"

],

"recurrenceType": "DAILY_INTERVAL",

"dailyStartTime": "12:00",

"dailyEndTime": "13:00",

"type": "recurrence"

}

],

"type": "timerangeobject",

}

Opmerking: Vergeet niet om te slaan op TRY IT OUT!  om de API-oproepen uit te voeren.

Stap 8. Draai de GET  oproep om de TimeRange object ID’s te verkrijgen.

Afbeelding 8. KRIJG respons van Time Range.

Stap 9. Klik op de Deploy  om uw wijzigingen te valideren en toe te passen.

Afbeelding 9. Stel knop beschikbaar bij API verkenner.

Stap 10. Controleer de configuratie die u zojuist hebt gemaakt en klik op DEPLOY NOW.

Afbeelding 10. FDM in afwachting van venster Veranderingen.

Stap 11. Vind de AccessPolicy categorie en open de POST-oproep om een tijdgebaseerde toegangscontroleregel te creëren.

Afbeelding 11. Access Policy POST-oproep.

Vind hier een JSON formaat voorbeeld om de op tijd gebaseerde ACL te maken die verkeer van binnenuit naar de buitenzone toestaat.

Zorg ervoor dat u de juiste tijdbereik object-ID gebruikt.

{

"name": "test_time_range_2",

"sourceZones": [

{

"name": "inside_zone",

"id": "90c377e0-b3e5-11e5-8db8-651556da7898",

"type": "securityzone"

}

],

"destinationZones": [

{

"name": "outside_zone",

"id": "b1af33e1-b3e5-11e5-8db8-afdc0be5453e",

"type": "securityzone"

}

],

"ruleAction": "PERMIT",

"eventLogAction": "LOG_FLOW_END",

"timeRangeObjects": [

{

"id": "718e6b5c-2697-11ee-a5a7-57e37203b186",

"type": "timerangeobject",

"name": "Time-test2"

}

],

"type": "accessrule"

}

Opmerking: eventLogAction moet LOG_FlOW_END om de gebeurtenis aan het eind van de stroom te registreren, geeft het anders een fout.

Stap 12. Stel de veranderingen op om nieuwe op tijd-gebaseerde ACL toe te passen. De wachtende melding Wijzigingen moet het in Stap 10 gebruikte tijdbereikobject weergeven.

Afbeelding 12. FDM In afwachting van het venster van Veranderingen toont de nieuwe regel.

Stap 13 (optioneel). Als u ACL wilt bewerken, kunt u de PUT de tijdbereik-ID bellen en bewerken.

Afbeelding 13. PUT call voor toegangsbeleid.

Vind hier de JSON Deze tijdbereik-ID's kunnen worden verzameld met behulp van deGET bellen.

{

"version": "flya3jw7wvqg7",

"name": "test_time_range",

"ruleId": 268435460,

"sourceZones": [

{

"version": "lypkhscmwq4bq",

"name": "inside_zone",

"id": "90c377e0-b3e5-11e5-8db8-651556da7898",

"type": "securityzone"

}

],

"destinationZones": [

{

"version": "pytctz6vvfb3i",

"name": "outside_zone",

"id": "b1af33e1-b3e5-11e5-8db8-afdc0be5453e",

"type": "securityzone"

}

],

"sourceNetworks": [],

"destinationNetworks": [],

"sourcePorts": [],

"destinationPorts": [],

"ruleAction": "PERMIT",

"eventLogAction": "LOG_FLOW_END",

"identitySources": [],

"users": [],

"embeddedAppFilter": null,

"urlFilter": null,

"intrusionPolicy": null,

"filePolicy": null,

"logFiles": false,

"syslogServer": null,

"destinationDynamicObjects": [],

"sourceDynamicObjects": [],

"timeRangeObjects": [

{

"version": "i3iohbd5iufol",

"name": "range-obj-1",

"id": "718e6b5c-2697-11ee-a5a7-57e37203b186",

"type": "timerangeobject"

}

],

"id": "0f2e8f56-269b-11ee-a5a7-6f90451d6efd",

"type": "accessrule"

}

Stap 14. Implementeer en valideer uw wijzigingen.

Afbeelding 14. FDM In afwachting van het venster van Veranderingen toont de verandering van het voorwerp.

Verifiëren

1. Start de show time-range opdracht om de status van uw tijdbereikobjecten te valideren.

> show time-range

time-range entry: range-obj-1 (active)

periodic weekdays 0:00 to 23:50

time-range entry: range-obj-2 (inactive)

periodic Monday 12:00 to 13:00

2. Gebruik de show access-control-config  opdracht om de configuratie van de toegangscontroleregel te valideren.

> show access-control-config

===============[ NGFW-Access-Policy ]===============

Description :

=================[ Default Action ]=================

Default Action : Block

Logging Configuration

DC : Enabled

Beginning : Disabled

End : Disabled

Rule Hits : 0

Variable Set : Object missing: 76fa83ea-c972-11e2-8be8-8e45bb1343c0

===[ Security Intelligence - Network Whitelist ]====

===[ Security Intelligence - Network Blacklist ]====

Logging Configuration : Disabled

DC : Disabled

=====[ Security Intelligence - URL Whitelist ]======

=====[ Security Intelligence - URL Blacklist ]======

Logging Configuration : Disabled

DC : Disabled

======[ Rule Set: admin_category (Built-in) ]=======

=====[ Rule Set: standard_category (Built-in) ]=====

-------------[ Rule: test_time_range ]--------------

Action : Allow

Source ISE Metadata :

Source Zones : inside_zone

Destination Zones : outside_zone

Users

URLs

Logging Configuration

DC : Enabled

Beginning : Disabled

End : Enabled

Files : Disabled

Safe Search : No

Rule Hits : 0

Variable Set : Object missing: 76fa83ea-c972-11e2-8be8-8e45bb1343c0

Time Range : range-obj-1

Daily Interval

StartTime : 00:00

EndTime : 23:50

Days : Monday,Tuesday,Wednesday,Thursday,Friday

3. Start een System Support Trace  debug om te bevestigen dat het verkeer de juiste regel raakt.

> system support trace

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

Please specify an IP protocol: tcp

Please specify a client IP address:

Please specify a client port:

Please specify a server IP address:

Please specify a server port: 443

Monitoring packet tracer and firewall debug messages

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 New firewall session

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 app event with app id no change, url no change, tls host no change, bits 0x1

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Starting with minimum 1, 'test_time_range', and SrcZone first with zones 2 -> 1, geo 0 -> 0, 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.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 match rule order 1, 'test_time_range', action Allow

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 MidRecovery data sent for rule id: 268435460, rule_action:2, rev id:2116550259, rule_match flag:0x1

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 allow action

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Packet 1930048: TCP ******S*, 07/20-18:05:06.790013, seq 4109528346, dsize 0

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Session: new snort session

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 AppID: service: (0), client: (0), payload: (0), misc: (0)

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Firewall: starting rule matching, zone 2 -> 1, geo 0(0) -> 0, 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.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Firewall: allow rule, 'test_time_range', allow

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Policies: Network 0, Inspection 0, Detection 0

10.10.10.3 62360 -> Destination IP 443 6 AS=0 ID=3 GR=1-1 Verdict: pass