fortinet / fortinet.fortios / 2.3.6 / module / fortios_firewall_security_policy Configure NGFW IPv4/IPv6 application policies in Fortinet's FortiOS and FortiGate. | "added in version" 2.0.0 of fortinet.fortios" Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico) preview | supported by communityfortinet.fortios.fortios_firewall_security_policy (2.3.6) — module
Install with ansible-galaxy collection install fortinet.fortios:==2.3.6
collections: - name: fortinet.fortios version: 2.3.6
This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and security_policy category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
- name: Configure NGFW IPv4/IPv6 application policies. fortinet.fortios.fortios_firewall_security_policy: vdom: "{{ vdom }}" state: "present" access_token: "<your_own_value>" firewall_security_policy: action: "accept" app_category: - id: "5" app_group: - name: "default_name_7 (source application.group.name)" application: - id: "9" application_list: "<your_own_value> (source application.list.name)" av_profile: "<your_own_value> (source antivirus.profile.name)" casb_profile: "<your_own_value> (source casb.profile.name)" cifs_profile: "<your_own_value> (source cifs.profile.name)" comments: "<your_own_value>" diameter_filter_profile: "<your_own_value> (source diameter-filter.profile.name)" dlp_profile: "<your_own_value> (source dlp.profile.name)" dlp_sensor: "<your_own_value> (source dlp.sensor.name)" dnsfilter_profile: "<your_own_value> (source dnsfilter.profile.name)" dstaddr: - name: "default_name_20 (source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource .name)" dstaddr_negate: "enable" dstaddr4: - name: "default_name_23 (source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name)" dstaddr6: - name: "default_name_25 (source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system .external-resource.name)" dstaddr6_negate: "enable" dstintf: - name: "default_name_28 (source system.interface.name system.zone.name system.sdwan.zone.name)" emailfilter_profile: "<your_own_value> (source emailfilter.profile.name)" enforce_default_app_port: "enable" file_filter_profile: "<your_own_value> (source file-filter.profile.name)" fsso_groups: - name: "default_name_33 (source user.adgrp.name)" global_label: "<your_own_value>" groups: - name: "default_name_36 (source user.group.name)" icap_profile: "<your_own_value> (source icap.profile.name)" internet_service: "enable" internet_service_custom: - name: "default_name_40 (source firewall.internet-service-custom.name)" internet_service_custom_group: - name: "default_name_42 (source firewall.internet-service-custom-group.name)" internet_service_group: - name: "default_name_44 (source firewall.internet-service-group.name)" internet_service_id: - id: "46 (source firewall.internet-service.id)" internet_service_name: - name: "default_name_48 (source firewall.internet-service-name.name)" internet_service_negate: "enable" internet_service_src: "enable" internet_service_src_custom: - name: "default_name_52 (source firewall.internet-service-custom.name)" internet_service_src_custom_group: - name: "default_name_54 (source firewall.internet-service-custom-group.name)" internet_service_src_group: - name: "default_name_56 (source firewall.internet-service-group.name)" internet_service_src_id: - id: "58 (source firewall.internet-service.id)" internet_service_src_name: - name: "default_name_60 (source firewall.internet-service-name.name)" internet_service_src_negate: "enable" internet_service6: "enable" internet_service6_custom: - name: "default_name_64 (source firewall.internet-service-custom.name)" internet_service6_custom_group: - name: "default_name_66 (source firewall.internet-service-custom-group.name)" internet_service6_group: - name: "default_name_68 (source firewall.internet-service-group.name)" internet_service6_name: - name: "default_name_70 (source firewall.internet-service-name.name)" internet_service6_negate: "enable" internet_service6_src: "enable" internet_service6_src_custom: - name: "default_name_74 (source firewall.internet-service-custom.name)" internet_service6_src_custom_group: - name: "default_name_76 (source firewall.internet-service-custom-group.name)" internet_service6_src_group: - name: "default_name_78 (source firewall.internet-service-group.name)" internet_service6_src_name: - name: "default_name_80 (source firewall.internet-service-name.name)" internet_service6_src_negate: "enable" ips_sensor: "<your_own_value> (source ips.sensor.name)" ips_voip_filter: "<your_own_value> (source voip.profile.name)" learning_mode: "enable" logtraffic: "all" logtraffic_start: "enable" mms_profile: "<your_own_value> (source firewall.mms-profile.name)" name: "default_name_88" nat46: "enable" nat64: "enable" policyid: "<you_own_value>" profile_group: "<your_own_value> (source firewall.profile-group.name)" profile_protocol_options: "<your_own_value> (source firewall.profile-protocol-options.name)" profile_type: "single" schedule: "<your_own_value> (source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name)" sctp_filter_profile: "<your_own_value> (source sctp-filter.profile.name)" send_deny_packet: "disable" service: - name: "default_name_99 (source firewall.service.custom.name firewall.service.group.name)" service_negate: "enable" srcaddr: - name: "default_name_102 (source firewall.address.name firewall.addrgrp.name system.external-resource.name)" srcaddr_negate: "enable" srcaddr4: - name: "default_name_105 (source firewall.address.name firewall.addrgrp.name)" srcaddr6: - name: "default_name_107 (source firewall.address6.name firewall.addrgrp6.name system.external-resource.name)" srcaddr6_negate: "enable" srcintf: - name: "default_name_110 (source system.interface.name system.zone.name system.sdwan.zone.name)" ssh_filter_profile: "<your_own_value> (source ssh-filter.profile.name)" ssl_ssh_profile: "<your_own_value> (source firewall.ssl-ssh-profile.name)" status: "enable" url_category: "<your_own_value>" users: - name: "default_name_116 (source user.local.name)" utm_status: "enable" uuid: "<your_own_value>" uuid_idx: "2147483647" videofilter_profile: "<your_own_value> (source videofilter.profile.name)" virtual_patch_profile: "<your_own_value> (source virtual-patch.profile.name)" voip_profile: "<your_own_value> (source voip.profile.name)" webfilter_profile: "<your_own_value> (source webfilter.profile.name)"
vdom: default: root description: - 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. type: str state: choices: - present - absent description: - Indicates whether to create or remove the object. required: true type: str enable_log: default: false description: - Enable/Disable logging for task. required: false type: bool member_path: description: - Member attribute path to operate on. - Delimited by a slash character if there are more than one attribute. - Parameter marked with member_path is legitimate for doing member operation. type: str access_token: description: - Token-based authentication. Generated from GUI of Fortigate. required: false type: str member_state: choices: - present - absent description: - Add or delete a member under specified attribute path. - When member_state is specified, the state option is ignored. type: str firewall_security_policy: default: null description: - Configure NGFW IPv4/IPv6 application policies. suboptions: action: choices: - accept - deny description: - Policy action (accept/deny). type: str app_category: description: - Application category ID list. elements: dict suboptions: id: description: - Category IDs. see <a href='#notes'>Notes</a>. required: true type: int type: list app_group: description: - Application group names. elements: dict suboptions: name: description: - Application group names. Source application.group.name. required: true type: str type: list application: description: - Application ID list. elements: dict suboptions: id: description: - Application IDs. see <a href='#notes'>Notes</a>. required: true type: int type: list application_list: description: - Name of an existing Application list. Source application.list.name. type: str av_profile: description: - Name of an existing Antivirus profile. Source antivirus.profile.name. type: str casb_profile: description: - Name of an existing CASB profile. Source casb.profile.name. type: str cifs_profile: description: - Name of an existing CIFS profile. Source cifs.profile.name. type: str comments: description: - Comment. type: str diameter_filter_profile: description: - Name of an existing Diameter filter profile. Source diameter-filter.profile.name. type: str dlp_profile: description: - Name of an existing DLP profile. Source dlp.profile.name. type: str dlp_sensor: description: - Name of an existing DLP sensor. Source dlp.sensor.name. type: str dnsfilter_profile: description: - Name of an existing DNS filter profile. Source dnsfilter.profile.name. type: str dstaddr: description: - Destination IPv4 address name and address group names. elements: dict suboptions: name: description: - Address name. Source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name system.external-resource .name. required: true type: str type: list dstaddr4: description: - Destination IPv4 address name and address group names. elements: dict suboptions: name: description: - Address name. Source firewall.address.name firewall.addrgrp.name firewall.vip.name firewall.vipgrp.name. required: true type: str type: list dstaddr6: description: - Destination IPv6 address name and address group names. elements: dict suboptions: name: description: - Address name. Source firewall.address6.name firewall.addrgrp6.name firewall.vip6.name firewall.vipgrp6.name system .external-resource.name. required: true type: str type: list dstaddr6_negate: choices: - enable - disable description: - When enabled dstaddr6 specifies what the destination address must NOT be. type: str dstaddr_negate: choices: - enable - disable description: - When enabled dstaddr specifies what the destination address must NOT be. type: str dstintf: description: - Outgoing (egress) interface. elements: dict suboptions: name: description: - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. required: true type: str type: list emailfilter_profile: description: - Name of an existing email filter profile. Source emailfilter.profile.name. type: str enforce_default_app_port: choices: - enable - disable description: - Enable/disable default application port enforcement for allowed applications. type: str file_filter_profile: description: - Name of an existing file-filter profile. Source file-filter.profile.name. type: str fsso_groups: description: - Names of FSSO groups. elements: dict suboptions: name: description: - Names of FSSO groups. Source user.adgrp.name. required: true type: str type: list global_label: description: - Label for the policy that appears when the GUI is in Global View mode. type: str groups: description: - Names of user groups that can authenticate with this policy. elements: dict suboptions: name: description: - User group name. Source user.group.name. required: true type: str type: list icap_profile: description: - Name of an existing ICAP profile. Source icap.profile.name. type: str internet_service: choices: - enable - disable description: - Enable/disable use of Internet Services for this policy. If enabled, destination address, service and default application port enforcement are not used. type: str internet_service6: choices: - enable - disable description: - Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address, service and default application port enforcement are not used. type: str internet_service6_custom: description: - Custom IPv6 Internet Service name. elements: dict suboptions: name: description: - Custom IPv6 Internet Service name. Source firewall.internet-service-custom.name. required: true type: str type: list internet_service6_custom_group: description: - Custom IPv6 Internet Service group name. elements: dict suboptions: name: description: - Custom IPv6 Internet Service group name. Source firewall.internet-service-custom-group.name. required: true type: str type: list internet_service6_group: description: - Internet Service group name. elements: dict suboptions: name: description: - Internet Service group name. Source firewall.internet-service-group.name. required: true type: str type: list internet_service6_name: description: - IPv6 Internet Service name. elements: dict suboptions: name: description: - IPv6 Internet Service name. Source firewall.internet-service-name.name. required: true type: str type: list internet_service6_negate: choices: - enable - disable description: - When enabled internet-service6 specifies what the service must NOT be. type: str internet_service6_src: choices: - enable - disable description: - Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. type: str internet_service6_src_custom: description: - Custom IPv6 Internet Service source name. elements: dict suboptions: name: description: - Custom Internet Service name. Source firewall.internet-service-custom.name. required: true type: str type: list internet_service6_src_custom_group: description: - Custom Internet Service6 source group name. elements: dict suboptions: name: description: - Custom Internet Service6 group name. Source firewall.internet-service-custom-group.name. required: true type: str type: list internet_service6_src_group: description: - Internet Service6 source group name. elements: dict suboptions: name: description: - Internet Service group name. Source firewall.internet-service-group.name. required: true type: str type: list internet_service6_src_name: description: - IPv6 Internet Service source name. elements: dict suboptions: name: description: - Internet Service name. Source firewall.internet-service-name.name. required: true type: str type: list internet_service6_src_negate: choices: - enable - disable description: - When enabled internet-service6-src specifies what the service must NOT be. type: str internet_service_custom: description: - Custom Internet Service name. elements: dict suboptions: name: description: - Custom Internet Service name. Source firewall.internet-service-custom.name. required: true type: str type: list internet_service_custom_group: description: - Custom Internet Service group name. elements: dict suboptions: name: description: - Custom Internet Service group name. Source firewall.internet-service-custom-group.name. required: true type: str type: list internet_service_group: description: - Internet Service group name. elements: dict suboptions: name: description: - Internet Service group name. Source firewall.internet-service-group.name. required: true type: str type: list internet_service_id: description: - Internet Service ID. elements: dict suboptions: id: description: - Internet Service ID. see <a href='#notes'>Notes</a>. Source firewall.internet-service.id. required: true type: int type: list internet_service_name: description: - Internet Service name. elements: dict suboptions: name: description: - Internet Service name. Source firewall.internet-service-name.name. required: true type: str type: list internet_service_negate: choices: - enable - disable description: - When enabled internet-service specifies what the service must NOT be. type: str internet_service_src: choices: - enable - disable description: - Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. type: str internet_service_src_custom: description: - Custom Internet Service source name. elements: dict suboptions: name: description: - Custom Internet Service name. Source firewall.internet-service-custom.name. required: true type: str type: list internet_service_src_custom_group: description: - Custom Internet Service source group name. elements: dict suboptions: name: description: - Custom Internet Service group name. Source firewall.internet-service-custom-group.name. required: true type: str type: list internet_service_src_group: description: - Internet Service source group name. elements: dict suboptions: name: description: - Internet Service group name. Source firewall.internet-service-group.name. required: true type: str type: list internet_service_src_id: description: - Internet Service source ID. elements: dict suboptions: id: description: - Internet Service ID. see <a href='#notes'>Notes</a>. Source firewall.internet-service.id. required: true type: int type: list internet_service_src_name: description: - Internet Service source name. elements: dict suboptions: name: description: - Internet Service name. Source firewall.internet-service-name.name. required: true type: str type: list internet_service_src_negate: choices: - enable - disable description: - When enabled internet-service-src specifies what the service must NOT be. type: str ips_sensor: description: - Name of an existing IPS sensor. Source ips.sensor.name. type: str ips_voip_filter: description: - Name of an existing VoIP (ips) profile. Source voip.profile.name. type: str learning_mode: choices: - enable - disable description: - Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. type: str logtraffic: choices: - all - utm - disable description: - Enable or disable logging. Log all sessions or security profile sessions. type: str logtraffic_start: choices: - enable - disable description: - Record logs when a session starts. type: str mms_profile: description: - Name of an existing MMS profile. Source firewall.mms-profile.name. type: str name: description: - Policy name. type: str nat46: choices: - enable - disable description: - Enable/disable NAT46. type: str nat64: choices: - enable - disable description: - Enable/disable NAT64. type: str policyid: description: - Policy ID. see <a href='#notes'>Notes</a>. required: true type: int profile_group: description: - Name of profile group. Source firewall.profile-group.name. type: str profile_protocol_options: description: - Name of an existing Protocol options profile. Source firewall.profile-protocol-options.name. type: str profile_type: choices: - single - group description: - Determine whether the firewall policy allows security profile groups or single profiles only. type: str schedule: description: - Schedule name. Source firewall.schedule.onetime.name firewall.schedule.recurring.name firewall.schedule.group.name. type: str sctp_filter_profile: description: - Name of an existing SCTP filter profile. Source sctp-filter.profile.name. type: str send_deny_packet: choices: - disable - enable description: - Enable to send a reply when a session is denied or blocked by a firewall policy. type: str service: description: - Service and service group names. elements: dict suboptions: name: description: - Service name. Source firewall.service.custom.name firewall.service.group.name. required: true type: str type: list service_negate: choices: - enable - disable description: - When enabled service specifies what the service must NOT be. type: str srcaddr: description: - Source IPv4 address name and address group names. elements: dict suboptions: name: description: - Address name. Source firewall.address.name firewall.addrgrp.name system.external-resource.name. required: true type: str type: list srcaddr4: description: - Source IPv4 address name and address group names. elements: dict suboptions: name: description: - Address name. Source firewall.address.name firewall.addrgrp.name. required: true type: str type: list srcaddr6: description: - Source IPv6 address name and address group names. elements: dict suboptions: name: description: - Address name. Source firewall.address6.name firewall.addrgrp6.name system.external-resource.name. required: true type: str type: list srcaddr6_negate: choices: - enable - disable description: - When enabled srcaddr6 specifies what the source address must NOT be. type: str srcaddr_negate: choices: - enable - disable description: - When enabled srcaddr specifies what the source address must NOT be. type: str srcintf: description: - Incoming (ingress) interface. elements: dict suboptions: name: description: - Interface name. Source system.interface.name system.zone.name system.sdwan.zone.name. required: true type: str type: list ssh_filter_profile: description: - Name of an existing SSH filter profile. Source ssh-filter.profile.name. type: str ssl_ssh_profile: description: - Name of an existing SSL SSH profile. Source firewall.ssl-ssh-profile.name. type: str status: choices: - enable - disable description: - Enable or disable this policy. type: str url_category: description: - URL categories or groups. elements: str type: list users: description: - Names of individual users that can authenticate with this policy. elements: dict suboptions: name: description: - User name. Source user.local.name. required: true type: str type: list utm_status: choices: - enable - disable description: - Enable security profiles. type: str uuid: description: - Universally Unique Identifier (UUID; automatically assigned but can be manually reset). type: str uuid_idx: description: - uuid-idx type: int videofilter_profile: description: - Name of an existing VideoFilter profile. Source videofilter.profile.name. type: str virtual_patch_profile: description: - Name of an existing virtual-patch profile. Source virtual-patch.profile.name. type: str voip_profile: description: - Name of an existing VoIP (voipd) profile. Source voip.profile.name. type: str webfilter_profile: description: - Name of an existing Web filter profile. Source webfilter.profile.name. type: str type: dict
build: description: Build number of the fortigate image returned: always sample: '1547' type: str http_method: description: Last method used to provision the content into FortiGate returned: always sample: PUT type: str http_status: description: Last result given by FortiGate on last operation applied returned: always sample: '200' type: str mkey: description: Master key (id) used in the last call to FortiGate returned: success sample: id type: str name: description: Name of the table used to fulfill the request returned: always sample: urlfilter type: str path: description: Path of the table used to fulfill the request returned: always sample: webfilter type: str revision: description: Internal revision number returned: always sample: 17.0.2.10658 type: str serial: description: Serial number of the unit returned: always sample: FGVMEVYYQT3AB5352 type: str status: description: Indication of the operation's result returned: always sample: success type: str vdom: description: Virtual domain used returned: always sample: root type: str version: description: Version of the FortiGate returned: always sample: v5.6.3 type: str