Тук-тук, это я! Степан Ильин aka Step Хакер, номер #084, стр. 084-032-5 Knock? (1 - Port = 2152, ISN = 69151B7F) Knock? (2 - Port = 65060, ISN = 7F154085) Knock? (3 - Port = 21070, ISN = 1D66E6E8) Если пароль и имя пользователя были введены правильно, очень скоро ты получишь сообщение Door is open at 192.168.0.2 Port 47189 for 30 seconds. Попробуем подключиться к нему telnet'ом: telnet 192.168.0.1 47189. И получаем баннер FTP-демона - «Gene6 FTP Server v3.6.0 (Build 23) ready...». Ура, мы действительно перенаправлены на нужный порт! Остается еще один вопрос: а как же поступить с файрволом, каким образом можно прикрыть порты? SIG2 разработан для тесной интеграции с брандмауэром pktfilter (www.hsc.fr/ressources/outils/pktfilter/download/). Это банальный пакетный фильтр, который работает подобно юниксовым файрволам и имеет текстовые конфиги. Проблем с ним возникнуть не должно. [бонусы port knocking] Скрытый метод идентификации и передачи данных на сервер, который внешне не имеет открытых портов, - одна из ключевых фишек технологии. Никаких методов по определению активной системы Port Knocking на удаленной машине не существует. Идея перебирать различные комбинации - бред по определению. Более того, каждая такая атака будет замечена любой мало-мальски работающей IDS и опытным админом, просматривающим системные логи. Как известно, пароли к различным сервисам и даже защищенному SSH, можно перехватить снифером. Но при использовании Port Knocking инфа передается с помощью серии попыток подключения к портам, а не в обычных сетевых пакетах. Поэтому без знания, какая именно система используется для реализации этого метода, и внутренностей самой системы, перехватить (вернее, правильно истолковать) приватные данные абсолютно невозможно. Чтобы еще больше снизить риск перехвата информации, данные можно «на лету» кодировать и передавать между сервером и клиентом в закриптованном виде. Важно заметить, что шифрование поддерживается большинством реализаций технологии Port Knocking. В Unix-системах интеграция технологии проходит на раз-два. Она не требует установки новых драйверов, изощренных файрволов и т.п. Port Knocking настраивается на работу со штатным файрволом и практически не требует затрат. [не обошлось без недостатков] Не надо думать, что использование Port Knocking - это панацея от всех бед. Для того чтобы установить подобное соединение, серверная и клиентская части должны знать одинаковую Knock-последовательность. Алгоритм составления последовательности и необходимые данные нередко хранятся на жестком диске. В случае кратковременного доступа к машине эту информацию можно извлечь и потом использовать в корыстных целях. Наиболее безопасным вариантом считаются реализации клиентов, которые хранят ключи Knock в зашифрованном виде на флеш-картах (получается своеобразный USB-ключ), а также поддерживающие пользовательские аккаунты (как в случае рассмотренной SIG2). Для комфортной работы технологии последовательность используемых портов должна быть достаточно длинной. Такой расклад обязательно приведет к увеличению потребляемого трафика и нагрузки на канал, что, естественно, не очень хорошо. |