fortinet.fortimanager.fmgr_webfilter_profile module – Configure Web filter profiles.
Note
This module is part of the fortinet.fortimanager collection (version 2.1.5).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install fortinet.fortimanager
.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_webfilter_profile
.
New in version 2.10: of fortinet.fortimanager
Synopsis
This module is able to configure a FortiManager device.
Examples include all parameters and values which need to be adjusted to data sources before usage.
Parameters
Parameter |
Comments |
---|---|
the parameter (adom) in requested url |
|
only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters Choices:
|
|
Enable/Disable logging for task Choices:
|
|
The overridden method for the underlying Json RPC request Choices:
|
|
the rc codes list with which the conditions to fail will be overriden |
|
the rc codes list with which the conditions to succeed will be overriden |
|
the directive to create, update or delete an object Choices:
|
|
the top level parameters set |
|
no description |
|
Authentication methods. Choices:
|
|
Enable/disable checking of HTTP Basic Auth field for known credentials. Choices:
|
|
Enable/disable checking of GET URI parameters for known credentials. Choices:
|
|
Enable/disable acting only on valid username credentials. Action will be taken for valid usernames regardless of passw… Choices:
|
|
Custom-Patterns. |
|
Category that the pattern matches. Choices:
|
|
Target pattern. |
|
Pattern will be treated either as a regex pattern or literal string. Choices:
|
|
Action to be taken when there is no matching rule. Choices:
|
|
Domain for which to verify received credentials against. |
|
Inspection-Entries. |
|
Action to be taken upon an AntiPhishing match. Choices:
|
|
FortiGuard category to match. |
|
Inspection target name. |
|
LDAP server for which to verify received credentials against. |
|
Maximum size of a POST body to check for credentials. |
|
Toggle AntiPhishing functionality. Choices:
|
|
Optional comments. |
|
Enable/disable extended logging for web filtering. Choices:
|
|
Flow/proxy feature set. Choices:
|
|
no description |
|
Do not stop quota for these categories. |
|
Filters. |
|
Action to take for matches. Choices:
|
|
Groups with permission to authenticate. |
|
Categories and groups the filter examines. |
|
ID number. |
|
Enable/disable logging. Choices:
|
|
Override replacement message. |
|
Duration of warnings. |
|
Re-display warning after closing browser or after a timeout. Choices:
|
|
Warning prompts in each category or each domain. Choices:
|
|
Maximum FortiGuard quota used by single page view in seconds (excludes streams). |
|
Options for FortiGuard Web Filter. Choices:
|
|
Allow web filter profile overrides. |
|
Quota. |
|
FortiGuard categories to apply quota to (category action must be set to monitor). |
|
Duration of quota. |
|
ID number. |
|
Override replacement message. |
|
Quota type. Choices:
|
|
Traffic quota unit of measurement. Choices:
|
|
Traffic quota value. |
|
Enable/disable rating CRL by URL. Choices:
|
|
Enable/disable rating CSS by URL. Choices:
|
|
Rate-Image-Urls. Choices:
|
|
Enable/disable rating JavaScript by URL. Choices:
|
|
Enable replacement messages for HTTPS. Choices:
|
|
Web filtering inspection mode. Choices:
|
|
Enable/disable logging all URLs visited. Choices:
|
|
Profile name. |
|
Options. Choices:
|
|
no description |
|
Allow/deny browser-based (cookie) overrides. Choices:
|
|
Override duration. |
|
Override duration mode. Choices:
|
|
Override scope. Choices:
|
|
User groups with permission to use the override. |
|
Web filter profile with permission to create overrides. |
|
Profile attribute to retrieve from the RADIUS server. Choices:
|
|
Override profile type. Choices:
|
|
Permitted override types. Choices:
|
|
Action taken for HTTP POST traffic. Choices:
|
|
Replacement message group. |
|
no description |
|
HTTP header name to use for client redirect on blocked requests |
|
Enable / Disable empty message-body entity in HTTP response Choices:
|
|
HTTP header value to use for client redirect on blocked requests |
|
URL extraction server FQDN (fully qualified domain name) |
|
Enable URL Extraction Choices:
|
|
no description |
|
FortiGuard allowlist settings. Choices:
|
|
Enable/disable automatic addition of URLs detected by FortiSandbox to blacklist. Choices:
|
|
Enable/disable automatic addition of URLs detected by FortiSandbox to blocklist. Choices:
|
|
Banned word table ID. |
|
Banned word score threshold. |
|
Content header list. |
|
Search keywords to log when match is found. |
|
Enable/disable logging all search phrases. Choices:
|
|
Safe search type. Choices:
|
|
URL filter table ID. |
|
FortiGuard whitelist settings. Choices:
|
|
YouTube EDU filter level. Choices:
|
|
Enable/disable logging of AntiPhishing checks. Choices:
|
|
Enable/disable logging logging blocked web content. Choices:
|
|
Enable/disable extended any filter action logging for web filtering. Choices:
|
|
Enable/disable logging ActiveX. Choices:
|
|
Enable/disable logging Java applets. Choices:
|
|
Enable/disable logging blocked commands. Choices:
|
|
Enable/disable logging cookie filtering. Choices:
|
|
Enable/disable logging blocked cookies. Choices:
|
|
Enable/disable logging Java scripts. Choices:
|
|
Enable/disable logging JScripts. Choices:
|
|
Enable/disable logging referrers. Choices:
|
|
Enable/disable logging unknown scripts. Choices:
|
|
Enable/disable logging VBS scripts. Choices:
|
|
Enable/disable logging rating errors. Choices:
|
|
Enable/disable logging daily quota usage. Choices:
|
|
Enable/disable logging invalid domain names. Choices:
|
|
Enable/disable logging URL filtering. Choices:
|
|
Enable/disable web proxy WISP. Choices:
|
|
WISP server selection algorithm. Choices:
|
|
WISP servers. |
|
Youtube-Channel-Filter. |
|
YouTube channel ID to be filtered. |
|
Comment. |
|
ID. |
|
YouTube channel filter status. Choices:
|
|
the adom to lock for FortiManager running in workspace mode, the value can be global and others including root |
|
the maximum time in seconds to wait for other user to release the workspace lock Default: 300 |
Notes
Note
Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
To create or update an object, use state present directive.
To delete an object, use state absent directive.
Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded
Examples
- hosts: fortimanager-inventory
collections:
- fortinet.fortimanager
connection: httpapi
vars:
ansible_httpapi_use_ssl: True
ansible_httpapi_validate_certs: False
ansible_httpapi_port: 443
tasks:
- name: Configure Web filter profiles.
fmgr_webfilter_profile:
bypass_validation: False
workspace_locking_adom: <value in [global, custom adom including root]>
workspace_locking_timeout: 300
rc_succeeded: [0, -2, -3, ...]
rc_failed: [-2, -3, ...]
adom: <your own value>
state: <value in [present, absent]>
webfilter_profile:
comment: <value of string>
extended-log: <value in [disable, enable]>
https-replacemsg: <value in [disable, enable]>
inspection-mode: <value in [proxy, flow-based, dns]>
log-all-url: <value in [disable, enable]>
name: <value of string>
options:
- block-invalid-url
- jscript
- js
- vbs
- unknown
- wf-referer
- https-scan
- intrinsic
- wf-cookie
- per-user-bwl
- activexfilter
- cookiefilter
- https-url-scan
- javafilter
- rangeblock
- contenttype-check
- per-user-bal
ovrd-perm:
- bannedword-override
- urlfilter-override
- fortiguard-wf-override
- contenttype-check-override
post-action: <value in [normal, comfort, block]>
replacemsg-group: <value of string>
web-content-log: <value in [disable, enable]>
web-extended-all-action-log: <value in [disable, enable]>
web-filter-activex-log: <value in [disable, enable]>
web-filter-applet-log: <value in [disable, enable]>
web-filter-command-block-log: <value in [disable, enable]>
web-filter-cookie-log: <value in [disable, enable]>
web-filter-cookie-removal-log: <value in [disable, enable]>
web-filter-js-log: <value in [disable, enable]>
web-filter-jscript-log: <value in [disable, enable]>
web-filter-referer-log: <value in [disable, enable]>
web-filter-unknown-log: <value in [disable, enable]>
web-filter-vbs-log: <value in [disable, enable]>
web-ftgd-err-log: <value in [disable, enable]>
web-ftgd-quota-usage: <value in [disable, enable]>
web-invalid-domain-log: <value in [disable, enable]>
web-url-log: <value in [disable, enable]>
wisp: <value in [disable, enable]>
wisp-algorithm: <value in [auto-learning, primary-secondary, round-robin]>
wisp-servers: <value of string>
youtube-channel-filter:
-
channel-id: <value of string>
comment: <value of string>
id: <value of integer>
youtube-channel-status: <value in [disable, blacklist, whitelist]>
feature-set: <value in [proxy, flow]>
web-antiphishing-log: <value in [disable, enable]>
antiphish:
check-basic-auth: <value in [disable, enable]>
check-uri: <value in [disable, enable]>
check-username-only: <value in [disable, enable]>
custom-patterns:
-
category: <value in [username, password]>
pattern: <value of string>
type: <value in [regex, literal]>
default-action: <value in [log, block, exempt]>
domain-controller: <value of string>
inspection-entries:
-
action: <value in [log, block, exempt]>
fortiguard-category: <value of string>
name: <value of string>
max-body-len: <value of integer>
status: <value in [disable, enable]>
authentication: <value in [domain-controller, ldap]>
ldap: <value of string>
ftgd-wf:
exempt-quota: <value of string>
filters:
-
action: <value in [block, monitor, warning, ...]>
auth-usr-grp: <value of string>
category: <value of string>
id: <value of integer>
log: <value in [disable, enable]>
override-replacemsg: <value of string>
warn-duration: <value of string>
warning-duration-type: <value in [session, timeout]>
warning-prompt: <value in [per-domain, per-category]>
max-quota-timeout: <value of integer>
options:
- error-allow
- http-err-detail
- rate-image-urls
- strict-blocking
- rate-server-ip
- redir-block
- connect-request-bypass
- log-all-url
- ftgd-disable
ovrd: <value of string>
quota:
-
category: <value of string>
duration: <value of string>
id: <value of integer>
override-replacemsg: <value of string>
type: <value in [time, traffic]>
unit: <value in [B, KB, MB, ...]>
value: <value of integer>
rate-crl-urls: <value in [disable, enable]>
rate-css-urls: <value in [disable, enable]>
rate-image-urls: <value in [disable, enable]>
rate-javascript-urls: <value in [disable, enable]>
override:
ovrd-cookie: <value in [deny, allow]>
ovrd-dur: <value of string>
ovrd-dur-mode: <value in [constant, ask]>
ovrd-scope: <value in [user, user-group, ip, ...]>
ovrd-user-group: <value of string>
profile: <value of string>
profile-attribute: <value in [User-Name, User-Password, CHAP-Password, ...]>
profile-type: <value in [list, radius]>
url-extraction:
redirect-header: <value of string>
redirect-no-content: <value in [disable, enable]>
redirect-url: <value of string>
server-fqdn: <value of string>
status: <value in [disable, enable]>
web:
blacklist: <value in [disable, enable]>
bword-table: <value of string>
bword-threshold: <value of integer>
content-header-list: <value of string>
keyword-match: <value of string>
log-search: <value in [disable, enable]>
safe-search:
- google
- yahoo
- bing
- url
- header
urlfilter-table: <value of string>
whitelist:
- exempt-av
- exempt-webcontent
- exempt-activex-java-cookie
- exempt-dlp
- exempt-rangeblock
- extended-log-others
youtube-restrict: <value in [strict, none, moderate]>
allowlist:
- exempt-av
- exempt-webcontent
- exempt-activex-java-cookie
- exempt-dlp
- exempt-rangeblock
- extended-log-others
blocklist: <value in [disable, enable]>
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The full url requested Returned: always Sample: “/sys/login/user” |
|
The status of api request Returned: always Sample: 0 |
|
The descriptive message of the api response Returned: always Sample: “OK.” |
Authors
Link Zheng (@chillancezen)
Jie Xue (@JieX19)
Frank Shen (@fshen01)
Hongbin Lu (@fgtdev-hblu)