Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Netwerkdiagram

CSDAC-implementatie op Ubuntu 20.04

Een Office 365-connector maken

vCenter-connector maken

Verifiëren

Problemen oplossen

Gerelateerde informatie

Inleiding

In dit document wordt beschreven hoe u CSDAC voor Dynamic Microsoft 365-objecten kunt implementeren en integreren op on-prem FMC met Ansible op Ubuntu 20.04.

Voorwaarden

Vereisten

Cisco raadt u aan deze onderwerpen te kennen:

- Basis Linux-opdrachten.

- Basis Python, Docker en Ansible Knowledge.

- Basiskennis van Office 365.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Cisco Firewall Management Center Virtual (FMCv) VWware met 7.2.5 release.

- Cisco Secure Dynamic Attributes Connector (CSDAC) release 2.2.

- Ubuntu 4vCPU/8GB release 20.04.0

- Docker release 24.0.6.

- Python 3.8.10

- Ansible 2.12.10.

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

Met Cisco Secure Dynamic Attributes (CSDAC) kunt u gegevens zoals netwerken en IP-adressen van cloudproviders verzamelen en naar het Cisco Secure Firewall Management Center sturen zodat dit in de Access Control Policy Rules kan worden gebruikt.

De Cisco Secure Dynamic Attributes Connector maakt het mogelijk om servicetags en -categorieën te gebruiken van verschillende cloud-serviceplatforms zoals AWS, Github, Google Cloud, Azure, Azure Service Tags, Microsoft Office 365 en vCenter.

Netwerkconstructies zoals IP-adressen zijn niet betrouwbaar in virtuele, cloud- en containeromgevingen vanwege de dynamische aard van de werkbelasting en de onvermijdelijke overlap van IP-adressen. Soms moeten beleidsregels worden gedefinieerd voor niet-netwerkconstructies, zoals de naam van de virtuele machine (VM) of de beveiligingsgroep. Vandaar dat het firewallbeleid persistent is zelfs wanneer het IP-adres of VLAN verandert. Deze tags en attributen kunnen worden verzameld met behulp van dynamische attributen connector Docker containers die lopen op Ubuntu, CentOs, of Red Hat Enterprise Linux virtuele machines. Als u CSDAC wilt installeren op CentOS of Red Hat, raadpleegt u de officiële documentatiegids.

De dynamische attributen connector op de Ubuntu host is geïnstalleerd met behulp van Ansible Collection. Cisco Secure Dynamic Attributes ondersteunt 2 typen adapters.

- Op voorhand beveiligd Firewallbeheercentrum.

- Cloud-geleverd Firewall Management Center.

Dit artikel is gericht op de implementatie van de Cisco Secure Dynamic Attributes Connect op Ubuntu-host voor Microsoft Office 365 Cloud-service met on-prem Secure Firewall Management Center.

Configureren

Dit deel is verdeeld in de volgende delen:

- CSDAC-implementatie op Ubuntu 20.04.

- Maak een Office 365-connector.

- Maak vCenter Connector.

Netwerkdiagram

CSDAC-implementatie op Ubuntu 20.04

In dit gedeelte wordt besproken hoe u de vereiste software op Ubuntu installeert.

Stap 1: Validate Docker is niet geïnstalleerd.

root@tac:/home/tac# docker --version

Command 'docker' not found.

Waarschuwing: als Docker is geïnstalleerd, raadpleeg dan de documentatie bij Docker om deze te verwijderen.

Stap 2: Update Ubuntu repositories.

root@tac:/home/tac# sudo apt -y update && sudo apt -y upgrade

Hit:1 http://security-ubuntu-site/ubuntu focal-security InRelease

Hit:2 http://ubuntu-repository-web-site/ubuntu focal InRelease

Hit:3 http://ubuntu-repository-web-site/ubuntu focal-updates InRelease

Hit:4 http://ubuntu-repository-web-site/ubuntu focal-backports InRelease

Reading package lists... Done

Building dependency tree

Reading state information... Done

334 packages can be upgraded. Run 'apt list --upgradable' to see them.

Reading package lists... Done

Building dependency tree

....

Stap 3: Bevestig de Python-versie.

root@tac:/home/tac# /usr/bin/python3 --version

Python 3.8.10

