此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何为本地FMC上的动态Microsoft 365对象部署和集成CSDAC与Ubuntu 20.04上的Ansible。
思科建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
思科安全动态属性(CSDAC)允许从云提供商收集网络和IP地址等数据,并将其发送到思科安全防火墙管理中心,以便在访问控制策略规则中使用。
Cisco Secure Dynamic Attributes Connector允许使用来自各种云服务平台(例如AWS、Github、Google Cloud、Azure、Azure Service Tags、Microsoft Office 365和vCenter)的服务标签和类别。
由于工作负载的动态性质和IP地址重叠的必然性,网络结构(例如IP地址)在虚拟、云和容器环境中不可靠。有时,必须在非网络结构(如虚拟机(VM)名称或安全组)上定义策略规则。因此,即使在IP地址或VLAN发生更改时,防火墙策略也具有持久性。可以使用在Ubuntu、CentOs或Red Hat Enterprise Linux虚拟机上运行的动态属性连接器Docker容器收集这些标签和属性。如果您希望在CentOS或Red Hat上安装CSDAC,请参阅正式文档指南。
Ubuntu主机上的动态属性连接器是使用Ansible Collection安装的。Cisco Secure Dynamic Attributes支持2种类型的适配器。
本文重点介绍如何通过内部安全防火墙管理中心在Microsoft Office 365云服务的Ubuntu主机上部署思科安全动态属性连接。
本部分分为以下部分:
本节介绍如何在Ubuntu上安装必备软件。
第1步:验证Docker未安装。
root@tac:/home/tac# docker --version
Command 'docker' not found.
警告:如果安装了Docker,请参阅Docker文档将其卸载。
第2步:更新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
....
第3步:确认Python版本。
root@tac:/home/tac# /usr/bin/python3 --version
Python 3.8.10
警告:如果Python版本早于3.6,则必须安装版本3.6或更高版本。
第4步:安装公用库。
root@tac:/home/tac# sudo apt -y install software-properties-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
第5步:安装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
...
第6步:验证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
注意:Ansible参考Python 2.x是正常的。连接器仍使用Python 3.6。
第7步:使用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
第8步:转到csdac目录。
root@tac:/home/tac# cd ~/.ansible/collections/ansible_collections/cisco/csdac/
第9步:安装集群服务。
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
警告:如果由于“使用Docker守护程序套接字拒绝权限”而导致安装失败,请考虑思科漏洞ID CSCwh58312或联系思科TAC。
第10步:使用HTTPS协议使用CSDAC IP地址登录到连接器。
注意:初始登录名是用户名“admin”,密码“admin”。首次成功登录后,系统将要求更改密码。
第1步:登录动态属性连接器。
第2步:点击“连接器”(Connectors)。
第3步:添加Office 365连接器:点击添加图标(+),然后点击“Office 365”。
第4步:为连接器配置名称、基本API URL、实例名称,以及启用或禁用可选IP。
考虑以下问题:
第5步:点击“测试”(Test)并确保测试成功,然后保存连接器配置。
第6步:保存并确保状态为“OK”。
第1步:登录动态属性连接器。
第2步:点击“适配器”。
第3步:添加新适配器:点击添加图标(+),然后点击“内部防火墙管理中心”(on-prem Firewall Management Center)。
第4步:使用名称、IP地址、端口和用户/密码配置适配器。
警告:在专用于适配器连接的UI上创建新的FMC用户。使用现有用户可能会在CSDAC或内部防火墙管理中心UI上创建意外注销。
注意:用户角色配置必须具有“管理员”(Administrator)、“访问管理员”(Access Admin)或“网络管理员”(Network Admin)角色。在IP地址字段上使用内部防火墙管理中心FQDN。
第5步:打开内部防火墙安全管理中心UI。
第6步:从浏览器下载HTTPS PEM(链)证书:点击浏览器上显示的HTTPS挂锁、安全连接、更多信息、查看证书、PEM(链)。
这会下载具有证书链的.pem文件。
注意:收集HTTPS内部安全防火墙管理中心证书的步骤属于Firefox浏览器。如果使用其他浏览器,请查找类似的步骤。
第7步:打开动态属性连接器,然后点击“获取证书”(Get certificate)和“从文件浏览”(Browse from file...)。
第8步:上传.pem证书并点击“测试”以确保测试成功。
警告:确保Ubuntu计算机上配置的DNS服务器可以解析内部防火墙管理中心FQDN,否则,测试可能失败。
第9步:保存并确保状态为“OK”。
注意:无法为Office 365创建动态属性过滤器。
第10步:开始在内部防火墙管理中心UI上使用动态Office 365属性创建访问控制策略规则。
验证Ubuntu上核心服务、连接器和适配器的容器状态。
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
从CSDAC UI验证连接器状态。
从CSDAC UI验证适配器状态。
在防火墙管理中心上验证Office 365动态属性。
创建或编辑访问控制策略规则,点击“动态属性”(Dynamic Attributes),点击“可用属性”(Available Attributes),然后选择“动态对象”(Dynamic Objects)。
注意:如果未列出Office 365动态对象,则集成可能有问题。检查故障排除部分或联系思科TAC。
如果Ansible存在Secure Dynamic Attributes Connector安装问题,请收集“~/.ansible/collections/ansible_collection/cisco/csdac/logs/”目录中的“csdac.log”。
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
在此文件中找到安装失败日志。使用“cat”或“less”Linux命令打开它,浏览故障日志,或者联系思科TAC并提供此文件。
有时,Ansible安装会因“权限被拒绝”而失败。浏览csdac.log文件并查找“permission denied”日志。
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."
如果发现类似的日志,请考虑思科漏洞ID CSCwh58312,或联系思科TAC以获得帮助。
如果“docker ps -a”指示容器关闭或在出现问题时重新启动容器,则可以使用“docker restart container-id”命令重新启动容器。
示例:使用容器ID '88826cf0742f'重新启动Office 365。
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
验证与CSDAC的连接,并验证是否在安全防火墙管理中心创建对象。
> 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":[]
}
有关思科安全动态属性(CSDAC)的其他文档,请访问此处:
关于Cisco动态属性连接器
安装和升级Cisco安全动态属性连接器
配置Cisco动态属性连接器
在访问控制策略中使用动态对象
动态属性连接器故障排除
CSDAC 2.2安装在Ubuntu 20.04中失败“Permission denied with Docker daemon socket”。
思科漏洞ID CSCwh58312。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
04-Oct-2023 |
初始版本 |