4.3 KiB
Сетевая безопасность. Лабораторная работа №2 (HW)
Ход работы
- Установим пакет
knockdна обе виртуальные машины
- На машине
ubuntuпредварительно настроимiptables, разрешив только установленные соединения и SSH.
- Проверим подключение c машины
ubuntu2
Видим, что подключение отсутствует, при этом SSH сессия до машины не оборвалась, делаем вывод, что правила iptables настроены верно.
- После настройки пакетного фильтра необходимо инициализировать службу knockd. Для этого в файле /etc/default/knockd изменим следующую опцию и присвоить ей значение “1”:
- Создадим файл, заполненный
one-time sequence, то есть набором одноразовых последовательностей, которые будут использовать для открытия порта.
- Настроим демон
knockdтак, чтобы он использовал созданный файл для открытия доступа к порту.
nano /etc/knockd.conf
- Сделаем автостарт службы и запустим её
systemctl enable knockd.service
systemctl start knockd.service
- С помощью
nmapпроверим доступность порта1194/tcpна машинеubuntu
Видим, что nmap определяет порт как фильтрующийся.
- На машине
ubuntu2выполним командуknockи укажем адрес подключения и последовательность.
- На машине
ubuntuпроверим наполнениеiptablesи содержимое файла/etc/knockd/openvpn_ots
Видим, что в iptables появилось разрешающее правило, а в /etc/knockd/openvpn_ots закомментировалась строка с использованной последовательностью.
- Проверим подключение
openvpnсubuntu2кubuntu
Видим, что подключение выполнилось успешно.
- С помощью
nmapещё раз проверим доступность порта1194/tcpна машинеubuntu
Видим, что теперь порт доступен.
- Воспользуемся второй последовательностью, и проанализируем лог
tcpdump
Видим, что при использовании knock на адрес посылаются пакеты в указанной последовательности, на который целевой адрес не отвечает, но как мы видели ранее, в этот момент сервер делает запись в iptables, разрешающее подключение.
Выводы
Port Knocking — это метод усиления защиты путем скрытия открытых портов от несанкционированного доступа с помощью сочетания «стуков» на определенные порты. Метод может обеспечиваться с помощью демона knockd, который имеет большое количество параметров, одним из которых является one-time sequence, то есть одноразовые последовательсти -- набор "стуков", который может быть использован для открытия портов только один раз.
Выполнил: Харитонов Марат Русланович, студенческий билет М235314.












