Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Configurar

Diagrama de Rede

Implantação do CSDAC no Ubuntu 20.04

Criar um Conector do Office 365

Criar conector do vCenter

Verificar

Troubleshooting

Informações Relacionadas

Introdução

Este documento descreve como implantar e integrar CSDAC para objetos Microsoft 365 dinâmicos no FMC local com Ansible no Ubuntu 20.04.

Pré-requisitos

Requisitos

A Cisco recomenda que você conheça estes tópicos:

- Comandos básicos do Linux.

- Python básico, Docker e conhecimento Ansible.

- Conhecimento básico do Office 365.

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Cisco Firewall Management Center Virtual (FMCv) VWware executando a versão 7.2.5.

- Cisco Secure Dynamic Attributes Connector (CSDAC) versão 2.2.

- Ubuntu 4vCPU/8GB versão 20.04.

- Docker versão 24.0.6.

- Python 3.8.10.

- Ansible 2.12.10

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

O Cisco Secure Dynamic Attributes (CSDAC) permite a coleta de dados como redes e endereços IP de provedores de nuvem e o envia ao Cisco Secure Firewall Management Center para que possa ser usado nas regras de política de controle de acesso.

O Cisco Secure Dynamic Attributes Connector permite o uso de etiquetas de serviço e categorias de várias plataformas de serviço em nuvem, como AWS, Github, Google Cloud, Azure, Etiquetas de serviço do Azure, Microsoft Office 365 e vCenter.

Construções de rede como endereços IP não são confiáveis em ambientes virtuais, de nuvem e de contêiner devido à natureza dinâmica das cargas de trabalho e à inevitabilidade da sobreposição de endereços IP. Às vezes, as regras de política devem ser definidas em construções que não sejam de rede, como o nome da máquina virtual (VM) ou o grupo de segurança. Portanto, as políticas de firewall são persistentes mesmo quando o endereço IP ou a VLAN são alterados. Essas tags e atributos podem ser coletados usando-se contêineres Docker de conector dinâmico executados em máquinas virtuais Ubuntu, CentOs ou Red Hat Enterprise Linux. Se desejar instalar o CSDAC no CentOS ou no Red Hat, consulte o guia de documentação oficial.

O conector de atributos dinâmicos no host Ubuntu é instalado usando a Coleção Ansible. O Cisco Secure Dynamic Attributes suporta dois tipos de adaptadores.

- Secure Firewall Management Center no local.

- Firewall Management Center fornecido em nuvem.

Este artigo se concentra na implantação do Cisco Secure Dynamic Attributes Connect no host Ubuntu para o serviço em nuvem do Microsoft Office 365 com Secure Firewall Management Center no local.

Configurar

Esta seção é dividida nas próximas seções:

- Implantação do CSDAC no Ubuntu 20.04.

- Criar conector para Office 365.

- Criar conector vCenter.

Diagrama de Rede

Implantação do CSDAC no Ubuntu 20.04

Esta seção discute como instalar o software de pré-requisito no Ubuntu.

Etapa 1: Validar Docker não instalado.

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

Command 'docker' not found.

Aviso: se o Docker estiver instalado, consulte a documentação do Docker para desinstalá-lo.

Etapa 2: Atualizar repositórios Ubuntu.

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

....

Etapa 3: confirme a versão do Python.

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

Python 3.8.10

Aviso: Se a versão do Python for anterior à 3.6, você deverá instalar a versão 3.6 ou posterior.

Etapa 4: Instale as bibliotecas comuns.

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

Reading package lists... Done

Building dependency tree

Reading state information... Done

...

Etapa 5: Instale o 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

...

Etapa 6: Verifique a versão Ansible.

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

Observação: é normal que o Ansible faça referência ao Python 2.x. O conector ainda usa Python 3.6.

Etapa 7: Obtenha o software do conector de atributos dinâmicos com o 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

Etapa 8: Mova para o diretório csdac.

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

Etapa 9: Instale o serviço de reunião.

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

Aviso: em caso de falha na instalação devido a 'Permissões negadas com soquete de daemon Docker', Considere a ID de bug Cisco CSCwh58312 ou entre em contato com o TAC da Cisco.

Etapa 10: faça login no conector usando o endereço IP CSDAC usando o protocolo HTTPS.

Observação: o login inicial é o nome de usuário 'admin' e a senha 'admin'. O sistema solicita uma alteração de senha após o primeiro login bem-sucedido.

Criar um Conector do Office 365

Etapa 1: Faça login no conector de atributos dinâmicos.

Etapa 2: Clique em 'Conectores'.

Etapa 3: Adicione um conector do Office 365: clique no ícone Adicionar (+) e depois em 'Office 365'.

Etapa 4: Configure o conector com Nome, URL da API Base, Nome da Instância e Habilitar ou Desabilitar IPs opcionais.

Considere o seguinte:

- O padrão do Intervalo de recebimento é de 30 segundos.

