====== Базовый сценарий FortiWeb: публикация HTTP-сайта на двух серверах с балансировкой Round Robin ======
Задача: опубликовать веб-сайт yourdomain.kz, размещённый на двух серверах:
server1 (10.10.10.13) и server2 (10.10.10.14). Сайт должен быть доступен по
HTTP. Для защиты используется профиль **Inline Alert Only**.
===== Решение =====
==== Шаг 1. Создайте Virtual IP ====
FortiWeb использует Virtual IP для приёма входящих подключений к сайту.
Перейдите:
**Network → Virtual IP → Create**
Укажите:
* Name: VIP-yourdomain.kz
* IPv4 Address: 192.168.55.0/24
* Interface: WAF_client
{{:waf:fortiweb_virtual_ip_original.png?600|}}
Сохраните настройку.
==== Шаг 2. Создайте Virtual Server ====
Созданный Virtual IP необходимо использовать для создания Virtual Server.
Перейдите:
**Server Objects → Server → Virtual Server → New**
Укажите созданный Virtual IP и включите Virtual Server.
{{:waf:fortiweb_image_8.png?600|}}
Сохраните настройку.
==== Шаг 3. Настройте Protected Hostnames ====
Protected Hostnames позволяют принимать запросы только для указанного сайта.
Перейдите:
**Server Objects → Protected Hostnames → Create New**
Добавьте:
* yourdomain.kz
* %%www.yourdomain.kz%%
Для **Default Action** выберите **Deny**.
{{:waf:fortiweb_image_3.png?600|}}
Это означает, что запросы с другими именами сайта будут отклонены.
==== Шаг 4. Создайте Server Pool ====
Server Pool объединяет физические серверы, на которых размещён сайт.
Перейдите:
**Server Objects → Server Pool → Create New → Create HTTP Server Pool**
Укажите:
* Type: Reverse Proxy
* Single Server / Server Balance: Server Balance
* Server Health Check: HLTHCK_HTTP
* Load Balancing Algorithm: Round Robin
* Persistence: None
{{:waf:fortiweb_image_9.png?600}}
При настройке **SSL Connection** Settings убедитесь, что **TLS 1.3 включён**.
{{:waf:fortiweb_image_4.png?600}}
После сохранения Server Pool добавьте физические серверы:
* server1 — 10.10.10.13, порт 80
* server2 — 10.10.10.14, порт 80
Для Health Check Domain Name укажите:
yourdomain.kz
{{:waf:fortiweb_image_7.png?600}}{{:waf:fortiweb_image_6.png?600}}
Остальные параметры можно оставить без изменений.
==== Шаг 5. Создайте Server Policy ====
Server Policy определяет, какой трафик FortiWeb будет направлять на серверы.
Перейдите:
**Policy → Server Policy → Create New → Create HTTP Policy**
Укажите:
* Deployment Mode: Single Server/Server Pool
* Virtual Server: vsrv-yourdomain.kz
* Server Pool: srv-pool-yourdomain.kz
* Protected Hostnames: hostnames-yourdomain.kz
* HTTP Service: HTTP
* Web Protection Profile: Inline Alert Only
{{:waf:fortiweb_image_1.png?600|}}
{{:waf:fortiweb_image_2.png?600|}}
Сохраните настройку.
В режиме Reverse Proxy без Server Policy разрешённый трафик к физическим веб-серверам будет заблокирован.
===== Проверка работоспособности =====
После создания и настройки всех необходимых объектов рекомендуется выполнить следующие проверки.
==== 1. Проверка DNS ====
Убедиться, что доменное имя сайта корректно указывает на IP-адрес FortiWeb.
{{:waf:cmd.png?600|}}
==== 2. Настройка записи в hosts ====
Добавить запись, связывающую доменное имя сайта с публичным IP-адресом, через который FortiWeb принимает входящие подключения.
{{:waf:CLI_2.png?600|}}
==== 3. Проверка доступности сайта ====
После добавления записи в файл hosts открыть сайт в браузере и убедиться, что он доступен.
==== 4. Проверка HTTPS ====
Открыть сайт по протоколу HTTPS и убедиться в корректной загрузке SSL/TLS-сертификата.
//Примечание: Скриншоты в пунктах 5 и 6 выполнены на тестовом приложении OWASP Juice Shop и приведены в качестве примера проверки работы FortiWeb.//
==== 5. Проверка журналов ====
Проверить журналы Traffic Log и Attack Log на наличие ошибок, блокировок и других событий, связанных с обработкой трафика.
{{:waf:waf_owasp_attack.png?600|}}
{{:waf:waf_owasp_traffic.png?600|}}
==== 6. Проверка прохождения трафика ====
Выполнить тестовый запрос к сайту и убедиться, что трафик проходит через FortiWeb и обрабатывается в соответствии с настроенной политикой.
{{:waf:owasp_site.png?600|}}