Waarschuwing: als de Python-versie ouder is dan 3.6, moet u versie 3.6 of hoger installeren.

Stap 4: Installeer de gemeenschappelijke bibliotheken.

root@tac:/home/tac# sudo apt -y install software-properties-common

Reading package lists... Done

Building dependency tree

Reading state information... Done

...

Stap 5: Installeer Ansible.

root@tac:/home/tac# sudo apt-add-repository -y -u ppa:ansible/ansible && sudo apt -y install ansible

Hit:1 http://security-ubuntu-site/ubuntu focal-security InRelease

Get:2 http://personal-package-archive-site/ansible/ansible/ubuntu focal InRelease [18.0 kB]

Hit:3 http://ubuntu-repository-web-siteubuntu focal InRelease

Hit:4 http://ubuntu-repository-web-site/ubuntu focal-updates InRelease

Hit:5 http://ubuntu-repository-web-site/ubuntu focal-backports InRelease

Get:6 http://personal-package-archive-site/ansible/ansible/ubuntu focal/main amd64 Packages [1 132 B]

Get:7 http://personal-package-archive-site/ansible/ansible/ubuntu focal/main i386 Packages [1 132 B]

Get:8 http://personal-package-archive-site/ansible/ansible/ubuntu focal/main Translation-en [756 B]

Fetched 21.1 kB in 3s (7 526 B/s)

Reading package lists... Done

Reading package lists... Done

Building dependency tree

Reading state information... Done

...

Stap 6: Controleer de Ansible versie.

root@tac:/home/tac# ansible --version

ansible [core 2.12.10]

config file = /etc/ansible/ansible.cfg

configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']

ansible python module location = /usr/lib/python3/dist-packages/ansible

ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections

executable location = /usr/bin/ansible

python version = 3.8.10 (default, May 26 2023, 14:05:08) [GCC 9.4.0]

jinja version = 2.10.1

libyaml = True

Opmerking: het is normaal voor Ansible om te verwijzen naar Python 2.x. De connector gebruikt nog steeds Python 3.6.

Stap 7: Kies Dynamic Attributes Connector met Ansible.

root@tac:/home/tac# ansible-galaxy collection install cisco.csdac

Starting galaxy collection install process

Process install dependency map

Starting collection install process

Downloading https://galaxy-ansible-site/download/cisco-csdac-2.2.1.tar.gz to /root/.ansible/tmp/ansible-local-52406urwp91ou/tmpqabv89vb/cisco-csdac-2.2.1-fr29zaq5

Downloading https://galaxy-ansible-site/download/community-crypto-2.15.1.tar.gz to /root/.ansible/tmp/ansible-local-52406urwp91ou/tmpqabv89vb/community-crypto-2.15.1-dkc897hb

Installing 'cisco.csdac:2.2.1' to '/root/.ansible/collections/ansible_collections/cisco/csdac'

cisco.csdac:2.2.1 was installed successfully

Installing 'community.crypto:2.15.1' to '/root/.ansible/collections/ansible_collections/community/crypto'

Downloading https://galaxy-ansible-site/download/community-general-7.4.0.tar.gz to /root/.ansible/tmp/ansible-local-52406urwp91ou/tmpqabv89vb/community-general-7.4.0-cr9imbx3

community.crypto:2.15.1 was installed successfully

Installing 'community.general:7.4.0' to '/root/.ansible/collections/ansible_collections/community/general'

community.general:7.4.0 was installed successfully

Stap 8: Verplaats naar de csdac directory.

root@tac:/home/tac# cd ~/.ansible/collections/ansible_collections/cisco/csdac/

Stap 9: Installeer de spuitbus.

root@tac:~/.ansible/collections/ansible_collections/cisco/csdac# ansible-playbook default_playbook.yml --ask-become-pass

BECOME password:

[WARNING]: provided hosts list is empty, only localhost is available. Note that

the implicit localhost does not match 'all'

[WARNING]: running playbook inside collection cisco.csdac

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************

ok: [localhost]

TASK [cisco.csdac.csdac : Define Python Interpreter] ***************************

ok: [localhost]

...

TASK [cisco.csdac.csdac : verify that core services are started] ***************

ok: [localhost]

TASK [cisco.csdac.csdac : verify that core services are started] ***************

ok: [localhost]

