New in version 2.8.
The below requirements are needed on the host that executes this module.
| Parameter | Choices/Defaults | Comments | |||
|---|---|---|---|---|---|
| host string | FortiOS or FortiGate IP address. | ||||
| https boolean |
| Indicates if the requests towards FortiGate must use HTTPS protocol. | |||
| password string | Default: "" | FortiOS or FortiGate password. | |||
| ssl_verify boolean added in 2.9 |
| Ensures FortiGate certificate must be verified by a proper CA. | |||
| 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. | |||
| vpn_ssl_settings dictionary | Default: null | Configure SSL VPN. | |||
| auth_timeout integer | SSL-VPN authentication timeout (1 - 259200 sec (3 days), 0 for no timeout). | ||||
| authentication_rule list | Authentication rule for SSL VPN. | ||||
| auth string |
| SSL VPN authentication method restriction. | |||
| cipher string |
| SSL VPN cipher strength. | |||
| client_cert string |
| Enable/disable SSL VPN client certificate restrictive. | |||
| groups list | User groups. | ||||
| name string / required | Group name. Source user.group.name. | ||||
| id integer / required | ID (0 - 4294967295). | ||||
| portal string | SSL VPN portal. Source vpn.ssl.web.portal.name. | ||||
| realm string | SSL VPN realm. Source vpn.ssl.web.realm.url-path. | ||||
| source_address list | Source address of incoming traffic. | ||||
| name string / required | Address name. Source firewall.address.name firewall.addrgrp.name. | ||||
| source_address6 list | IPv6 source address of incoming traffic. | ||||
| name string / required | IPv6 address name. Source firewall.address6.name firewall.addrgrp6.name. | ||||
| source_address6_negate string |
| Enable/disable negated source IPv6 address match. | |||
| source_address_negate string |
| Enable/disable negated source address match. | |||
| source_interface list | SSL VPN source interface of incoming traffic. | ||||
| name string / required | Interface name. Source system.interface.name system.zone.name. | ||||
| users list | User name. | ||||
| name string / required | User name. Source user.local.name. | ||||
| auto_tunnel_static_route string |
| Enable to auto-create static routes for the SSL-VPN tunnel IP addresses. | |||
| banned_cipher string |
| Select one or more cipher technologies that cannot be used in SSL-VPN negotiations. | |||
| check_referer string |
| Enable/disable verification of referer field in HTTP request header. | |||
| default_portal string | Default SSL VPN portal. Source vpn.ssl.web.portal.name. | ||||
| deflate_compression_level integer | Compression level (0~9). | ||||
| deflate_min_data_size integer | Minimum amount of data that triggers compression (200 - 65535 bytes). | ||||
| dns_server1 string | DNS server 1. | ||||
| dns_server2 string | DNS server 2. | ||||
| dns_suffix string | DNS suffix used for SSL-VPN clients. | ||||
| dtls_hello_timeout integer | SSLVPN maximum DTLS hello timeout (10 - 60 sec). | ||||
| dtls_tunnel string |
| Enable DTLS to prevent eavesdropping, tampering, or message forgery. | |||
| force_two_factor_auth string |
| Enable to force two-factor authentication for all SSL-VPNs. | |||
| header_x_forwarded_for string |
| Forward the same, add, or remove HTTP header. | |||
| http_compression string |
| Enable to allow HTTP compression over SSL-VPN tunnels. | |||
| http_only_cookie string |
| Enable/disable SSL-VPN support for HttpOnly cookies. | |||
| http_request_body_timeout integer | SSL-VPN session is disconnected if an HTTP request body is not received within this time (1 - 60 sec). | ||||
| http_request_header_timeout integer | SSL-VPN session is disconnected if an HTTP request header is not received within this time (1 - 60 sec). | ||||
| https_redirect string |
| Enable/disable redirect of port 80 to SSL-VPN port. | |||
| idle_timeout integer | SSL VPN disconnects if idle for specified time in seconds. | ||||
| ipv6_dns_server1 string | IPv6 DNS server 1. | ||||
| ipv6_dns_server2 string | IPv6 DNS server 2. | ||||
| ipv6_wins_server1 string | IPv6 WINS server 1. | ||||
| ipv6_wins_server2 string | IPv6 WINS server 2. | ||||
| login_attempt_limit integer | SSL VPN maximum login attempt times before block (0 - 10). | ||||
| login_block_time integer | Time for which a user is blocked from logging in after too many failed login attempts (0 - 86400 sec). | ||||
| login_timeout integer | SSLVPN maximum login timeout (10 - 180 sec). | ||||
| port integer | SSL-VPN access port (1 - 65535). | ||||
| port_precedence string |
| Enable means that if SSL-VPN connections are allowed on an interface admin GUI connections are blocked on that interface. | |||
| reqclientcert string |
| Enable to require client certificates for all SSL-VPN users. | |||
| route_source_interface string |
| Enable to allow SSL-VPN sessions to bypass routing and bind to the incoming interface. | |||
| servercert string | Name of the server certificate to be used for SSL-VPNs. Source vpn.certificate.local.name. | ||||
| source_address list | Source address of incoming traffic. | ||||
| name string / required | Address name. Source firewall.address.name firewall.addrgrp.name. | ||||
| source_address6 list | IPv6 source address of incoming traffic. | ||||
| name string / required | IPv6 address name. Source firewall.address6.name firewall.addrgrp6.name. | ||||
| source_address6_negate string |
| Enable/disable negated source IPv6 address match. | |||
| source_address_negate string |
| Enable/disable negated source address match. | |||
| source_interface list | SSL VPN source interface of incoming traffic. | ||||
| name string / required | Interface name. Source system.interface.name system.zone.name. | ||||
| ssl_client_renegotiation string |
| Enable to allow client renegotiation by the server if the tunnel goes down. | |||
| ssl_insert_empty_fragment string |
| Enable/disable insertion of empty fragment. | |||
| tlsv1_0 string |
| Enable/disable TLSv1.0. | |||
| tlsv1_1 string |
| Enable/disable TLSv1.1. | |||
| tlsv1_2 string |
| Enable/disable TLSv1.2. | |||
| tunnel_ip_pools list | Names of the IPv4 IP Pool firewall objects that define the IP addresses reserved for remote clients. | ||||
| name string / required | Address name. Source firewall.address.name firewall.addrgrp.name. | ||||
| tunnel_ipv6_pools list | Names of the IPv6 IP Pool firewall objects that define the IP addresses reserved for remote clients. | ||||
| name string / required | Address name. Source firewall.address6.name firewall.addrgrp6.name. | ||||
| unsafe_legacy_renegotiation string |
| Enable/disable unsafe legacy re-negotiation. | |||
| url_obscuration string |
| Enable to obscure the host name of the URL of the web browser display. | |||
| wins_server1 string | WINS server 1. | ||||
| wins_server2 string | WINS server 2. | ||||
| x_content_type_options string |
| Add HTTP X-Content-Type-Options header. | |||
Note
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
ssl_verify: "False"
tasks:
- name: Configure SSL VPN.
fortios_vpn_ssl_settings:
host: "{{ host }}"
username: "{{ username }}"
password: "{{ password }}"
vdom: "{{ vdom }}"
https: "False"
vpn_ssl_settings:
auth_timeout: "3"
authentication_rule:
-
auth: "any"
cipher: "any"
client_cert: "enable"
groups:
-
name: "default_name_9 (source user.group.name)"
id: "10"
portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
realm: "<your_own_value> (source vpn.ssl.web.realm.url-path)"
source_address:
-
name: "default_name_14 (source firewall.address.name firewall.addrgrp.name)"
source_address_negate: "enable"
source_address6:
-
name: "default_name_17 (source firewall.address6.name firewall.addrgrp6.name)"
source_address6_negate: "enable"
source_interface:
-
name: "default_name_20 (source system.interface.name system.zone.name)"
users:
-
name: "default_name_22 (source user.local.name)"
auto_tunnel_static_route: "enable"
banned_cipher: "RSA"
check_referer: "enable"
default_portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
deflate_compression_level: "27"
deflate_min_data_size: "28"
dns_server1: "<your_own_value>"
dns_server2: "<your_own_value>"
dns_suffix: "<your_own_value>"
dtls_hello_timeout: "32"
dtls_tunnel: "enable"
force_two_factor_auth: "enable"
header_x_forwarded_for: "pass"
http_compression: "enable"
http_only_cookie: "enable"
http_request_body_timeout: "38"
http_request_header_timeout: "39"
https_redirect: "enable"
idle_timeout: "41"
ipv6_dns_server1: "<your_own_value>"
ipv6_dns_server2: "<your_own_value>"
ipv6_wins_server1: "<your_own_value>"
ipv6_wins_server2: "<your_own_value>"
login_attempt_limit: "46"
login_block_time: "47"
login_timeout: "48"
port: "49"
port_precedence: "enable"
reqclientcert: "enable"
route_source_interface: "enable"
servercert: "<your_own_value> (source vpn.certificate.local.name)"
source_address:
-
name: "default_name_55 (source firewall.address.name firewall.addrgrp.name)"
source_address_negate: "enable"
source_address6:
-
name: "default_name_58 (source firewall.address6.name firewall.addrgrp6.name)"
source_address6_negate: "enable"
source_interface:
-
name: "default_name_61 (source system.interface.name system.zone.name)"
ssl_client_renegotiation: "disable"
ssl_insert_empty_fragment: "enable"
tlsv1_0: "enable"
tlsv1_1: "enable"
tlsv1_2: "enable"
tunnel_ip_pools:
-
name: "default_name_68 (source firewall.address.name firewall.addrgrp.name)"
tunnel_ipv6_pools:
-
name: "default_name_70 (source firewall.address6.name firewall.addrgrp6.name)"
unsafe_legacy_renegotiation: "enable"
url_obscuration: "enable"
wins_server1: "<your_own_value>"
wins_server2: "<your_own_value>"
x_content_type_options: "enable"
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 |
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/fortios_vpn_ssl_settings_module.html