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

Documentation

# fortios_firewall_ssl_server – Configure SSL servers 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 firewall feature and ssl_server 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
--- | --- | ---
firewall_ssl_server dictionary | Default: null | Configure SSL servers.
| add_header_x_forwarded_proto string | Choices: enable disable | Enable/disable adding an X-Forwarded-Proto header to forwarded requests.
| ip string |  | IPv4 address of the SSL server.
| mapped_port integer |  | Mapped server service port (1 - 65535).
| name string / required |  | Server name.
| port integer |  | Server service port (1 - 65535).
| ssl_algorithm string | Choices: high medium low | Relative strength of encryption algorithms accepted in negotiation.
| ssl_cert string |  | Name of certificate for SSL connections to this server. Source vpn.certificate.local.name.
| ssl_client_renegotiation string | Choices: allow deny secure | Allow or block client renegotiation by server.
| ssl_dh_bits string | Choices: 768 1024 1536 2048 | Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation.
| ssl_max_version string | Choices: tls-1.0 tls-1.1 tls-1.2 | Highest SSL/TLS version to negotiate.
| ssl_min_version string | Choices: tls-1.0 tls-1.1 tls-1.2 | Lowest SSL/TLS version to negotiate.
| ssl_mode string | Choices: half full | SSL/TLS mode for encryption and decryption of traffic.
| ssl_send_empty_frags string | Choices: enable disable | Enable/disable sending empty fragments to avoid attack on CBC IV.
| 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.
| url_rewrite string | Choices: enable disable | Enable/disable rewriting the URL.
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 SSL servers.
        fortios_firewall_ssl_server:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          firewall_ssl_server:
            add_header_x_forwarded_proto: "enable"
            ip: "<your_own_value>"
            mapped_port: "5"
            name: "default_name_6"
            port: "7"
            ssl_algorithm: "high"
            ssl_cert: "<your_own_value> (source vpn.certificate.local.name)"
            ssl_client_renegotiation: "allow"
            ssl_dh_bits: "768"
            ssl_max_version: "tls-1.0"
            ssl_min_version: "tls-1.0"
            ssl_mode: "half"
            ssl_send_empty_frags: "enable"
            url_rewrite: "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

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