TASK [cisco.csdac.csdac : verify that core services are started] ***************

ok: [localhost]

TASK [cisco.csdac.csdac : verify that core services are started] ***************

ok: [localhost]

TASK [cisco.csdac.csdac : Post task] *******************************************

ok: [localhost] => {}

MSG:

Please login in to https://172.16.1.53 to configure csdac application

PLAY RECAP *********************************************************************

localhost : ok=72 changed=8 unreachable=0 failed=0 skipped=35 rescued=0 ignored=0

Waarschuwing: in het geval van een installatiefout als gevolg van 'Toestemmingen geweigerd met Docker Daemon socket', overweeg Cisco bug-id CSCwh58312 of neem contact op met Cisco TAC.

Stap 10: Log in op de connector met het CSDAC IP-adres met behulp van het HTTPS-protocol.

Opmerking: De eerste login is gebruikersnaam 'admin', wachtwoord 'admin'. Het systeem vraagt om een wachtwoordwijziging na de eerste succesvolle aanmelding.

Een Office 365-connector maken

Stap 1: Log in op de connector met dynamische kenmerken.

Stap 2: Klik op 'Connectors'.

Stap 3: Voeg een Office 365-connector toe: klik op het pictogram Add (+) en vervolgens op 'Office 365'.

Stap 4: Configureer de connector met Naam, Base API URL, Instantienaam en Schakel optionele IP's in of uit.

Overweeg het volgende:

- De standaardinstelling van het pull-interval is 30 seconden.

- De basis-API-URL is de URL om Office 365-informatie op te halen. Raadpleeg Office 365 IP-adres en URL-webservice op de Microsoft Documentatiegids.

Stap 5: Klik op 'Test' en zorg ervoor dat de test slaagt voor het opslaan van de connector.

Stap 6: Opslaan en ervoor zorgen dat de status 'OK' is.

vCenter-connector maken

Stap 1: Log in op de connector met dynamische kenmerken.

Stap 2: Klik op 'Adapters'.

Stap 3: Voeg een nieuwe adapter toe: klik op het pictogram Toevoegen (+) en vervolgens op 'on-prem Firewall Management Center'.

Stap 4: Configureer de adapter met naam, IP-adres, poort en gebruiker/wachtwoord.

Waarschuwing: maak een nieuwe FMC-gebruiker op UI die specifiek is voor adapterverbinding. Het gebruik van een bestaande gebruiker kan leiden tot onverwachte logouts op CSDAC of On-Prem Firewall Management Center UI.

Opmerking: de gebruikersrolconfiguratie moet de rollen 'Beheerder', 'Toegangsbeheer' of 'Netwerkbeheerder' hebben. Gebruik FQDN van On-Prem Firewall Management Center in het veld IP-adres.

Stap 5: Open de gebruikersinterface van het Firewall Secure Management Center.

Stap 6: Download HTTPS PEM (keten) certificaat van de browser: Klik op HTTPS hangslot getoond op de browser, Secure Connection, Meer informatie, View Certificate, PEM (keten).

Dit downloadt een .pem bestand met de certificaatketen.

Opmerking: stappen voor het verzamelen van het certificaat van het HTTPS On-Prem Secure Firewall Management Center behoren tot de Firefox-browser. Zoek naar vergelijkbare stappen als een andere browser wordt gebruikt.

Stap 7: Open Dynamic Attributes Connector en klik op 'Get certificate' en 'Bladeren uit bestand...'.

Stap 8: Upload het .pem certificaat en klik op 'TEST' om te verzekeren dat de test succesvol is.

Waarschuwing: Zorg ervoor dat DNS-servers die zijn geconfigureerd op de Ubuntu-machine On-Prem Firewall Management Center FQDN kunnen oplossen, anders kan de Test mislukken.

Stap 9: Sla op en controleer of de status 'OK' is.

Opmerking: filters voor dynamische kenmerken kunnen niet worden gemaakt voor Office 365.

Stap 10: Start met Dynamic Office 365 Attributes op On-Prem Firewall Management Center UI toegangscontroleregels te maken.

Verifiëren

Controleer de containerstatus op Ubuntu voor Core-services, connectors en adapters.

root@tac://# docker ps -a

CONTAINER ID IMAGE                                                      COMMAND                CREATED      STATUS      PORTS                  NAMES

