Введение
Приложение отчётности читает синтетические заказы из другой базы PostgreSQL. Сейчас External Probe тоже достигает этой базы. Закрывая лишний путь подключения, нужно сохранить работу страницы отчётности.
Задание начинается в независимой среде. Примените проверку соединений, просмотр маршрутов и упорядоченные правила Gateway из лабораторной работы к другой схеме адресов и порту базы.
Защитите базу отчётности
Текущая ситуация
Откройте Order Page, чтобы увидеть заказы приложения, схему сети и текущие результаты соединений. Report Client — законный узел приложения, External Probe — нежелательный клиент. Gateway управляет пересылкой их трафика. Контейнеры имеют отдельные сетевые пространства имён и используют ядро одного экземпляра.
Область задачи
Меняйте только цепочку LAB_FORWARD работающего Gateway. Не изменяйте маршруты, адреса, реквизиты, параметры базы, код приложения или сервисы. Родительская цепочка FORWARD уже подключена и запрещает несовпавший трафик. Правила нужны на время этой сессии; сохранение после перезагрузки вне задачи.
| Источник | Назначение | Требуемый результат |
|---|---|---|
Report Client 172.29.10.40 |
База 172.29.20.15:5544 |
Разрешить реальное чтение PostgreSQL |
External Probe 172.29.10.50 |
База 172.29.20.15:5544 |
Запретить новые TCP-соединения |
| Оба клиента | Публичный сервис 172.29.20.15:8001 |
Разрешить |
Следующий узел клиентов — 172.29.10.254, база отвечает через 172.29.20.254. Фиксированные параметры: пользователь shopapp, пароль training-only, база shop, таблица orders, столбцы id и item. tcp-probe ADDRESS PORT, ip route get ADDRESS, psql и curl работают так же, как раньше. Приложение использует те же реквизиты.
Справочник полей: -A добавляет в конец, -s задаёт источник, -d назначение, -p tcp протокол, --dport порт назначения, -j действие. -F CHAIN очищает только указанную цепочку; -nvL CHAIN показывает числовые правила и счётчики. Ответам нужно отслеживание соединений. Общий запрет перед узким разрешением имеет приоритет.
Ваша цель
База отчётности должна принимать законного клиента и отклонять новые TCP-соединения External Probe. Страница отчётности и публичный сервис должны работать. База и её реквизиты должны остаться неизменными.
Критерии приёмки
- Report Client читает реальные строки через PostgreSQL на
5544с фиксированными реквизитами. - External Probe не устанавливает новое TCP-соединение с этим портом.
- External Probe по-прежнему получает
PUBLIC STATUS OKс8001; заказы отчётности загружаются. - Есть заказ
practice-2с товаромGreen tea, созданный через Order Page после изменения. Отчёт и снимок экрана не нужны.
Подсказки
Какой источник нужен в исключении?
Используйте клиента, который действительно открывает соединение с базой, а не адрес браузера или Gateway. Схема и ip route get помогают определить источник.
Почему перестал работать законный трафик?
Сравните первое совпавшее правило, порт назначения и обработку ответов. Порт отличается от лабораторной работы. После опечатки можно заново собрать учебную цепочку.
Доказывает ли ошибка аутентификации устранение доступа?
Отказ по паролю означает, что PostgreSQL был доступен. Проверяйте запрещённый путь TCP-пробой, разрешённый — настоящим запросом. Публичный сервис тестируйте отдельно.
Резюме
Вы перенесли фильтрацию шлюза на другого клиента и порт, сохранив отчётность на базе реальных данных и публичный сервис. Результат доказывают функциональные проверки разрешения и запрета; открытый шлюз, остановленная база или неверный пароль не подходят.



