fortinet.fortios.fortios_firewall_ssl_ssh_profile – Configure SSL/SSH protocol options in Fortinet’s FortiOS and FortiGate.

From Get docs
Ansible/docs/2.10/collections/fortinet/fortios/fortios firewall ssl ssh profile module


fortinet.fortios.fortios_firewall_ssl_ssh_profile – Configure SSL/SSH protocol options in Fortinet’s FortiOS and FortiGate.

Note

This plugin is part of the fortinet.fortios collection (version 1.1.8).

To install it use: ansible-galaxy collection install fortinet.fortios.

To use it in a playbook, specify: fortinet.fortios.fortios_firewall_ssl_ssh_profile.


New in version 2.8: of fortinet.fortios


Synopsis

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

Requirements

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

  • ansible>=2.9.0

Parameters

Parameter Choices/Defaults Comments

access_token

string

Token-based authentication. Generated from GUI of Fortigate.

firewall_ssl_ssh_profile

dictionary

Configure SSL/SSH protocol options.

caname

string

CA certificate used by SSL Inspection. Source vpn.certificate.local.name.

comment

string

Optional comments.

ftps

dictionary

Configure FTPS options.

allow_invalid_server_cert

string

  • enable
  • disable

When enabled, allows SSL sessions whose server certificate validation failed.

client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure.

ports

integer

Ports to use for scanning (1 - 65535).

status

string

  • disable
  • deep-inspection

Configure protocol inspection status.

unsupported_ssl

string

  • bypass
  • inspect
  • block

Action based on the SSL encryption used being unsupported.

untrusted_cert

string

  • allow
  • block
  • ignore

Allow, ignore, or block the untrusted SSL session server certificate.

https

dictionary

Configure HTTPS options.

allow_invalid_server_cert

string

  • enable
  • disable

When enabled, allows SSL sessions whose server certificate validation failed.

client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure.

ports

integer

Ports to use for scanning (1 - 65535).

status

string

  • disable
  • certificate-inspection
  • deep-inspection

Configure protocol inspection status.

unsupported_ssl

string

  • bypass
  • inspect
  • block

Action based on the SSL encryption used being unsupported.

untrusted_cert

string

  • allow
  • block
  • ignore

Allow, ignore, or block the untrusted SSL session server certificate.

imaps

dictionary

Configure IMAPS options.

allow_invalid_server_cert

string

  • enable
  • disable

When enabled, allows SSL sessions whose server certificate validation failed.

client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure.

ports

integer

Ports to use for scanning (1 - 65535).

status

string

  • disable
  • deep-inspection

Configure protocol inspection status.

unsupported_ssl

string

  • bypass
  • inspect
  • block

Action based on the SSL encryption used being unsupported.

untrusted_cert

string

  • allow
  • block
  • ignore

Allow, ignore, or block the untrusted SSL session server certificate.

mapi_over_https

string

  • enable
  • disable

Enable/disable inspection of MAPI over HTTPS.

name

string / required

Name.

pop3s

dictionary

Configure POP3S options.

allow_invalid_server_cert

string

  • enable
  • disable

When enabled, allows SSL sessions whose server certificate validation failed.

client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure.

ports

integer

Ports to use for scanning (1 - 65535).

status

string

  • disable
  • deep-inspection

Configure protocol inspection status.

unsupported_ssl

string

  • bypass
  • inspect
  • block

Action based on the SSL encryption used being unsupported.

untrusted_cert

string

  • allow
  • block
  • ignore

Allow, ignore, or block the untrusted SSL session server certificate.

rpc_over_https

string

  • enable
  • disable

Enable/disable inspection of RPC over HTTPS.

server_cert

string

Certificate used by SSL Inspection to replace server certificate. Source vpn.certificate.local.name.

server_cert_mode

string

  • re-sign
  • replace

Re-sign or replace the server"s certificate.

smtps

dictionary

Configure SMTPS options.

allow_invalid_server_cert

string

  • enable
  • disable

When enabled, allows SSL sessions whose server certificate validation failed.

client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure.

ports

integer

Ports to use for scanning (1 - 65535).

status

string

  • disable
  • deep-inspection

Configure protocol inspection status.

unsupported_ssl

string

  • bypass
  • inspect
  • block

Action based on the SSL encryption used being unsupported.

untrusted_cert

string

  • allow
  • block
  • ignore

Allow, ignore, or block the untrusted SSL session server certificate.

ssh

dictionary

Configure SSH options.

inspect_all

string

  • disable
  • deep-inspection

Level of SSL inspection.

ports

integer

Ports to use for scanning (1 - 65535).

ssh_algorithm

string

  • compatible
  • high-encryption

Relative strength of encryption algorithms accepted during negotiation.

ssh_policy_check

string

  • disable
  • enable

Enable/disable SSH policy check.

ssh_tun_policy_check

string

  • disable
  • enable

Enable/disable SSH tunnel policy check.

status

string

  • disable
  • deep-inspection

Configure protocol inspection status.

unsupported_version

string

  • bypass
  • block

Action based on SSH version being unsupported.

ssl

dictionary

Configure SSL options.

allow_invalid_server_cert

string

  • enable
  • disable

When enabled, allows SSL sessions whose server certificate validation failed.

client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure.

inspect_all

string

  • disable
  • certificate-inspection
  • deep-inspection

Level of SSL inspection.

unsupported_ssl

string

  • bypass
  • inspect
  • block

