Настройка PT Application Firewall
PT Application Firewall
В данном сценарии вы развернете тестовую инфраструктуру, включающую межсетевой экран уровня веб-приложений PT Application Firewall и тестовое уязвимое веб-приложение
Чтобы настроить PT Application Firewall и проверить его работу:
- Подготовьте облако к работе.
- Создайте веб-сервер.
- Запустите уязвимое веб-приложение.
- Настройте межсетевой экран.
- Протестируйте работу межсетевого экрана.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры входят:
- плата за постоянно работающие ВМ (см. тарифы Yandex Compute Cloud);
- плата за использование публичных IP-адресов и исходящий трафик (см. тарифы Yandex Virtual Private Cloud);
Создайте веб-сервер
-
Создайте ВМ
dvwa-server
с ОС Ubuntu:-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберитеВиртуальная машина
. -
В блоке Образ загрузочного диска в поле Поиск продукта введите
Ubuntu 22.04
и выберите публичный образ Ubuntu 22.04. -
В блоке Расположение выберите зону доступности, в которой будет создана ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.
-
В блоке Сетевые настройки:
- В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
- В поле Публичный адрес оставьте значение
Автоматически
, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
- В поле Логин введите имя пользователя:
ycuser
. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации.
Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.
- В поле Логин введите имя пользователя:
-
В блоке Общая информация задайте имя ВМ:
dvwa-server
. -
Остальные настройки оставьте без изменения и нажмите кнопку Создать ВМ.
Примечание
При создании ВМ назначаются публичный и внутренний IP-адреса. Запишите их, они понадобятся для доступа к ВМ и настройки межсетевого экрана.
-
-
Подключитесь к ВМ
dvwa-server
по SSH, выполнив в терминале команду:ssh ycuser@<публичный_IP-адрес_ВМ_dvwa-server>
Запустите уязвимое веб-приложение DVWA
-
На ВМ
dvwa-server
установите Docker :curl --fail --silent --show-error --location https://test.docker.com --output test-docker.sh sudo sh test-docker.sh
-
Запустите контейнер с уязвимым веб-приложением:
sudo docker run --rm -it -p 8080:80 sagikazarmark/dvwa
-
Настройте уязвимое веб-приложение:
- В браузере перейдите по адресу:
http://<публичный_IP-адрес_ВМ_dvwa-server>:8080
- На странице авторизации введите логин
admin
и парольpassword
. - На странице
Database Setup
внизу нажмите кнопку Create / Reset Database. - Повторно авторизуйтесь с тем же логином и паролем.
- Нажмите на кнопку DVWA Security в левой части экрана и перейдите на страницу с настройками безопасности.
- В секции Security Level выберите нужный уровень защищенности приложения. В выпадающем списке выберите Low и нажмите кнопку Submit.
Настройте межсетевой экран
-
Создайте ВМ
pt-firewall
из публичного образа PT Application Firewall:Консоль управления-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберитеВиртуальная машина
. -
В блоке Образ загрузочного диска в поле Поиск продукта введите
PT Application Firewall
и выберите актуальный образ PT Application Firewall. -
В блоке Расположение выберите ту же зону доступности, в которой находится ВМ
dvwa-server
. -
В блоке Сетевые настройки:
- В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
- В поле Публичный адрес оставьте значение
Автоматически
, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
-
В поле Логин введите имя пользователя:
ycuser
. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
-
-
В блоке Общая информация задайте имя ВМ:
pt-firewall
. -
В блоке Дополнительно включите опцию
Доступ к серийной консоли
. -
Остальные настройки оставьте без изменения и нажмите кнопку Создать ВМ.
Примечание
При создании ВМ назначаются публичный и внутренний IP-адреса. Рекомендуется сделать публичный адрес статическим.
-
-
Перейдите в серийную консоль созданной ВМ:
Консоль управления- В консоли управления
выберите каталог, в котором была создана ВМ. - Перейдите в сервис Compute Cloud и выберите ВМ
pt-firewall
. - Перейдите на вкладку Серийная консоль.
- Введите логин
pt
и парольpositive
. - Вам будет предложено сменить пароль. Введите прежний пароль
positive
и создайте новый пароль в соответствии с требованиями системы. - Вам будут предложены варианты дальнейших действий. Введите
0
. - Создайте конфигурацию, последовательно выполнив следующие команды:
if set eth-ext1 inet_method dhcp dns add 77.88.8.8 config commit config sync
- В консоли управления
-
Авторизуйтесь в консоли настройки межсетевого экрана:
- В браузере перейдите по адресу:
http://<публичный_IP-адрес_ВМ_pt-firewall>:8443
- На странице авторизации введите логин
admin
и парольpositive
. - Вам будет предложено сменить пароль. Введите прежний пароль
positive
и создайте новый пароль.
- В браузере перейдите по адресу:
-
Настройте сетевые интерфейсы:
- В верхней части экрана выберите Configuration / Network / Gateways.
- В таблице, в строке с интерфейсом
pt-firewall
нажмите иконку редактирования. - На вкладке General активируйте интерфейс, включив опцию
Active
. - На вкладке Network в поле Aliases добавте опции
WAN-wan
,LAN-lan
иMGMT-mgmt
из выпадающего списка. - Нажмите Apply.
-
Настройте Upstream, в котором в качестве бэкенд-сервера будет указано веб-приложение DVWA:
- В верхней части экрана выберите Configuration / Network / Upstreams.
- На странице
UPSTREAMS
нажмите кнопку Create. - В поле Name введите
DVWA
. - В строке Backend нажмите кнопку Add и укажите:
- В поле Host —
<публичный_IP-адрес_ВМ_dvwa-server>
; - В поле Port —
8080
.
- В поле Host —
- Остальные настройки оставьте без изменения и нажмите кнопку Apply.
-
Настройте сервис:
- В верхней части экрана выберите Configuration / Network / Services.
- На странице
SERVICES
нажмите кнопку Create. - В поле Name введите
DVWA-RP
. - В строке Servers нажмите кнопку Add и укажите:
- В поле Network interface alias —
WAN-wan
из выпадающего списка; - В поле Listen Port —
80
; - В поле Upstream —
DVWA
из выпадающего списка;
- В поле Network interface alias —
- Остальные настройки оставьте без изменения и нажмите кнопку Apply.
-
Добавьте веб-приложение:
- В верхней части экрана выберите Configuration / Security / Web applications.
- На странице
WEB APPLICATIONS
нажмите кнопку Create. - В поле Name введите
DVWA-APP
. - В поле Service —
DVWA-RP
из выпадающего списка; - В поле Protection mode —
Detection
из выпадающего списка; - В строке Locations нажмите кнопку Add и укажите:
\/
- Остальные настройки оставьте без изменения и нажмите кнопку Apply.
Протестируйте работу межсетевого экрана
Чтобы протестировать работу межсетевого экрана, воспользуйтесь симулятором веб-атак GoTestWAF
-
Откройте новое окно терминала командной строки и подключитесь к ВМ
dvwa-server
по SSH:ssh yclogrus@<публичный_IP-адрес_ВМ_dvwa-server>
-
Запустите тест, выполнив команду:
sudo docker run -v ${PWD}/reports:/app/reports wallarm/gotestwaf --url=http://<публичный_IP-адрес_ВМ_pt-firewall>/ --skipWAFBlockCheck
-
Дождитесь окончания теста и просмотрите результаты. В итоговой таблице
Summary
легко видеть, что атаки не были заблокированы (секцияTRUE-NEGATIVE TESTS BLOCKED
):Summary: +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | TYPE | TRUE-NEGATIVE TESTS BLOCKED | TRUE-POSITIVE TESTS PASSED | AVERAGE | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | API Security | 0.00% | n/a | 0.00% | | Application Security | 0.17% | 100.00% | 50.09% | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | SCORE | 25.05% | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+
-
Вернитесь в браузере на страницу настроек межсетевого экрана, раздел
WEB APPLICATIONS
(Configuration / Security / Web applications) и нажмите иконку редактирования в строке приложенияDVWA
. -
В поле Protection mode выберите
Active prevention
из выпадающего списка и нажмите кнопку Apply. -
В терминале повторно запустите тест из пункта 2.
-
Дождитесь окончания теста и просмотрите результаты. В итоговой таблице
Summary
показано, что в этот раз были отражены все атаки (100% атак в секцииTRUE-NEGATIVE TESTS BLOCKED
):Summary: +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | TYPE | TRUE-NEGATIVE TESTS BLOCKED | TRUE-POSITIVE TESTS PASSED | AVERAGE | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | API Security | 100.00% | n/a | 100.00% | | Application Security | 100.00% | 0.00% | 50.00% | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ | SCORE | 75.00% | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы:
- Удалите ВМ
dvwa-server
иpt-firewall
. - Удалите статические публичные IP-адреса.