Введение
Правило межсетевого экрана полезно, только если создаёт нужную границу доступа, сохраняя необходимую службу. Одно добавление разрешающего правила при политике ACCEPT по умолчанию не доказывает ограничения кого-либо.
Эта работа предоставляет выделенную службу Kali и два учебных клиента. Вы изучите исходный доступ, примените упорядоченные правила по источнику в Kali, сохраните и восстановите учебную политику и проверите пути обоих клиентов.
Наблюдайте учебную сеть перед ограничением доступа
На этом шаге вы проверите два предоставленных клиентских представления и изучите межсетевой экран, защищающий учебную службу.
Работа предоставляет небольшую выделенную сеть внутри виртуальной машины. Учебная служба Kali находится на 172.30.77.10:8080; разрешённый клиент использует 172.30.77.20, а блокируемый — 172.30.77.30. Изначально доступны оба. Это адреса учебной сети, а не публичные цели.
Начните в исходном Terminal хоста Ubuntu. Подготовленная команда training-client делает запрос от указанного учебного клиента. Она работает на хосте, а администрирование межсетевого экрана будет внутри Kali. Выберите общую рабочую папку:
cd /home/labex/project
Сохраните исходное HTTP-состояние разрешённого клиента:
training-client allowed > allowed-before.txt
cat allowed-before.txt
Строка состояния должна содержать 200 OK. Запишите исходный доступ другого клиента:
training-client blocked > blocked-before.txt
cat blocked-before.txt
Он тоже должен сообщить 200 OK; метка называет клиента, которого вы заблокируете, а не исходное состояние.
Теперь войдите в Kali для изучения межсетевого экрана:
kali
Iptables оценивает правила фильтрации пакетов в цепочках. INPUT обрабатывает пакеты, предназначенные этой среде, OUTPUT — созданные локально, а FORWARD — маршрутизируемые. -L INPUT перечисляет входную цепочку; -n сохраняет числовые адреса и порты, а -v включает счётчики:
sudo iptables -L INPUT -n -v
Учебная цепочка изначально имеет политику ACCEPT. Политика применяется, когда ни одно правило ещё не определило судьбу пакета. Здесь вы добавите узкие правила выделенной службы, оставив политики по умолчанию и межсетевой экран хоста без изменений.
Примените и сохраните упорядоченную политику службы
На этом шаге вы разрешите назначенного клиента перед отклонением других источников учебной сети для той же службы.
Оставайтесь в Kali. -A INPUT добавляет правило в конец входной цепочки, -p tcp сопоставляет TCP, -s — адрес источника, --dport выбирает порт назначения, а -j — действие. Сначала добавьте узкое разрешающее правило:
sudo iptables -A INPUT -p tcp -s 172.30.77.20 --dport 8080 -j ACCEPT
Затем отклоните остальные источники выделенной учебной подсети для того же порта. Префикс /24 определяет диапазон сети 172.30.77.0:
sudo iptables -A INPUT -p tcp -s 172.30.77.0/24 --dport 8080 -j REJECT
Правила оцениваются по порядку. Разрешённый источник совпадает с первым завершающим правилом ACCEPT; другой учебный клиент доходит до последующего REJECT. Обратный порядок отклонил бы и разрешённого клиента. Другие порты и источники продолжают следовать неизменной политике по умолчанию.
Покажите порядок правил и счётчики. --line-numbers включает позицию каждого правила:
sudo iptables -L INPUT -n -v --line-numbers
Первое правило должно разрешать назначенного клиента на TCP 8080, а последующее — отклонять остальной трафик учебной подсети к этой службе.
iptables-save выводит активные правила в восстанавливаемом формате. Сохраните конфигурацию упражнения в общей рабочей папке:
sudo iptables-save > /home/labex/project/training.rules
Оператор оболочки < передаёт файл как стандартный ввод команды. iptables-restore читает сохранённую конфигурацию; здесь вы восстанавливаете ровно те правила упражнения, которые только что сохранили:
sudo iptables-restore < /home/labex/project/training.rules
Это действует только в выделенной сетевой среде Kali. Не очищайте межсетевой экран хоста и не заменяйте политики по умолчанию ради узкого ограничения службы.
Проверьте разрешённый и запрещённый доступ клиентов
На этом шаге вы проверите политику от обоих источников-клиентов и подтвердите доступность учебной службы.
Вернитесь из Kali в Terminal хоста Ubuntu для использования предоставленных клиентских представлений:
exit
Приглашение хоста называет labex. Запишите новый результат разрешённого клиента:
training-client allowed > /home/labex/project/allowed-after.txt
cat /home/labex/project/allowed-after.txt
Он должен по-прежнему сообщать 200 OK.
Следующая команда должна завершиться ошибкой отказа соединения или другой ошибкой соединения: это намеренно заблокированный клиент. Продолжите после ожидаемой неудачи:
training-client blocked
Неудачный запрос заблокированного клиента имеет смысл только при работающем разрешённом пути. Остановка веб-службы нарушила бы оба пути и не продемонстрировала требуемую политику.
Вернитесь в Kali и изучите счётчики после тестов:
kali
sudo iptables -L INPUT -n -v --line-numbers
Счётчики нужных правил должны увеличиться. Вы проверили реальное поведение трафика и текст правил; Terminal хоста LabEx остаётся доступным на всём протяжении упражнения.
Резюме
Вы изучили политики цепочек, добавили упорядоченные правила по источнику для одной службы, сохранили и восстановили конфигурацию упражнения и проверили реальный доступ двух клиентов. Разрешённый источник и служба остались доступны, а назначенному источнику отказано.