Action based on the SSL encryption used being unsupported.

untrusted_cert

string

  • allow
  • block
  • ignore

Allow, ignore, or block the untrusted SSL session server certificate.

ssl_anomalies_log

string

  • disable
  • enable

Enable/disable logging SSL anomalies.

ssl_exempt

list / elements=string

Servers to exempt from SSL inspection.

address

string

IPv4 address object. Source firewall.address.name firewall.addrgrp.name.

address6

string

IPv6 address object. Source firewall.address6.name firewall.addrgrp6.name.

fortiguard_category

integer

FortiGuard category ID.

id

integer / required

ID number.

regex

string

Exempt servers by regular expression.

type

string

  • fortiguard-category
  • address
  • address6
  • wildcard-fqdn
  • regex

Type of address object (IPv4 or IPv6) or FortiGuard category.

wildcard_fqdn

string

Exempt servers by wildcard FQDN. Source firewall.wildcard-fqdn.custom.name firewall.wildcard-fqdn.group.name.

ssl_exemptions_log

string

  • disable
  • enable

Enable/disable logging SSL exemptions.

ssl_server

list / elements=string

SSL servers.

ftps_client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure during the FTPS handshake.

https_client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure during the HTTPS handshake.

id

integer / required

SSL server ID.

imaps_client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure during the IMAPS handshake.

ip

string

IPv4 address of the SSL server.

pop3s_client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure during the POP3S handshake.

smtps_client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure during the SMTPS handshake.

ssl_other_client_cert_request

string

  • bypass
  • inspect
  • block

Action based on client certificate request failure during an SSL protocol handshake.

state

string

  • present
  • absent

Deprecated

Starting with Ansible 2.9 we recommend using the top-level 'state' parameter.

Indicates whether to create or remove the object.

untrusted_caname

string

Untrusted CA certificate used by SSL Inspection. Source vpn.certificate.local.name.

use_ssl_server

string

  • disable
  • enable

Enable/disable the use of SSL server table for SSL offloading.

whitelist

string

  • enable
  • disable

Enable/disable exempting servers by FortiGuard whitelist.

state

string

added in 2.9 of fortinet.fortios

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

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

  • Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks


Examples

- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Configure SSL/SSH protocol options.
    fortios_firewall_ssl_ssh_profile:
      vdom:  "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_ssl_ssh_profile:
        caname: "<your_own_value> (source vpn.certificate.local.name)"
        comment: "Optional comments."
        ftps:
            allow_invalid_server_cert: "enable"
            client_cert_request: "bypass"
            ports: "8"
            status: "disable"
            unsupported_ssl: "bypass"
            untrusted_cert: "allow"
        https:
            allow_invalid_server_cert: "enable"
            client_cert_request: "bypass"
            ports: "15"
            status: "disable"
            unsupported_ssl: "bypass"
            untrusted_cert: "allow"
        imaps:
            allow_invalid_server_cert: "enable"
            client_cert_request: "bypass"
            ports: "22"
            status: "disable"
            unsupported_ssl: "bypass"
            untrusted_cert: "allow"
        mapi_over_https: "enable"
        name: "default_name_27"
        pop3s:
            allow_invalid_server_cert: "enable"
            client_cert_request: "bypass"
            ports: "31"
            status: "disable"
            unsupported_ssl: "bypass"
            untrusted_cert: "allow"
        rpc_over_https: "enable"
        server_cert: "<your_own_value> (source vpn.certificate.local.name)"
        server_cert_mode: "re-sign"
        smtps:
            allow_invalid_server_cert: "enable"
            client_cert_request: "bypass"
            ports: "41"
            status: "disable"
            unsupported_ssl: "bypass"
            untrusted_cert: "allow"
        ssh:
            inspect_all: "disable"
            ports: "47"
            ssh_algorithm: "compatible"
            ssh_policy_check: "disable"
            ssh_tun_policy_check: "disable"
            status: "disable"
            unsupported_version: "bypass"
        ssl:
            allow_invalid_server_cert: "enable"
            client_cert_request: "bypass"
            inspect_all: "disable"
            unsupported_ssl: "bypass"
            untrusted_cert: "allow"
        ssl_anomalies_log: "disable"
        ssl_exempt:
         -
            address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
            address6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
            fortiguard_category: "63"
            id:  "64"
            regex: "<your_own_value>"
            type: "fortiguard-category"
            wildcard_fqdn: "<your_own_value> (source firewall.wildcard-fqdn.custom.name firewall.wildcard-fqdn.group.name)"
        ssl_exemptions_log: "disable"
        ssl_server:
         -
            ftps_client_cert_request: "bypass"
            https_client_cert_request: "bypass"
            id:  "72"
            imaps_client_cert_request: "bypass"
            ip: "<your_own_value>"
            pop3s_client_cert_request: "bypass"
            smtps_client_cert_request: "bypass"
            ssl_other_client_cert_request: "bypass"
        untrusted_caname: "<your_own_value> (source vpn.certificate.local.name)"
        use_ssl_server: "disable"
        whitelist: "enable"

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




Authors

  • Link Zheng (@chillancezen)
  • Jie Xue (@JieX19)
  • Hongbin Lu (@fgtdev-hblu)
  • Frank Shen (@frankshen01)
  • Miguel Angel Munoz (@mamunozgonzalez)
  • Nicolas Thomas (@thomnico)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/fortinet/fortios/fortios_firewall_ssl_ssh_profile_module.html