页面替换
页面替换
功能介绍
FortiOS可以自定义部分用户页面样式,以满足用户的个性化需求。可以修改内容的内容包括HTML、文本信息和图片Logo。
可替换资源的页面如下:

修改替换信息
重要
“替换消息”页面有两个视图。简单查看视图(默认)显示最常用的替换消息。扩展查看视图显示所有替换消息类别。
在GUI修改
进入“系统管理→替换信息”页面, 编辑某个替换信息。
重要
如果没有找到要编辑的替换消息条目,请单击右上角的扩展查看视图。

在右侧修改HTML内容,左侧可以实时预览修改结果。

需要将变量添加到代码时,右键单击并选择插入标记,或键入%%查看可用变量列表,也可以键入变量名称然后按Enter或Tab键自动完成变量名称,修改完成后,点击“备份配置”按钮下发配置。
重要
点击“恢复默认”按钮可以将HTML恢复为出厂状态。

CLI替换
例如想要修改“流量限制超限页面”(限速超速)的HTML内容,使用如下命令:
config system replacemsg traffic-quota "per-ip-shaper-block"
set buffer "<html>
<head>
<title>
Traffic Quota Control
</title>
</head>
<body>
<font size=2>
<table width=\"100%\">
<tr>
<td bgcolor=#3300cc align=\"center\" colspan=2>
<font color=#ffffff>
<b>
Traffic blocked because exceeded session quota
</b>
</font>
</td>
</tr>
</table>
<br>
<br>
Traffic blocked because it exceeded the per IP shaper session quota. Please contact the system administrator.
<br>
%%QUOTA_INFO%%
<br>
<br>
<hr>
</font>
</body>
</html>"
set header http
set format html
end修改替换图片
可以替换以下位置的图片:
- 免责声明页面(Disclaimer page)
- 拒绝免责声明页面(Declined disclaimer page)
- 登录页面(Login page)
- 登录失败页面(Login failed page)
- 登录要求页面(Login Challenge Page)
- 保持存活页面(Keepalive page)
GUI替换
进入“系统管理→替换信息”页面,点击“管理图像”按钮。

在弹出的图片管理中,点击新建按钮。

配置图片名称,并上传图片。
重要
支持的图像格式为GIF、JPEG、TIFF和PNG,支持的最大文件大小为24 KB。


进入“系统管理→替换信息”页面,编辑要替换图片的替换信息,右键单击要添加图像的消息代码,然后选择“插入图像”,选择上步上传的图片,并双击选择,左侧的预览可以看到替换的Logo。

CLI替换
使用图片的Base64编码通过CLI替换图片,图片的Base64信息可以通过在线转换方式获取(如https://tool.chinaz.com/tools/imgtobase )。
config system replacemsg-image
edit <image_name>
set image-type {gif | jpg | tiff | png}
set image-base64 <string>
next
end替换信息组
使用上述替换信息可以对所有的相关页面资源进行内容替换,但无法基于每个认证策略、UTM profile、自动化邮件等配置进行个性化定制,而替换信息组可以实现此需求。当认证策略、UTM profile等配置引用策略信息组时,“替换信息组”中的替换内容优先于“替换信息”功能中配置的替换内容。
| 替换信息组类型 | 用途 | 替换资源 |
|---|---|---|
| 安全(utm) | 在防火墙策略中引用的UTM配置文件、SSL VPN等页面 | admin alertmail custom-message fortiguard-wf ftp http icap nac-quar spam sslvpn traffic-quota utm webproxy |
| 认证(auth) | 防火墙策略中开启的认证页面 | auth webproxy |
配置举例
在GUI界面开启“替换信息组”功能的显示。
config system settings set gui-replacement-message-groups enable end进入FortiGate的“系统管理→替换信息组”页面,点击“新建”按钮。

配置替换信息组名称,“组类型”选择“安全”,点击“确认”按钮下发配置。

右键点击新建的替换信息组,点击“编辑”按钮(或双击编辑)。

搜索关键字“自动邮件”,找到“自动邮件告警”条目,右键或双击编辑该条目。
重要
替换信息组中也包含其他功能模块页面的替换信息,当用户需要替换多个功能模块的页面信息时,可以使用此功能。

在HTML编辑页面,将想要添加的告警图片URL添加到
message-container部分,如下图所示(<img src="https://www.fortinet.com/content/dam/fortinet/images/icons/benefits/icon-wireless-fortinet-ips.svg" alt="Fortinet Logo"/>),左侧的预览可以正常显示该图片,点击“备份配置”按钮保存配置。
config system replacemsg-group edit "Replace_Group" set comment '' set group-type utm config automation edit "automation-email" set buffer "<!DOCTYPE html> <html lang=\"en\"> <head> <meta charset=\"UTF-8\"> <meta http-equiv=\"X-UA-Compatible\" content=\"IE=8; IE=EDGE\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> <link href=\"https://fonts.googleapis.com/css?family=Roboto&display=swap\" rel=\"stylesheet\"> <style> body { height: 100%; font-family: Roboto, Helvetica, Arial, sans-serif; margin: 0; display: flex; align-items: center; justify-content: center; } .message-container{ margin: 0 auto; max-width: 580px; } .email-body { line-height: 1.5em; } </style> </head> <body> <div class=\"message-container\"> <img src=\"https://www.fortinet.com/content/dam/fortinet/images/icons/benefits/icon-wireless-fortinet-ips.svg\" alt=\"Fortinet Logo\"/> <h1> Security Fabric Automation </h1> <h3> %%AUTOMATION_FGT_SERIAL%%: %%AUTOMATION_STITCH_NAME%% </h3> <div class=\"email-body\"> %%AUTOMATION_EMAIL_BODY%% </div> </div> </body> </html> " set header http set format html next end next end进入FortiGate的“Security Fabric→自动化→操作”页面,编辑自动邮件动作。开启“更换信息”选项,然后开启“自定义消息”选项,并选择上步创建的替换信息组。注意由于调用了替换信息组(HTML格式),所以需要在“Body”中每行加入HTML换行符
<br>。点击“确认”按钮下发配置。
config system automation-action edit "Login_and_Logout" set action-type email set email-to "bbai@fortinet.com" set email-subject "管理员登录/登出通知" set message "登录/登出源IP:%%log.srcip%%<br> 登录/登出目的IP:%%log.dstip%%<br> 登录/登出信息:%%log.msg%%\"" set replacement-message enable set replacemsg-group "Replace_Group" next end
其他功能引用
在WebFilter配置文件中引用,所有被此WebFilter阻断返回的页面会被替换为替换信息组newutm中配置的内容。
config webfilter profile edit "default" set replacemsg-group "newutm" next end在防火墙策略中引用,所有匹配该策略的认证用户的页面会被替换为替换信息组newauth中配置的内容。
config firewall policy edit 1 ... set replacemsg-override-group "newauth" ... next end