Files
sf/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking
2024-03-26 19:36:57 -04:00
..
2024-03-26 19:36:57 -04:00
2024-03-26 19:36:57 -04:00

Сетевая безопасность. Лабораторная работа №2 (HW)

Ход работы

  1. Установим пакет knockd на обе виртуальные машины

alt text

  1. На машине ubuntu предварительно настроим iptables, разрешив только установленные соединения и SSH.

alt text

  1. Проверим подключение c машины ubuntu2

alt text

Видим, что подключение отсутствует, при этом SSH сессия до машины не оборвалась, делаем вывод, что правила iptables настроены верно.

  1. После настройки пакетного фильтра необходимо инициализировать службу knockd. Для этого в файле /etc/default/knockd изменим следующую опцию и присвоить ей значение “1”:

alt text

  1. Создадим файл, заполненный one-time sequence, то есть набором одноразовых последовательностей, которые будут использовать для открытия порта.

alt text

  1. Настроим демон knockd так, чтобы он использовал созданный файл для открытия доступа к порту.

nano /etc/knockd.conf

alt text

  1. Сделаем автостарт службы и запустим её
systemctl enable knockd.service
systemctl start knockd.service
  1. С помощью nmap проверим доступность порта 1194/tcp на машине ubuntu

alt text

Видим, что nmap определяет порт как фильтрующийся.

  1. На машине ubuntu2 выполним команду knock и укажем адрес подключения и последовательность.

alt text

  1. На машине ubuntu проверим наполнение iptables и содержимое файла /etc/knockd/openvpn_ots

alt text

Видим, что в iptables появилось разрешающее правило, а в /etc/knockd/openvpn_ots закомментировалась строка с использованной последовательностью.

  1. Проверим подключение openvpn с ubuntu2 к ubuntu

alt text

Видим, что подключение выполнилось успешно.

  1. С помощью nmap ещё раз проверим доступность порта 1194/tcp на машине ubuntu

alt text

Видим, что теперь порт доступен.

  1. Воспользуемся второй последовательностью, и проанализируем лог tcpdump

alt text

Видим, что при использовании knock на адрес посылаются пакеты в указанной последовательности, на который целевой адрес не отвечает, но как мы видели ранее, в этот момент сервер делает запись в iptables, разрешающее подключение.

alt text

Выводы

Port Knocking — это метод усиления защиты путем скрытия открытых портов от несанкционированного доступа с помощью сочетания «стуков» на определенные порты. Метод может обеспечиваться с помощью демона knockd, который имеет большое количество параметров, одним из которых является one-time sequence, то есть одноразовые последовательсти -- набор "стуков", который может быть использован для открытия портов только один раз.

Выполнил: Харитонов Марат Русланович, студенческий билет М235314.