<h2>摘要</h2><p>FortiOS 8.0首次将<strong>FortiAI-Assist</strong>智能助手深度嵌入FortiGate操作系统,为网络安全管理员提供生成式AI驱动的运维辅助能力。本文基于FortiOS 8.0官方文档,对FortiAI的技术架构、部署方式、业务流程、授权模式进行系统性深度分析,帮助技术团队全面理解这一新功能。</p><p><strong>核心发现</strong>:FortiOS 8.0的FortiAI并非一个独立的Web应用交互助手,而是与FortiGate深度集成的<strong>RAG(检索增强生成)系统</strong>,支持文档问答、故障诊断和CLI命令生成与执行。系统同时支持FortiAI和OpenAI两种AI提供商,并采用基于订阅的Token计费模式。</p><h2>一、产品定位与功能概述</h2><h3>1.1 FortiAI-Assist在FortiOS 8.0中的定位</h3><p>根据FortiOS 8.0官方文档:</p><blockquote><p>FortiAI-Assist is now embedded in FortiOS, and FortiOS includes the FortiAI assistant and CLI Code Lab tool to provide RAG-enhanced documentation support, automated diagnostic analysis, and CLI script execution.</p></blockquote><p>FortiAI-Assist是Fortinet在FortiOS 8.0中推出的AI辅助工具,其核心定位包括三个方面:</p><figure class="table">
| 功能维度 | 具体描述 |
|---|---|
| RAG增强文档支持 | 基于FortiOS技术文档的检索增强生成,回答管理员的产品操作问题 |
| 自动化诊断分析 | 直接读取FortiGate日志或分析管理员提供的debug输出进行故障排查 |
| CLI脚本执行 | 通过自然语言生成FortiGate CLI命令,并在CLI Code Lab中编辑和执行 |
| 产品 | FortiAI形态 | 主要功能 |
|---|---|---|
| FortiOS 8.0 | 内嵌AI助手 + CLI Code Lab | 文档问答、故障诊断、CLI生成执行 |
| FortiWeb | 独立AI助手面板 | 日志分析、配置指导、IP信誉查询 |
| FortiADC | 独立AI助手面板 | 配置指导、日志分析、Text-to-Script |
| FortiManager | 独立AI助手面板 | 配置辅助、VPN脚本生成、IoT设备管理 |
| FortiGate类型 | 内存要求 | 订阅要求 |
|---|---|---|
| FortiGate硬件设备 | 超过2GB RAM | FortiCare Premium支持 |
| FortiGate-VM S-series | 超过2GB RAM | FortiCare Premium 或 Enterprise/UTP/ATP Bundle任一 |
diagnose sys license list</p><h4>步骤2:选择AI提供商并启用</h4><p>FortiOS 8.0支持两种AI提供商,管理员可根据需求选择:</p><p><strong>方式A:使用FortiAI(Fortinet原生AI)</strong></p><ol><li>在FortiOS GUI顶部横幅,点击 <strong>FortiAI</strong> 图标</li><li>在弹出的 <strong>AI Model Selection</strong> 对话框中,选择 <strong>FortiAI</strong></li><li>点击 <strong>OK</strong> 确认</li></ol><p>FortiAI提供商包含以下特性:</p><ul><li>每月每设备提供 <strong>2,000,000个起始Token</strong></li><li>额外Token可按需购买</li><li>购买的Token在同FortiCare账户下所有设备间<strong>共享</strong></li></ul><p><strong>方式B:使用OpenAI(第三方AI)</strong></p><ol><li>在GUI中点击 <strong>FortiAI</strong> 图标</li><li>选择 <strong>OpenAI</strong> 并填写配置信息:API Key、模型名称(如 gpt-5.2)、Project ID、Organization ID</li></ol><p>或者通过CLI配置:</p><p>config system admin
edit "admin"
set vdom "root"
set accprofile "super_admin"
set gui-llm-provider openai
set openai-api-key <your-api-key>
set openai-api-key-part2 <key-part2>
set openai-model "gpt-5.2"
set openai-project-id "<project-ID>"
set openai-org-id "<organization-ID>"
next
end</p><p><strong>注意</strong>:使用OpenAI时,Token直接从OpenAI账户扣费,FortiOS不提供用量追踪。</p><h4>步骤3:配置管理员访问权限</h4><p>FortiAI-Assist的访问权限通过<strong>管理员配置文件(Admin Profiles)</strong>控制:</p><p><strong>GUI配置方式</strong>:</p><ol><li>进入 <strong>System > Admin Profiles</strong></li><li>双击要编辑的管理员配置文件(如 prof_admin)</li><li>启用/禁用 <strong>Allow using AI Assistant</strong></li><li>点击 <strong>OK</strong> 保存</li></ol><p><strong>CLI配置方式</strong>:</p><p>config system accprofile
edit "admin-withAI"
set comments "Admin with AI Assistant access"
set secfabgrp read-write
# ... 其他权限设置 ...
set gui-ai-assistant enable
next
end</p><p><strong>权限说明</strong>:</p><ul><li>即使管理员配置文件禁用了AI Assistant,FortiAI图标在GUI横幅中<strong>仍然可见</strong>,但管理员无法提交查询或接收回答</li><li>
super_admin配置文件<strong>无法编辑</strong>此设置(始终允许)</li><li>FortiAI调用FortiOS REST API时使用<strong>登录管理员的相同权限</strong></li></ul><h4>步骤4:(可选)启用数据掩码</h4><p>敏感数据掩码是保护隐私的重要功能:</p><ol><li>在FortiAI聊天窗口中,点击数据掩码图标</li><li>启用后,以下敏感信息将在发送至AI提供商前被替换为占位符:IP地址、MAC地址、邮箱地址、电话号码、URL</li></ol><p>启用状态:聊天窗口显示<strong>✓</strong>图标;禁用状态:显示<strong>×</strong>图标</p><h4>步骤5:访问CLI Code Lab</h4><p>CLI Code Lab是FortiAI的配套工具,用于生成、编辑和执行CLI命令:</p><p><strong>访问方式</strong>:</p><ul><li>方式一:从GUI横幅访问 - 点击 CLI Console > CLI Code Lab</li><li>方式二:从FortiAI返回的命令访问 - 当FortiAI返回CLI命令时,点击 Edit 按钮打开CLI Code Lab</li></ul><p>CLI Code Lab界面包含:<strong>左侧窗格</strong>(可编辑的CLI命令输入区)、<strong>右侧窗格</strong>(命令执行输出区)、<strong>Execute按钮</strong>(执行命令,需二次确认)、<strong>Commit changes按钮</strong>(保存配置更改)</p><h2>三、业务流程深度解析</h2><h3>3.1 用户交互流程</h3><p>FortiAI-Assist的用户交互遵循<strong>问答→分析→执行</strong>的三阶段模式:</p><ul><li><strong>阶段一 - 问答交互</strong>:用户输入自然语言查询或指令</li><li><strong>阶段二 - 系统分析</strong>:LLM+RAG处理,本地数据分析</li><li><strong>阶段三 - 配置/诊断执行</strong>:CLI Code Lab执行命令</li></ul><h3>3.2 系统处理流程</h3><h4>3.2.1 文档问答流程(Documentation-Based Q&A)</h4><p>当用户提出产品操作类问题时,系统采用<strong>RAG架构</strong>:</p><ol><li>用户查询</li><li>查询向量化(embedding模型处理)</li><li>文档检索(匹配相关文档片段)</li><li>上下文组装</li><li>LLM生成回答</li><li>返回带来源的回答</li></ol><p>根据官方文档:"When FortiAI uses FortiAI as the AI provider, the following FortiOS documents are used to provide answers: <strong>FortiOS Administration Guide</strong>, <strong>FortiOS CLI Reference</strong>. FortiAI also checks its answers against the FortiGate to ensure the results are suitable for the specific model."</p><p><strong>RAG知识库</strong>包括:FortiOS Administration Guide(管理指南)、FortiOS CLI Reference(CLI参考)</p><p><strong>模型验证机制</strong>:生成的回答会与目标FortiGate设备进行交叉验证,确保生成的配置命令适用于该特定型号。</p><h4>3.2.2 故障诊断流程(Diagnostic Analysis)</h4><p>对于故障排查场景,系统支持<strong>混合分析模式</strong>:</p><ul><li>用户描述问题 → FortiAI返回诊断CLI命令</li><li>用户粘贴debug输出/log日志 → FortiAI分析并定位根因</li></ul><p><strong>典型故障诊断示例</strong>:</p><p>用户输入:"troubleshoot issue ipsec vpn tunnel to-headoffice is down"</p><p>系统返回:</p><p>Your debug is definitive: IKEv2 AUTH fails
- authentication failed
- PSK auth failed: probable pre-shared key mismatch
- initiator receives AUTHENTICATION_FAILED</p><h4>3.2.3 CLI命令生成与执行流程</h4><ol><li>用户输入自然语言需求,例: "configure this fgt to block social media"</li><li>LLM生成CLI命令</li><li>用户补充环境信息,例: "lan interface port2, update existing policy 1"</li><li>LLM根据上下文调整命令</li><li>用户点击 Edit 打开 CLI Code Lab</li><li>在CLI Code Lab中编辑并点击 Execute</li><li>系统二次确认后执行命令</li><li>执行结果在右侧窗格显示</li><li>用户点击 Commit changes 保存配置</li></ol><h3>3.3 会话管理机制</h3><h4>Token消耗与上下文</h4><p>根据官方文档:"Because the FortiAI assistant uses session history to inform its responses, queries that are a part of a long session will use more tokens than new conversations."</p><p><strong>上下文管理规则</strong>:</p><ul><li>同一会话中的历史消息会作为上下文发送给LLM</li><li>消息历史达到限制后会被<strong>压缩</strong>(可能丢失部分信息)</li><li>压缩后的历史会降低回答准确性</li><li>不同会话之间LLM<strong>不会记忆</strong>之前的内容</li></ul><p><strong>建议</strong>:在处理不相关任务时,<strong>新建会话</strong>以获得更准确的回答。</p><h4>聊天历史管理</h4><figure class="table">
</figure><h2>四、大模型架构深度分析</h2><h3>4.1 双AI提供商架构</h3><p>FortiOS 8.0的FortiAI采用<strong>双提供商架构</strong>,为管理员提供灵活性选择:</p><h4>4.1.1 FortiAI提供商(Fortinet原生)</h4><figure class="table">功能 说明 Chat History 查看历史会话列表,点击可恢复查看 Export Chat 导出当前对话为JSON Export Thread 导出完整线程(含时间戳、消息ID等)
</figure><h4>4.1.2 OpenAI提供商(第三方)</h4><figure class="table">特性 说明 Token来源 Fortinet云端服务 起始配额 每设备每月2,000,000 Token 额外购买 可购买,跨账户设备共享 RAG知识库 内置FortiOS文档 模型验证 与目标设备交叉验证
</figure><p><strong>CLI配置选项</strong>:</p><p>config system admin特性 说明 API配置 需自行配置API Key 模型选择 可选GPT-5.2等模型 计费方式 直接由OpenAI账户扣费 费用控制 无FortiOS内用量追踪
edit <admin-name>
set gui-llm-provider {fortiai | openai}
set openai-api-key <password>
set openai-api-key-part2 <password>
set openai-model <string>
set openai-project-id <string>
set openai-org-id <string>
next
end</p><h3>4.2 RAG架构解析</h3><h4>4.2.1 RAG组件构成</h4><p>FortiAI-Assist的RAG系统包含以下核心组件:</p><figure class="table">
| 组件 | 功能描述 |
|---|---|
| 文档库 | FortiOS Administration Guide + CLI Reference |
| 向量数据库 | 存储文档片段的向量嵌入 |
| 检索器 | 根据用户查询匹配相关文档片段 |
| 生成器(LLM) | 基于检索结果生成回答 |
| 验证层 | 与目标设备交叉验证命令适用性 |
| 分析类型 | 输入来源 | 处理方式 |
|---|---|---|
| 日志分析 | FortiGate本地日志 | 直接读取并分析 |
| Debug输出 | 管理员粘贴 | 解析并定位根因 |
| 配置验证 | 目标设备状态 | 交叉验证命令适用性 |
| 要求项 | 规格 |
|---|---|
| 内存要求 | 超过2GB RAM |
| 订阅要求 | FortiCare Premium支持 |
| 起始Token | 每设备每月2,000,000个 |
| 额外Token | 可购买,账户内设备共享 |
| 要求项 | 规格 |
|---|---|
| 内存要求 | 超过2GB RAM |
| 订阅要求 | FortiCare Premium 或 Enterprise Bundle 或 UTP Bundle 或 ATP Protection Bundle |
| 类型 | 说明 |
|---|---|
| FortiGate型号(≤2GB RAM) | 不支持FortiAI功能 |
| 无订阅设备 | 无法使用FortiAI |
| 试用License | 可能无法使用(取决于具体条款) |
| 消耗来源 | 说明 |
|---|---|
| 用户输入(Prompt) | 按字符数/词数计 |
| LLM输出(Response) | 按生成的文本量计 |
| 会话历史 | 上下文越长消耗越多 |
| 策略 | 说明 | 示例 |
|---|---|---|
| 简洁具体 | 避免冗长描述 | ❌ "Can you please help me create a firewall address for 10.0.0.1..." ✅ "Create firewall addresses for 10.0.0.1 and awesome-domain.com" |
| 使用筛选条件 | 缩小查询范围 | 指定具体接口名称、时间范围 |
| 使用FortiOS术语 | 精准匹配功能 | 使用"quarantine device"而非"block this device" |
| 复用会话上下文 | 减少重复说明 | 在同一线程中追问,而非开新会话 |
| 计费维度 | FortiAI(Fortinet) | OpenAI |
|---|---|---|
| 起始配额 | 2,000,000 Token/月/设备 | 无(按量付费) |
| 额外购买 | 支持,跨设备共享 | 自购API Key |
| 用量追踪 | FortiOS内可见 | 需在OpenAI平台查看 |
| 溢出处理 | 暂停访问 | 继续计费/拒绝请求 |
| 数据类型 | 掩码示例 |
|---|---|
| IP地址 | 192.168.1.100 → [IP_1] |
| MAC地址 | AA:BB:CC:DD:EE:FF → [MAC_1] |
| 邮箱地址 | user@example.com → [EMAIL_1] |
| 电话号码 | 123-456-7890 → [PHONE_1] |
| URL | https://example.com → [URL_1] |
| 配置项 | 默认值 | 说明 |
|---|---|---|
gui-ai-assistant | disable | AI助手使用权限 |
| super_admin | 始终允许 | 无法修改此配置文件 |
| 参数 | 规格 |
|---|---|
| FortiOS版本 | 8.0.0 及以上 |
| 硬件要求 | 超过2GB RAM的FortiGate型号 |
| 网络要求 | 互联网访问 |
| 授权要求 | FortiCare Premium(或等效Bundle) |
edit <profile-name>
set gui-ai-assistant {enable | disable}
next
end</p><h4>配置OpenAI提供商</h4><p>config system admin
edit <admin-name>
set gui-llm-provider {fortiai | openai}
set openai-api-key <password>
set openai-api-key-part2 <password>
set openai-model <string>
set openai-project-id <string>
set openai-org-id <string>
next
end</p><h3>8.3 Token配额(FortiAI提供商)</h3><figure class="table">
| FortiGate类型 | 起始Token/月 | 可扩展性 |
|---|---|---|
| 硬件设备 | 2,000,000 | 可购买,跨设备共享 |
| VM S-series | 同上 | 同上 |
| 价值维度 | 具体体现 |
|---|---|
| 降本增效 | 自然语言交互降低CLI学习门槛 |
| 快速诊断 | 自动分析debug输出,加速故障定位 |
| 配置自动化 | CLI Code Lab实现命令生成-编辑-执行一体化 |
| 安全可控 | 权限隔离+数据掩码保障操作安全 |
| 场景 | 推荐AI提供商 | 理由 |
|---|---|---|
| 需要RAG文档支持 | FortiAI | 内置FortiOS知识库 |
| 高频使用,熟悉FortiOS | FortiAI | Token共享节省成本 |
| 已有OpenAI账户 | OpenAI | 复用现有资源 |
| 需要GPT高级模型 | OpenAI | 可选GPT-5.2等模型 |
战略重要性
FortiOS 8.0的FortiAI代表了网络安全运维领域的重要创新,将生成式AI能力深度集成到防火墙操作系统中,大幅降低了网络管理员的技术门槛,提升了运维效率。
决策选择
对于使用FortiGate的企业,建议评估FortiAI-Assist的实际应用场景,优先在故障排查和配置自动化领域试点,根据使用效果决定是否扩大部署范围。
预测验证
未来FortiAI可能会进一步增强与FortiAnalyzer、FortiSIEM的联动能力,实现从智能运维到智能安全运营中心的演进,同时可能引入更多AI模型选择和本地化部署选项。
觉得这篇分析有用?
每周收到3-5条AI基础设施关键信号 →
💬 评论 (0)