- A URL da API base é a URL para recuperar informações do Office 365. Consulte o endereço IP e o serviço Web de URL do Office 365 no guia de documentação da Microsoft.

Etapa 5: clique em 'Testar' e verifique se o teste é bem-sucedido antes de salvar a configuração do conector.

Etapa 6: salvar e verificar se o status é 'OK'.

Criar conector do vCenter

Etapa 1: faça login no conector de atributos dinâmicos.

Etapa 2: Clique em 'Adaptadores'.

Etapa 3: Adicione um novo adaptador: clique no ícone Adicionar (+) e, em seguida, em "Firewall Management Center local".

Etapa 4: Configure o adaptador com Nome, endereço IP, Porta e Usuário/Senha.

Aviso: crie um novo usuário FMC na interface do usuário dedicada à conexão do adaptador. O uso de um usuário existente pode criar logouts inesperados no CSDAC ou na interface do usuário do Centro de Gerenciamento de Firewall no Local.

Observação: a Configuração de Função de Usuário deve ter funções 'Administrador', 'Administrador de Acesso' ou 'Administrador de Rede'. Use o FQDN do Centro de Gerenciamento de Firewall Local no campo de endereço IP.

Etapa 5: Abrir a interface do usuário do Secure Management Center do firewall local.

Etapa 6: Faça download do certificado HTTPS PEM (cadeia) do navegador: clique no cadeado HTTPS mostrado no navegador, Conexão segura, Mais informações, Exibir certificado, PEM (cadeia).

Isso faz o download de um arquivo .pem com a cadeia de certificados.

Observação: as etapas para coletar o certificado HTTPS Local Secure Firewall Management Center pertencem ao navegador Firefox. Procure etapas semelhantes se outro navegador for usado.

Etapa 7: Abra o conector de atributos dinâmicos e clique em 'Obter certificado' e em 'Procurar do arquivo...'.

Etapa 8: carregue o certificado .pem e clique em 'TEST' para garantir o êxito do teste.

Aviso: verifique se os servidores DNS configurados no computador Ubuntu podem resolver o FQDN do Centro de Gerenciamento de Firewall Local; caso contrário, o Teste pode falhar.

Etapa 9: salvar e verificar se o status é 'OK'.

Observação: não é possível criar filtros de Atributos Dinâmicos para o Office 365.

Etapa 10: Comece a criar Regras de Política de Controle de Acesso com Atributos Dinâmicos do Office 365 na IU do Centro de Gerenciamento de Firewall no Local.

Verificar

Verifique o status do contêiner no Ubuntu para serviços centrais, conectores e adaptadores.

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

Verifique o status do conector na interface do usuário do CSDAC.

Verifique o status do adaptador na interface do usuário do CSDAC.

Verificar Atributos Dinâmicos do Office 365 no Centro de Gerenciamento de Firewall.

Crie ou edite uma Regra de política de controle de acesso, clique em 'Atributos dinâmicos', clique em 'Atributos disponíveis' e selecione 'Objetos dinâmicos'.

Observação: se os Objetos Dinâmicos do Office 365 não estiverem listados, algo pode estar errado com a integração. Verifique a seção de solução de problemas ou entre em contato com o TAC da Cisco.

Troubleshooting

Em caso de problemas de instalação do conector de atributos dinâmicos seguros com Ansible, colete 'csdac.log' localizado no diretório '~/.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

Os logs de falha da instalação são encontrados neste arquivo. Abra-o usando os comandos Linux 'cat' ou 'less', explore os registros de falhas ou entre em contato com o TAC da Cisco e forneça esse arquivo.

Às vezes, a instalação Ansible falha devido a 'permissões negadas'. Explore o arquivo csdac.log e procure logs de 'permissão negada'.

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."

Se registros semelhantes forem encontrados, considere o bug da Cisco ID CSCwh58312 ou entre em contato com o TAC da Cisco para obter assistência.

Se 'docker ps -a' indicar que os contêineres estão inativos ou para reiniciá-los em caso de problemas, os contêineres poderão ser reiniciados com o comando 'docker restart container-id'.

Exemplo: reiniciando o Office 365 com ID de contêiner '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

Verifique a conexão com o CSDAC e confirme se os objetos foram criados no 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":[]

}

Informações Relacionadas

Documentos adicionais relacionados ao Cisco Secure Dynamic Attributes (CSDAC) podem ser encontrados aqui:

Sobre o Conector de Atributos Dinâmicos Cisco

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

Instalar e atualizar o 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

Configurar o conector de atributos dinâmicos Cisco

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

Usar Objetos Dinâmicos em Políticas de Controle de Acesso

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

Solucionar Problemas do Conector de Atributos Dinâmicos

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

A instalação do CSDAC 2.2 falhou em "Permission denied with Docker daemon socket" no Ubuntu 20.04.

ID de bug Cisco CSCwh58312.