44f71f675ff1 public.ecr.aws/e6e4t5f5/muster_fmc_adapter:2.2.0-latest    "./docker-entrypoint…" 12 hours ago Up 12 hours 50070/tcp              muster-adapter-fmc.2.muster

88826cf0742f public.ecr.aws/e6e4t5f5/muster_o365_connector:2.2.0-latest "./docker-entrypoint…" 13 hours ago Up 13 hours 50070/tcp              muster-connector-o365.3.muster

4c2c73d351e2 public.ecr.aws/e6e4t5f5/muster_envoy:2.2.0-latest          "/docker-entrypoint.…" 2 days ago   Up 2 days   0.0.0.0:443->8443/tcp  muster-envoy

67f3afae2165 public.ecr.aws/e6e4t5f5/muster_ui:2.2.0-latest             "/docker-entrypoint.…" 2 days ago   Up 2 days   8080/tcp               muster-ui

722a764c54e9 public.ecr.aws/e6e4t5f5/muster_ui_backend:2.2.0-latest     "./docker-entrypoint…" 2 days ago   Up 2 days   50031/tcp              muster-ui-backend

038654545f30 public.ecr.aws/e6e4t5f5/muster_bee:2.2.0-latest            "/bin/sh -c /app/bee"  2 days ago   Up 2 days   50050/tcp, 50443/tcp   muster-bee

90cfd7e3a28b public.ecr.aws/e6e4t5f5/muster_etcd:2.2.0-latest           "etcd"                 2 days ago   Up 2 days   2379-2380/tcp          muster-etcd

Controleer de status van de connector vanaf de CSDAC UI.

Controleer de adapterstatus vanuit de CSDAC UI.

Controleer Office 365 Dynamic Attributes op Firewall Management Center.

Maak of bewerk een Toegangsbeheer Regel, klik op 'Dynamische kenmerken', klik op 'Beschikbare kenmerken' en selecteer 'Dynamische objecten'.

Opmerking: als Office 365 Dynamic Objects niet vermeld is, kan er iets mis zijn met de integratie. Controleer de probleemoplossing of neem contact op met Cisco TAC.

Problemen oplossen

In het geval van Secure Dynamic Attributes Connector-installatieproblemen met Ansible, verzamel 'csdac.log' op de map '~/.ansible/collections/ansible_Collection/cisco/csdac/logs/'.

root@tac://# cd ~/.ansible/collections/ansible_collections/cisco/logs/

root@tac:~/.ansible/collections/ansible_collections/cisco/csdac/logs# ls -lth

total 276K

-rw-r--r-- 1 root root 272K sep 14 15:37 csdac.log

Logbestanden met installatiefouten worden in dit bestand gevonden. Open het met 'cat' of 'minder' Linux commando's, verken de storingslogs of neem contact op met Cisco TAC en geef dit bestand op.

Soms mislukt Ansible installatie als gevolg van 'ontzegging van rechten'. Verken het bestand csdac.log en zoek naar logbestanden met 'toestemming geweigerd'.

TASK [cisco.csdac.csdac : print result of csdac command line start command (stderr)] ***

