Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #84, ДЕКАБРЬ 2005 г.

Тук-тук, это я!

Степан Ильин aka Step

Хакер, номер #084, стр. 084-032-3


Рассмотрим это на примере линуксового ipchains, поскольку он наиболее прост для понимания. Данный брандмауэр может либо принять (ACCEPT), либо отклонить (REJECT), или же проигнорировать (DENY) пакет, отправленный на конкретный порт. С первой реакцией, думаю, все понятно, но в чем разница между двумя последними? В обоих случаях порт-получатель считается закрытым, то есть он недоступен для подключения. Если порт настроен на реакцию REJECT, то сервер возвращает клиенту ICMP-ошибку с сообщением о том, что соединение отвергнуто. Клиенту (вернее, сканеру портов) становится ясно, что доступ блокируется файрволом, а на данном порте реально может крутиться какой-нибудь сервис. В случае, когда для порта установлен статус DENY, никакой реакции на соединение клиента не последует. Получается, что на данном порту нет никакого сервиса в принципе. Понимаешь разницу? Различные вариации я привел во врезке. Рекомендую ее посмотреть.

[конкретные реализации]

Существует довольно много реализаций технологии Port Knocking. Ее применяют в троянах, fingerprint-тулзах и просто администраторских прогах, которые позволяют подключиться к серверу на внешне закрытый файрволом порт. В качестве примера возьмем прогу, которая относится к последнему типу и называется SIG2 (www.security.org.sg/code/portknock1.html). Почему я ее выбрал? Да потому что это одна из немногих реализаций, которая имеет серверную часть одновременно для UNIX, и Windows-систем. Что касается других реализаций, рекомендую обратиться к сайту www.portknocking.org/view/implementations. Более того, наиболее удачные я выделил в сноске к этой статье.

Клиентская и серверная части SIG2 распространяются с исходниками в двух архивах sig2knockd-0.2.zip и sig2knockc-0.2.zip, которые можно закачать с официального сайта программы или найти на нашем DVD/CD. Само собой, нам понадобится и одно, и другое. Начнем с настройки серверной части.

1. Первое, что нужно сделать - распаковать архив sig2knockd-0.2.zip и переместить содержимое папки Release в заранее подготовленную директорию, например, c:\PortKnock. Помимо этого, нужно позаботиться о свежей версии драйвера WinPcap (www.winpcap.org). Если ты не устанавливал его в системе, сделай это сейчас. В противном случае, SIG2 работать не будет.

2. Теперь, когда бинарники программы находятся в нужной директории, можно приступать непосредственно к настройке. SIG2 является консольным приложением, поэтому конфигурирование демона осуществляется с помощью текстовых конфигов. Информация о пользователях хранится в файле user.txt. Синтаксис предельно прост: в каждой строке через двоеточие указывается имя пользователя, хэш его пароля, время создания записи. Само собой, вручную генерировать запись не придется - для этого в дистрибутив программы входит специальная утилита sig2knockd_useradd.exe. Просто запусти ее и введи имя пользователя/пароль. На выходе ты получишь необходимую строчку вроде «step:LpV+uMAw/C0Q3lYHcV9MVQ==:1099864780». Ее нужно без изменений вставить в файл user.txt и сохраниться. Рекомендую сразу же обозначить права доступа для этого файла, чтобы обычные пользователи не могли к нему обратиться. Так сказать, в целях безопасности.

Назад на стр. 084-032-2  Содержание  Вперед на стр. 084-032-4