在本课中,你将学习如何使用FortiManager对企业网络中的所有FortiGate设备进行集中管理。
完成本课后,你应该能够达到这张幻灯片上所示的目标。
通过展示使用FortiManager的能力,你将能够集中管理企业网络中的所有FortiGate设备。
在本节中,你将回顾FortiManager的关键特性。
什么时候应该在网络中使用FortiManager?
在大型企业和受管理的安全服务提供商(MSSP)中,网络的规模带来了小网络不具备的挑战:大规模供应;调度配置更改的推出;以及维护、跟踪和审计许多更改。
通过FortiManager进行集中管理,可以更方便地管理多设备多部署类型,降低运营成本。
FortiManager可以做什么?
● 在你的网络上提供防火墙策略
● 作为配置、修订控制和安全审计的中央存储库
● 部署和管理复杂网络和星型的IPsec VPN
● 为你所管理的设备充当专用FortiGuard分发服务器(FDS)
● 通过JSON API脚本和自动化设备配置、策略更改等
FortiManager可以帮助你更好地组织和管理你的网络。FortiManager的主要特点包括:
● 集中管理:你可以使用FortiManager从一个控制台管理它们,而不是单独登录数百个FortiGate设备。
● 管理域(ADOM):FortiManager可以将设备分组为地理上的或功能上的ADOM,如果你有一个大型的网络安全管理员团队,这是非常理想的。
● 配置修订控制:你的FortiManager保存所有配置更改的历史记录。你可以安排FortiManager部署新配置或将托管设备还原为以前的配置。
● 本地FortiGuard服务供应:为了减少网络延迟和最小化Internet带宽使用,你所管理的设备可以将FortiManager用作私有FDN服务器。
● 固件管理:FortiManager可以为被管理的设备安排固件升级。
● 脚本:FortiManager支持基于CLI和TCL的配置部署脚本。
● 窗格管理(VPN、FortiAP、FortiSwitch和Fabric视图):FortiManager管理窗格简化了VPN、FortiAP、FortiSwitch和Fabric视图(安全结构)的部署和管理。
● 日志和报告:被管理的设备可以在FortiManager上存储日志。从这些日志数据中,你可以生成基于SQL的报告,因为FortiManager象FortiAnalyzer一样具有许多与之相同的日志和报告特性。
● FortiMeter:允许你根据需要打开和关闭FortiOS-VM和FortiWebOS-VM,仅为你使用的流量和消耗付费。这些虚拟机有时也称为现收现付虚拟机。你必须拥有FortiMeter许可证,并且必须使用FortiCare将FortiMeter许可证与FortiManager单元链接。
在本节中,你将研究FortiManager软件架构。
在FortiManager中,有一些在GUI上表示为窗格的管理层。例如,设备管理层由设备管理器窗格表示,该窗格执行修订历史记录和脚本。
现在,你将更详细地了解管理层。
为了组织和有效地管理一个大型网络,FortiManager拥有多个管理层。
全局ADOM层有两个关键部分:全局对象数据库和页眉和页脚策略包。页眉和页脚策略包包含每个ADOM的策略。在运营商环境中使用策略包的一个例子是,运营商允许客户流量通过其网络,但不允许客户访问运营商的网络基础设施。
ADOM层是在受管设备或设备组上创建、管理和安装策略包的地方。可以在这里创建多个策略包。ADOM层为每个ADOM包含一个公共对象数据库。公共对象数据库包含地址、服务和安全配置文件等信息。
设备管理器层主要记录FortiManager设备集中管理的设备的名称、设备类型、型号、IP地址、当前安装的固件、修订历史、实时状态等信息。
理解FortiManager管理模型的各个层次是很重要的。
在全局ADOM层中,创建页眉和页脚策略规则。这些策略规则可以分配给多个ADOM。如果多个ADOM策略包需要相同的策略和对象,可以在这个层中创建它们,这样就不必在每个ADOM中维护副本。
在ADOM层中,每个ADOM中的对象和策略包共享一个公共对象数据库。你可以在多个管理设备上同时创建、导入和安装策略包。
在设备管理器层,你可以为每个设备配置和安装设备设置。如果检测到配置更改(在本地或FortiManager上发生),FortiManager会将当前配置与更改的配置进行比较,并在FortiManager上创建新的配置修订。无论修改的配置是大是小,FortiManager都会记录并保存新的配置。这可以帮助管理员审计配置更改,并在需要时恢复到以前的版本。
什么是ADOM?
ADOM允许admin帐户创建设备分组,供管理员监控和管理。例如,管理员可以管理特定于其地理位置或业务部门的设备。ADOM默认情况下是不启用的,必须由管理员启用。
ADOM的目的是通过基于管理标准对设备进行分组来划分设备的管理,并控制(限制)管理访问。根据允许访问设备上的一个或多个ADOM的管理员配置文件分配管理访问权限。如果使用虚拟域(VDOM), ADOM可以进一步限制仅从特定设备的VDOM访问数据。可用ADOM的数量因型号而异。
设备管理器窗格提供设备和安装向导,以帮助你执行各种管理和维护任务。使用这些向导可以减少完成许多常见任务所需的时间。在设备管理器窗格中有四个主要向导:
● 添加设备 用于将设备添加到集中管理中,并导入设备的配置。
● 安装向导 用于将设备管理器窗格或策略&对象窗格中的配置更改安装到被管理设备。它允许你预览更改,如果管理员不同意更改,可以取消并修改更改。
● 导入策略 将被管理设备的接口映射、策略数据库、对象导入到策略&对象区域框下的策略包中。它通过添加设备向导运行。默认情况下,可以在任何时候从被管理设备列表中运行。
● 重新安装策略 用于执行策略包的快速安装。它提供了预览将安装在被管理设备上的更改的功能。
通过在设备管理器中右键单击被管理设备,可以打开导入策略并重新安装策略向导。
在本节中,你将了解如何使用FortiManager VPN管理器配置IPsec VPN。
在VPN管理界面,你可以配置IPsec VPN设置,可以安装在多台设备上。设置作为对象存储在对象数据库中。通过安装策略包,将IPsec VPN设置推送到一个或多个设备。按照以下步骤使用VPN管理器配置VPN:
1. 创建VPN社区。
2. 向社区添加网关(成员)。
3. 安装VPN团体和网关配置
4. 添加防火墙策略。
5. 安装防火墙策略
根据你正在安装的VPN拓扑,有三种类型的社区:
● 全网格
● 星型
● 拨号
VPN社区包含IPsec阶段1和阶段2的设置,这些设置对所有网关都是通用的。
下一步是向社区添加网关。网关有两种类型:
● 管理网关
● 外部网关
被管理的网关由当前ADOM中的FortiManager管理。位于不同ADOM或其他供应商的设备可以被视为外部网关。VPN配置必须由该ADOM中的管理员手动处理。
在VPN网关中,根据选择的VPN拓扑,配置节点类型(hub、spoke等)。例如,hub和spoke选项仅在星形和拨号拓扑中可用。
对于每个网关,你还可以配置受保护的子网、接口和一些高级设置。
在本节中,你将了解FortiManager上可用的脚本选项。
脚本可以对管理设备进行许多更改,对于跨多个管理设备的批量配置更改和一致性非常有用。FortiManager支持两种类型的脚本:CLI脚本和TCL脚本。
CLI脚本只包含FortiOS CLI命令,因为它们是在FortiGate设备的命令行提示符中输入的。TCL是一种动态脚本语言,它扩展了CLI脚本的功能。在FortiManager TCL脚本中,脚本的第一行是#!。这是TCL脚本的标准。不要包含通常会结束TCL脚本的exit命令,因为它会阻止脚本运行。你需要熟悉TCL语言和正则表达式。更多关于TCL脚本的信息,请参考TCL官方网站:http://www.tcl.tk。
默认开启CLI脚本。
CLI脚本可以以三种不同的方式运行:
● 设备数据库:缺省情况下,在设备数据库上运行脚本。建议你在设备数据库(默认设置)上运行更改,因为这允许你检查将发送给被管理设备的配置更改。在设备数据库上运行脚本后,可以使用安装向导将这些更改安装到托管设备。
● 策略包,ADOM数据库:如果一个脚本包含与ADOM级别的对象和策略相关的更改,你可以更改默认选择运行在策略包,ADOM数据库上,然后使用安装向导安装它。
● 直接远程FortiGate(通过CLI):可以直接在设备上运行脚本,而不需要使用安装向导安装这些更改。因为更改是直接安装在被管理设备上的,所以在执行配置更改之前,没有提供通过FortiManager验证和检查配置更改的选项。
对于TCL脚本,需要在FortiManager命令行界面上启用TCL脚本的show命令。
注意,TCL脚本不像CLI脚本那样通过FGFM隧道运行。TCL脚本使用SSH通过FGFM建立隧道,并且需要SSH身份验证来实现这一点。如果FortiManager没有在设备管理器中使用正确的管理凭据,TCL脚本将失败。命令行脚本使用FGFM隧道,FGFM隧道使用FortiManager和FortiGate序列号进行认证。
TCL脚本只能在远程FortiGate上直接运行(通过CLI)。
这张幻灯片上的例子展示了如何从TCL脚本运行CLI命令。任何TCL脚本都必须以#!开头。
下一行,exec TCL,运行CLI命令get system status。
只有TCL解释器在10秒内从FortiGate命令提示符获得#时,CLI命令才会运行。如果不是这种情况,则不运行CLI命令,脚本将生成错误。
CLI命令的输出将使用TCL命令puts保存到FortiManager脚本历史日志中。
这张幻灯片展示了一个使用TCL变量的例子。
TCL set命令创建了一个新变量(newhostname),并将其值设置为NGFW。
然后使用变量的值(在$符号之前)来配置FortiGate主机名。
如果你在一个脚本中多次运行一个命令或一组命令,你可以将这些命令添加到TCL过程中以简化操作。你可以向TCL过程传递一个或多个参数。
在这张幻灯片上显示的例子中,我们正在创建一个名为do_cmd的TCL进程。这个进程指示如果在10秒内收到#,解释器运行一个CLI命令(通过参数cmd接收)。
之后,脚本调用该过程五次(每次传递一个不同的参数),以在port1上配置IP地址。
这张幻灯片包含了一个更复杂的TCL示例,展示了TCL脚本的强大功能。假设你的网络中有150台主机,你需要创建150个不同的防火墙地址:每个主机一个。这个TCL脚本使用一个循环来完成这个任务。
该脚本使用两个变量。变量numhosts包含要创建的地址数量。变量i从值1开始,每次循环后递增。循环的运行次数等于变量numhosts。
在每个循环中,变量i用于设置防火墙地址及其IP地址的名称。实际上在FortiGate上运行的是150个防火墙地址。
在创建CLI脚本时,请遵循以下最佳实践:
● 使用完整FortiOS CLI命令。可以使用部分语法;但是,它可能会导致脚本失败。
● 以数字符号(#)开头的注释行将不会运行。
● 在FortiGate命令行中,确保控制台输出设置为标准。否则,脚本和其他长于屏幕长度的输出将不能正常运行或显示。
这张幻灯片展示了你在这节课中所学到的目标。