fortios_antivirus_profile – Configure AntiVirus profiles in Fortinet’s FortiOS and FortiGate — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# fortios_antivirus_profile – Configure AntiVirus profiles in Fortinet’s FortiOS and FortiGate

New in version 2.8.

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify antivirus feature and profile category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5

## Requirements

The below requirements are needed on the host that executes this module.

- fortiosapi>=0.9.8

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
antivirus_profile dictionary | Default: null | Configure AntiVirus profiles.
| analytics_bl_filetype integer |  | Only submit files matching this DLP file-pattern to FortiSandbox. Source dlp.filepattern.id.
| analytics_db string | Choices: disable enable | Enable/disable using the FortiSandbox signature database to supplement the AV signature databases.
| analytics_max_upload integer |  | Maximum size of files that can be uploaded to FortiSandbox (1 - 395 MBytes).
| analytics_wl_filetype integer |  | Do not submit files matching this DLP file-pattern to FortiSandbox. Source dlp.filepattern.id.
| av_block_log string | Choices: enable disable | Enable/disable logging for AntiVirus file blocking.
| av_virus_log string | Choices: enable disable | Enable/disable AntiVirus logging.
| comment string |  | Comment.
| content_disarm dictionary |  | AV Content Disarm and Reconstruction settings.
|  | cover_page string | Choices: disable enable | Enable/disable inserting a cover page into the disarmed document.
|  | detect_only string | Choices: disable enable | Enable/disable only detect disarmable files, do not alter content.
|  | office_embed string | Choices: disable enable | Enable/disable stripping of embedded objects in Microsoft Office documents.
|  | office_hylink string | Choices: disable enable | Enable/disable stripping of hyperlinks in Microsoft Office documents.
|  | office_linked string | Choices: disable enable | Enable/disable stripping of linked objects in Microsoft Office documents.
|  | office_macro string | Choices: disable enable | Enable/disable stripping of macros in Microsoft Office documents.
|  | original_file_destination string | Choices: fortisandbox quarantine discard | Destination to send original file if active content is removed.
|  | pdf_act_form string | Choices: disable enable | Enable/disable stripping of actions that submit data to other targets in PDF documents.
|  | pdf_act_gotor string | Choices: disable enable | Enable/disable stripping of links to other PDFs in PDF documents.
|  | pdf_act_java string | Choices: disable enable | Enable/disable stripping of actions that execute JavaScript code in PDF documents.
|  | pdf_act_launch string | Choices: disable enable | Enable/disable stripping of links to external applications in PDF documents.
|  | pdf_act_movie string | Choices: disable enable | Enable/disable stripping of embedded movies in PDF documents.
|  | pdf_act_sound string | Choices: disable enable | Enable/disable stripping of embedded sound files in PDF documents.
|  | pdf_embedfile string | Choices: disable enable | Enable/disable stripping of embedded files in PDF documents.
|  | pdf_hyperlink string | Choices: disable enable | Enable/disable stripping of hyperlinks from PDF documents.
|  | pdf_javacode string | Choices: disable enable | Enable/disable stripping of JavaScript code in PDF documents.
| extended_log string | Choices: enable disable | Enable/disable extended logging for antivirus.
| ftgd_analytics string | Choices: disable suspicious everything | Settings to control which files are uploaded to FortiSandbox.
| ftp dictionary |  | Configure FTP AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable FTP AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| http dictionary |  | Configure HTTP AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | content_disarm string | Choices: disable enable | Enable Content Disarm and Reconstruction for this protocol.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable HTTP AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| imap dictionary |  | Configure IMAP AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | content_disarm string | Choices: disable enable | Enable Content Disarm and Reconstruction for this protocol.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | executables string | Choices: default virus | Treat Windows executable files as viruses for the purpose of blocking or monitoring.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable IMAP AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| inspection_mode string | Choices: proxy flow-based | Inspection mode.
| mapi dictionary |  | Configure MAPI AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | executables string | Choices: default virus | Treat Windows executable files as viruses for the purpose of blocking or monitoring.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable MAPI AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| mobile_malware_db string | Choices: disable enable | Enable/disable using the mobile malware signature database.
| nac_quar dictionary |  | Configure AntiVirus quarantine settings.
|  | expiry string |  | Duration of quarantine.
|  | infected string | Choices: none quar-src-ip | Enable/Disable quarantining infected hosts to the banned user list.
|  | log string | Choices: enable disable | Enable/disable AntiVirus quarantine logging.
| name string / required |  | Profile name.
| nntp dictionary |  | Configure NNTP AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable NNTP AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| pop3 dictionary |  | Configure POP3 AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | content_disarm string | Choices: disable enable | Enable Content Disarm and Reconstruction for this protocol.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | executables string | Choices: default virus | Treat Windows executable files as viruses for the purpose of blocking or monitoring.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable POP3 AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| replacemsg_group string |  | Replacement message group customized for this profile. Source system.replacemsg-group.name.
| scan_mode string | Choices: quick full | Choose between full scan mode and quick scan mode.
| smb dictionary |  | Configure SMB AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable SMB AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| smtp dictionary |  | Configure SMTP AntiVirus options.
|  | archive_block string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to block.
|  | archive_log string | Choices: encrypted corrupted partiallycorrupted multipart nested mailbomb fileslimit timeout unhandled | Select the archive types to log.
|  | content_disarm string | Choices: disable enable | Enable Content Disarm and Reconstruction for this protocol.
|  | emulator string | Choices: enable disable | Enable/disable the virus emulator.
|  | executables string | Choices: default virus | Treat Windows executable files as viruses for the purpose of blocking or monitoring.
|  | options string | Choices: scan avmonitor quarantine | Enable/disable SMTP AntiVirus scanning, monitoring, and quarantine.
|  | outbreak_prevention string | Choices: disabled files full-archive | Enable FortiGuard Virus Outbreak Prevention service.
| state string | Choices: present absent | Deprecated Starting with Ansible 2.9 we recommend using the top-level 'state' parameter. Indicates whether to create or remove the object.
host string |  | FortiOS or FortiGate IP address.
https boolean | Choices: no yes ← | Indicates if the requests towards FortiGate must use HTTPS protocol.
password string | Default: "" | FortiOS or FortiGate password.
ssl_verify boolean added in 2.9 | Choices: no yes ← | Ensures FortiGate certificate must be verified by a proper CA.
state string added in 2.9 | Choices: present absent | Indicates whether to create or remove the object. This attribute was present already in previous version in a deeper level. It has been moved out to this outer level.
username string |  | FortiOS or FortiGate username.
vdom string | Default: "root" | Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.

