Проверка правил доступа на площадке

NmapBeginner
Практиковаться сейчас

Введение

River Festival требуется проверка доступа перед открытием сети. Гости и сотрудники должны читать публичное расписание; регистрация прибытия и выдача материалов доступны только сотрудникам. Ваша задача — наблюдать один сервер из двух сетевых позиций и подготовить точный обзор, включая неожиданный доступ и недоступность необходимых служб.

Guest Scanner и Staff Scanner — постоянные терминалы в разных сетевых пространствах имён одной учебной VM. У них разные маршруты и адреса источника, но общие файлы; это не независимые VM. Среда подготовлена, все данные синтетические. Разрешено сканировать только сервер 10.77.3.2 и TCP-порты 8311,8322,8333. Сохраните клиентов, маршруты, правила фильтрации, службы, данные и наблюдатели пакетов. Задача заключается только в наблюдении: правильный обзор может показать, что сеть ещё не готова к открытию.

Достаточно уметь вводить простые команды и понимать пути. Нужные понятия Nmap, HTTP и синтаксис оболочки объясняются; для подготовки рекомендуется Finding the Live Workshop Service. Администрирование межсетевых экранов и программирование не требуются.

Проверка рабочего контрольного ответа из обоих источников

Сначала посмотрите на нормальную публичную работу из каждой сети, а затем оценивайте ограничения доступа. Используйте именованные вкладки лабораторной, а не серверную или административную оболочку. Открытие вкладки сканера вводит в подготовленную сеть, не создавая её заново. У каждого терминала свои текущий каталог и состояние оболочки; файлы находятся на одной VM.

Guest Scanner

Выберите вкладку Guest Scanner. cd меняет рабочий каталог этой оболочки; последующие относительные пути отсчитываются от него:

cd /home/labex/project/nmap-access/guest

cat выводит текстовый файл. .. означает родительский каталог, поэтому следующий путь читает общее соглашение на уровень выше каталога роли:

cat ../plan.csv

CSV — значения, разделённые запятыми: заголовок называет столбцы, затем каждая строка описывает одну связь. Шесть строк связывают guest или staff со службой и TCP-портом. allow требует работающего соединения; block требует, чтобы этот источник не мог подключиться. Публичное расписание на 8311 разрешено обоим источникам. Регистрация на 8322 и материалы на 8333 предназначены только для сотрудников.

HTTP — используемый этими службами протокол запросов и ответов. curl получает URL. Сочетание -fsS завершает команду ошибкой при HTTP-ошибке, скрывает индикатор прогресса, но показывает ошибки; -o сохраняет ответ в файл со следующим именем. Адрес выбирает назначение, порт после двоеточия — точку прослушивания, а /manifest.csv — ресурс:

curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv
cat public.csv

Ожидаются заголовок и две записи schedule/RIVER-FEST: P01/Doors at 10 и P02/Talk at 11. Это настоящий ответ из гостевой сетевой позиции с адресом источника 10.77.1.2.

Staff Scanner

Перейдите на вкладку Staff Scanner. Её источник — 10.77.2.2, каталог роли отдельный:

cd /home/labex/project/nmap-access/staff
curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv
cat public.csv

Ожидаются те же две полные публичные записи. Работающий публичный контроль с обеих сторон не позволяет принять отключённый сканер за правильную блокировку. Два файла public.csv находятся в разных каталогах ролей. Если ошиблись в имени файла, прочтите ошибку, выведите каталог этого терминала через pwd и повторите показанный для роли cd перед новой попыткой. Не исправляйте маршруты и не перезапускайте службы.

Сканирование одних и тех же служб из каждой сети

Теперь соберите полные наблюдения из обоих источников. Состояние порта описывает то, что увидел этот сканер, а не неотъемлемое свойство сервера. open означает, что TCP-соединение принято. closed означает получение отказа; причиной может быть отсутствие слушающей службы или отклоняющий фильтр. filtered означает, что Nmap не смог определить, открыт ли порт, из-за блокировки проб или ответов. Не делайте вывод о конкретной первопричине только по состоянию.

Nmap исследует сетевые службы. -sT выбирает TCP connect-сканирование, которому здесь не нужны права на необработанные пакеты. -Pn пропускает предварительное решение об обнаружении хоста и проверяет указанные порты, даже если другие пробы остаются без ответа; само по себе это не доказывает, что хост работает. -n отключает обратное разрешение имён. --reason показывает основание результата, -p выбирает полный разрешённый набор портов, а -oX сохраняет структурированный XML в дополнение к обычному выводу терминала. Стандартный набор распространённых портов не заменяет это соглашение.