ok: [localhost] => {

"muster_cli_start_result.stderr_lines": [

"permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/volumes/create\": dial unix /var/run/docker.sock: connect: permission denied",

"permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/volumes/create\": dial unix /var/run/docker.sock: connect: permission denied",

"permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/volumes/create\": dial unix /var/run/docker.sock: connect: permission denied",

"permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/networks/create\": dial unix /var/run/docker.sock: connect: permission denied",

"docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create\": dial unix /var/run/docker.sock: connect: permission denied.",

"See 'docker run --help'.",

"docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create\": dial unix /var/run/docker.sock: connect: permission denied."

Als soortgelijke logbestanden worden gevonden, overweeg dan Cisco bug-id CSCwh58312 of neem contact op met Cisco TAC voor ondersteuning.

Als 'docker ps -a' aangeeft dat de containers zijn gesloopt of in geval van problemen moeten worden herstart, kunnen de containers opnieuw worden gestart met de 'docker reset container-id' opdracht.

Voorbeeld: herstart Office 365 met container ID '88826cf0742f'.

root@tac://# docker ps -a

CONTAINER ID IMAGE                                                      COMMAND                 CREATED       STATUS      PORTS     NAMES

44f71f675ff1 public.ecr.aws/e6e4t5f5/muster_fmc_adapter:2.2.0-latest     "./docker-entrypoint…" 12 hours ago  Up 12 hours 50070/tcp muster-adapter-fmc.2.muster

88826cf0742f public.ecr.aws/e6e4t5f5/muster_o365_connector:2.2.0-latest  "./docker-entrypoint…" 13 hours ago  Up 13 hours 50070/tcp muster-connector-o365.3.muster

root@tac://# docker restart 88826cf0742f

root@tac://# docker ps -a

CONTAINER ID IMAGE                                                       COMMAND                CREATED       STATUS       PORTS     NAMES

44f71f675ff1 public.ecr.aws/e6e4t5f5/muster_fmc_adapter:2.2.0-latest     "./docker-entrypoint…" 12 hours ago  Up 12 hours  50070/tcp muster-adapter-fmc.2.muster

88826cf0742f public.ecr.aws/e6e4t5f5/muster_o365_connector:2.2.0-latest  "./docker-entrypoint…" 13 hours ago  Up 2 seconds 50070/tcp muster-connector-o365.3.muster

Controleer de verbinding met CSDAC en controleer of de objecten zijn gemaakt in het Secure Firewall Management Center.

> expert

sudoadmin@firepower:~$ sudo su -

Password:

root@firepower:/Volume/home/admin# cat /var/opt/CSCOpx/MDC/log/operation/usmsharedsvcs.log

17-Sep-2023 17:24:58.046,[INFO],(DefenseCenterServiceImpl.java:1462)

com.cisco.nm.vms.api.dc.DefenseCenterServiceImpl, ajp-nio-127.0.0.1-9009-exec-2

** REST Request [ CSM ]

** ID : ff3e6259-2417-48cc-8e5e-a41d0bd04b39

** URL: POST /audit

{

"version":"7.2.5",

"requestId":"ff3e6259-2417-48cc-8e5e-a41d0bd04b39",

"data":{

"userName":"TAC",

"subsystem":"API",

"message":"POST https://FMC-FQDN/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f

/object/bulkdynamicobjects Created (201) - The request has been fulfilled and resulted in a new resource being created",

"sourceIP":"172.16.1.53",

"domainUuid":"e276abec-e0f2-11e3-8169-6d9ed49b625f",

"time":"1694971497660"},"deleteList":[]

}

Gerelateerde informatie

Aanvullende documenten met betrekking tot Cisco Secure Dynamic Attributes (CSDAC) kunnen hier worden gevonden:

Connector voor Cisco Dynamic Attributes

https://www.cisco.com/c/en/us/td/docs/security/secure-firewall/integrations/dynamic-attributes-connector/220/cisco-secure-dynamic-attributes-connector-v220/m_about-the-cisco-dynamic-attributes-connector_21.html

Installeer en upgrade de Cisco Secure Dynamic Attributes Connector

https://www.cisco.com/c/en/us/td/docs/security/secure-firewall/integrations/dynamic-attributes-connector/220/cisco-secure-dynamic-attributes-connector-v220/install-the-cisco-secure-dynamic-attributes-connector.html

De Cisco Dynamic Attributes Connector configureren

https://www.cisco.com/c/en/us/td/docs/security/secure-firewall/integrations/dynamic-attributes-connector/220/cisco-secure-dynamic-attributes-connector-v220/configure-the-cisco-secure-dynamic-attributes-collector.html

Dynamische objecten gebruiken in toegangscontrolebeleid

https://www.cisco.com/c/en/us/td/docs/security/secure-firewall/integrations/dynamic-attributes-connector/220/cisco-secure-dynamic-attributes-connector-v220/use-dynamic-objects-in-access-control-rules.html

Probleemoplossing voor de Dynamic Attributes Connector

https://www.cisco.com/c/en/us/td/docs/security/secure-firewall/integrations/dynamic-attributes-connector/220/cisco-secure-dynamic-attributes-connector-v220/troubleshoot-the-dynamic-attributes-connector.html

CSDAC 2.2 Installatie is mislukt "Toestemming geweigerd met Docker daemon socket" in Ubuntu 20.04.

Cisco bug-id CSCwh58312.