# 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.