fortios_vpn_ssl_settings – Настройка SSL VPN в Fortinet’s FortiOS и FortiGate
Новая версия 2.8.
Обзор
- Этот модуль позволяет настраивать FortiGate или FortiOS, позволяя пользователю устанавливать и изменять функцию vpn_ssl и категорию настроек. Примеры включают все параметры и значения, которые необходимо скорректировать в источниках данных перед использованием. Тестировалось с FOS v6.0.2
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- fortiosapi>=0.9.8
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||
|---|---|---|---|---|---|
| host - / обязательно | IP-адрес FortiOS или FortiGate. | ||||
| https boolean |
| Указывает, должны ли запросы к FortiGate использовать протокол HTTPS. | |||
| password - | Значение по умолчанию: "" | Пароль FortiOS или FortiGate. | |||
| username - / обязательно | Имя пользователя FortiOS или FortiGate. | ||||
| vdom - | Значение по умолчанию: "root" | Виртуальная область, определенная ранее. VDOM — это виртуальная инстанция FortiGate, которую можно настроить и использовать как отдельное устройство. | |||
| vpn_ssl_settings - | Значение по умолчанию: null | Настройка SSL VPN. | |||
| auth-timeout - | Таймаут аутентификации SSL-VPN (1—259200 сек (3 дня), 0 — без таймаута). | ||||
| authentication-rule - | Правило аутентификации для SSL VPN. | ||||
| auth - |
| Ограничение метода аутентификации SSL VPN. | |||
| cipher - |
| Уровень шифрования SSL VPN. | |||
| client-cert - |
| Включить/выключить ограничение по сертификату клиента SSL VPN. | |||
| groups - | Группы пользователей. | ||||
| name - / обязательно | Имя группы. Источник user.group.name. | ||||
| id - / обязательно | ID (0—4294967295). | ||||
| portal - | Портал SSL VPN. Источник vpn.ssl.web.portal.name. | ||||
| realm - | Область SSL VPN. Источник vpn.ssl.web.realm.url-path. | ||||
| source-address - | Исходный адрес входящего трафика. | ||||
| name - / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | ||||
| source-address-negate - |
| Включить/выключить соответствие по отрицаемому исходному адресу. | |||
| source-address6 - | Исходный IPv6-адрес входящего трафика. | ||||
| name - / обязательно | Имя IPv6-адреса. Источник firewall.address6.name firewall.addrgrp6.name. | ||||
| source-address6-negate - |
| Включить/выключить соответствие по отрицаемому исходному IPv6-адресу. | |||
| source-interface - | Исходный интерфейс SSL VPN входящего трафика. | ||||
| name - / обязательно | Имя интерфейса. Источник system.interface.name system.zone.name. | ||||
| users - | Имя пользователя. | ||||
| name - / обязательно | Имя пользователя. Источник user.local.name. | ||||
| auto-tunnel-static-route - |
| Включить для автоматического создания статических маршрутов для IP-адресов туннеля SSL VPN. | |||
| banned-cipher - |
| Выберите один или несколько алгоритмов шифрования, которые нельзя использовать в переговорах SSL-VPN. | |||
| check-referer - |
| Включить/выключить проверку поля referer в заголовке HTTP-запроса. | |||
| default-portal - | Портал SSL VPN по умолчанию. Источник vpn.ssl.web.portal.name. | ||||
| deflate-compression-level - | Уровень сжатия (0—9). | ||||
| deflate-min-data-size - | Минимальный размер данных, который запускает сжатие (200—65535 байт). | ||||
| dns-server1 - | DNS-сервер 1. | ||||
| dns-server2 - | DNS-сервер 2. | ||||
| dns-suffix - | DNS-суффикс, используемый клиентами SSL-VPN. | ||||
| dtls-hello-timeout - | Максимальный таймаут DTLS hello SSL VPN (10—60 сек, по умолчанию 10). | ||||
| dtls-tunnel - |
| Включить DTLS для предотвращения перехвата, изменения или подделки сообщений. | |||
| force-two-factor-auth - |
| Включить для принудительного использования двухфакторной аутентификации для всех SSL-VPN. | |||
| header-x-forwarded-for - |
| Передать, добавить или удалить HTTP-заголовок. | |||
| http-compression - |
| Включить для разрешения HTTP-сжатия через SSL-VPN-туннели. | |||
| http-only-cookie - |
| Включить/отключить поддержку SSL-VPN для HttpOnly-куки. | |||
| http-request-body-timeout - | Сессия SSL-VPN прерывается, если тело HTTP-запроса не получено в течение этого времени (1 - 60 сек, по умолчанию = 20). | ||||
| http-request-header-timeout - | Сессия SSL-VPN прерывается, если заголовок HTTP-запроса не получен в течение этого времени (1 - 60 сек, по умолчанию = 20). | ||||
| https-redirect - |
| Включить/отключить перенаправление порта 80 на порт SSL-VPN. | |||
| idle-timeout - | SSL VPN отключается при бездействии в течение указанного времени в секундах. | ||||
| ipv6-dns-server1 - | DNS-сервер IPv6 1. | ||||
| ipv6-dns-server2 - | DNS-сервер IPv6 2. | ||||
| ipv6-wins-server1 - | WINS-сервер IPv6 1. | ||||
| ipv6-wins-server2 - | WINS-сервер IPv6 2. | ||||
| login-attempt-limit - | Максимальное количество попыток входа SSL VPN перед блокировкой (0 - 10, по умолчанию = 2, 0 = без ограничения). | ||||
| login-block-time - | Время блокировки пользователя от входа после слишком большого количества неудачных попыток входа (0 - 86400 сек, по умолчанию = 60). | ||||
| login-timeout - | Максимальная задержка входа SSLVPN (10 - 180 сек, по умолчанию = 30). | ||||
| port - | Порт доступа SSL-VPN (1 - 65535). | ||||
| port-precedence - |
| Включить означает, что если разрешены подключения SSL-VPN на интерфейсе, подключения административного интерфейса на этом интерфейсе будут заблокированы. | |||
| reqclientcert - |
| Включить, чтобы потребовать сертификаты клиента для всех пользователей SSL-VPN. | |||
| route-source-interface - |
| Включить, чтобы разрешить SSL-VPN-сессиям обойти маршрутизацию и привязаться к входящему интерфейсу. | |||
| servercert - | Имя серверного сертификата, используемого для SSL-VPN. Источник vpn.certificate.local.name. | ||||
| source-address - | Исходный адрес входящего трафика. | ||||
| name - / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | ||||
| source-address-negate - |
| Включить/отключить соответствие отрицающего исходного адреса. | |||
| source-address6 - | Исходный адрес IPv6 входящего трафика. | ||||
| name - / обязательно | Имя адреса IPv6. Источник firewall.address6.name firewall.addrgrp6.name. | ||||
| source-address6-negate - |
| Включить/отключить соответствие отрицающего исходного адреса IPv6. | |||
| source-interface - | SSL VPN исходный интерфейс входящего трафика. | ||||
| name - / обязательно | Имя интерфейса. Источник system.interface.name system.zone.name. | ||||
| ssl-client-renegotiation - |
| Включить для разрешения повторного согласования клиента сервером, если туннель выходит из строя. | |||
| ssl-insert-empty-fragment - |
| Включить/отключить вставку пустого фрагмента. | |||
| tlsv1-0 - |
| Включить/отключить TLSv1.0. | |||
| tlsv1-1 - |
| Включить/отключить TLSv1.1. | |||
| tlsv1-2 - |
| Включить/отключить TLSv1.2. | |||
| tunnel-ip-pools - | Имена объектов IP-пулов IPv4 брандмауэра, определяющих IP-адреса, зарезервированные для удалённых клиентов. | ||||
| name - / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | ||||
| tunnel-ipv6-pools - | Имена объектов IP-пулов IPv6 брандмауэра, определяющих IP-адреса, зарезервированные для удалённых клиентов. | ||||
| name - / обязательно | Имя адреса IPv6. Источник firewall.address6.name firewall.addrgrp6.name. | ||||
| unsafe-legacy-renegotiation - |
| Включить/отключить небезопасное устаревшее повторное согласование. | |||
| url-obscuration - |
| Включить для скрытия имени хоста URL в отображении веб-браузера. | |||
| wins-server1 - | Сервер WINS 1. | ||||
| wins-server2 - | Сервер WINS 2. | ||||
| x-content-type-options - |
| Добавить заголовок HTTP X-Content-Type-Options. | |||
Примечания
Примечание
- Требуется библиотека fortiosapi, разработанная компанией Fortinet
- Выполнять как local_action в вашей книге задач
Примеры
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
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"
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| build строка | всегда | Номер сборки образа FortiGate Пример: 1547 |
| http_method строка | всегда | Последний метод, используемый для подготовки содержимого в FortiGate Пример: PUT |
| http_status строка | всегда | Последний результат, предоставленный FortiGate по последней выполненной операции Пример: 200 |
| mkey строка | успех | Главный ключ (id), используемый в последнем вызове FortiGate Пример: id |
| name строка | всегда | Имя таблицы, используемой для выполнения запроса Пример: urlfilter |
| path строка | всегда | Путь таблицы, используемой для выполнения запроса Пример: webfilter |
| revision строка | всегда | Внутренний номер ревизии Пример: 17.0.2.10658 |
| serial строка | всегда | Серийный номер устройства Пример: FGVMEVYYQT3AB5352 |
| status строка | всегда | Указание результата операции Пример: success |
| vdom строка | всегда | Используемый виртуальный домен Пример: root |
| version строка | всегда | Версия FortiGate Пример: v5.6.3 |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/fortios_vpn_ssl_settings_module.html