Nmap Scripting Engine, NSE, позволяет отправить выбранный прикладной запрос. --script выбирает один скрипт, --script-args передаёт его именованные параметры. http-title получает заголовок HTML; http-title.url=/about выбирает ресурс с описанием. Все три кандидата объявлены HTTP-службами. Начальный + явно запускает только этот скрипт даже на нераспознанном порту, в рамках известного HTTP-контекста. Это не общая рекомендация принудительно запускать произвольные скрипты для посторонних служб. Точный текст версии продукта не требуется.

Guest Scanner

Перейдите в Guest Scanner, оставаясь в /home/labex/project/nmap-access/guest. Сначала прочтите справку выбранного скрипта с --script-help:

nmap --script-help http-title
nmap -sT -Pn -n --reason --script=+http-title --script-args=http-title.url=/about -p 8311,8322,8333 -oX scan.xml 10.77.3.2

Дождитесь Nmap done. Порты 8311 и 8322 должны быть open с настоящими заголовками публичного расписания и регистрации сотрудников. Порт 8333 — filtered. Гость достигает службы только для сотрудников, поэтому успешный публичный контроль ещё не означал полноценную проверку доступа.

Staff Scanner

Перейдите в Staff Scanner, оставаясь в /home/labex/project/nmap-access/staff. Выполните такое же ограниченное исследование из этой сетевой позиции:

nmap -sT -Pn -n --reason --script=+http-title --script-args=http-title.url=/about -p 8311,8322,8333 -oX scan.xml 10.77.3.2

Ожидаются 8311 и 8322 open, а 8333 closed. Следовательно, сотрудник не может подключиться к необходимой службе. Ответы с заголовками помогают определить отвечающие HTTP-кандидаты; обычное имя SERVICE само по себе не доказывает прикладную идентичность.

Это два реальных сканирования, а не один результат, переименованный для двух источников. Файлы scan.xml каждой роли и существующий трафик источников подтверждают обзор. Если выбраны неверные вкладка, цель или порты, повторите исправленное полное сканирование из нужного сканера. После прерывания дождитесь полного нового запуска. Переименование текста в XML или копирование файла другой роли не создаёт отсутствующих наблюдений источника.

Передача обзора доступа с сохранением исходной среды

Преобразуйте шесть наблюдаемых связей в точный обзор для передачи владельцу. Начните в Staff Scanner, в /home/labex/project/nmap-access/staff. Не меняйте исходную среду: обзор может быть завершён, даже если доступ требует последующего исправления.

Для строки allow состояние open соответствует соглашению; closed или filtered означает unavailable. Для строки block открытый порт — unexpected-open; closed или filtered соответствует наблюдаемому ограничению соединения. Вывод относится только к указанным источнику, цели, протоколу, портам и моменту наблюдения. Он не гарантирует все сетевые пути и не устанавливает точную причину отказа.

Столбцы отчёта: source,service,port,expected,observed,verdict. Связывайте источник и службу с их собственными доказательствами. Записывайте фактическое состояние, не заменяя все неоткрытые результаты одним словом. Соглашение требует выдачи материалов сотрудникам, хотя сейчас состояние closed: это проблема, а не правильная блокировка.

Here-document с кавычками передаёт следующие строки в cat буквально. > заменяет только названный отчёт; завершающий CSV должен стоять один на строке. ../access-review.csv помещает общий обзор в родительский каталог:

Staff Scanner

cat > ../access-review.csv <<'CSV'
source,service,port,expected,observed,verdict
guest,schedule,8311,allow,open,meets
guest,checkin,8322,block,open,unexpected-open
guest,supplies,8333,block,filtered,meets
staff,schedule,8311,allow,open,meets
staff,checkin,8322,allow,open,meets
staff,supplies,8333,allow,closed,unavailable
CSV
cat ../access-review.csv

Отложите открытие сети: гостям неожиданно доступна регистрация, а сотрудникам недоступны материалы. Не закрывайте доступную службу и не меняйте фильтр ради удобства отчёта; задача передаёт находки владельцу. Одно состояние может означать разное при разных связях allow/block.

Guest Scanner

Перейдите в Guest Scanner и снова проверьте неизменённую публичную контрольную службу:

curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv

Staff Scanner

Вернитесь в Staff Scanner и сделайте то же самое:

curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv

Обе стороны должны по-прежнему получать две исходные публичные записи. Частные службы и исходная конфигурация сети тоже остаются для расследования. Если URL введён с ошибкой, исправьте известный URL и повторите запрос из той же роли, не копируя загрузку другой стороны.

Резюме

Вы проверили нормальную работу из обоих источников, собрали отдельные наблюдения Nmap и рассмотрели каждую связь доступа. Неожиданная доступность и недоступность необходимой службы — разные находки. Завершённый обзор сохраняет исходную среду и ограничивает выводы реально наблюдаемыми источниками и областью проверки.