## Notes

Note

- Requires fortiosapi library developed by Fortinet
- Run as a local_action in your playbook

## Examples

    - hosts: localhost
      vars:
       host: "192.168.122.40"
       username: "admin"
       password: ""
       vdom: "root"
       ssl_verify: "False"
      tasks:
      - name: Configure AntiVirus profiles.
        fortios_antivirus_profile:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          antivirus_profile:
            analytics_bl_filetype: "3 (source dlp.filepattern.id)"
            analytics_db: "disable"
            analytics_max_upload: "5"
            analytics_wl_filetype: "6 (source dlp.filepattern.id)"
            av_block_log: "enable"
            av_virus_log: "enable"
            comment: "Comment."
            content_disarm:
                cover_page: "disable"
                detect_only: "disable"
                office_embed: "disable"
                office_hylink: "disable"
                office_linked: "disable"
                office_macro: "disable"
                original_file_destination: "fortisandbox"
                pdf_act_form: "disable"
                pdf_act_gotor: "disable"
                pdf_act_java: "disable"
                pdf_act_launch: "disable"
                pdf_act_movie: "disable"
                pdf_act_sound: "disable"
                pdf_embedfile: "disable"
                pdf_hyperlink: "disable"
                pdf_javacode: "disable"
            extended_log: "enable"
            ftgd_analytics: "disable"
            ftp:
                archive_block: "encrypted"
                archive_log: "encrypted"
                emulator: "enable"
                options: "scan"
                outbreak_prevention: "disabled"
            http:
                archive_block: "encrypted"
                archive_log: "encrypted"
                content_disarm: "disable"
                emulator: "enable"
                options: "scan"
                outbreak_prevention: "disabled"
            imap:
                archive_block: "encrypted"
                archive_log: "encrypted"
                content_disarm: "disable"
                emulator: "enable"
                executables: "default"
                options: "scan"
                outbreak_prevention: "disabled"
            inspection_mode: "proxy"
            mapi:
                archive_block: "encrypted"
                archive_log: "encrypted"
                emulator: "enable"
                executables: "default"
                options: "scan"
                outbreak_prevention: "disabled"
            mobile_malware_db: "disable"
            nac_quar:
                expiry: "<your_own_value>"
                infected: "none"
                log: "enable"
            name: "default_name_63"
            nntp:
                archive_block: "encrypted"
                archive_log: "encrypted"
                emulator: "enable"
                options: "scan"
                outbreak_prevention: "disabled"
            pop3:
                archive_block: "encrypted"
                archive_log: "encrypted"
                content_disarm: "disable"
                emulator: "enable"
                executables: "default"
                options: "scan"
                outbreak_prevention: "disabled"
            replacemsg_group: "<your_own_value> (source system.replacemsg-group.name)"
            scan_mode: "quick"
            smb:
                archive_block: "encrypted"
                archive_log: "encrypted"
                emulator: "enable"
                options: "scan"
                outbreak_prevention: "disabled"
            smtp:
                archive_block: "encrypted"
                archive_log: "encrypted"
                content_disarm: "disable"
                emulator: "enable"
                executables: "default"
                options: "scan"
                outbreak_prevention: "disabled"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
build string | always | Build number of the fortigate image Sample: 1547
http_method string | always | Last method used to provision the content into FortiGate Sample: PUT
http_status string | always | Last result given by FortiGate on last operation applied Sample: 200
mkey string | success | Master key (id) used in the last call to FortiGate Sample: id
name string | always | Name of the table used to fulfill the request Sample: urlfilter
path string | always | Path of the table used to fulfill the request Sample: webfilter
revision string | always | Internal revision number Sample: 17.0.2.10658
serial string | always | Serial number of the unit Sample: FGVMEVYYQT3AB5352
status string | always | Indication of the operation's result Sample: success
vdom string | always | Virtual domain used Sample: root
version string | always | Version of the FortiGate Sample: v5.6.3

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.