====== Базовый сценарий 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|}}