«Простукивание портов» — не панацея, но простое и довольно эффективное средство

Все целенаправленные нападения на удаленные системы начинаются с исследования того программного обеспечения, которое установлено на атакуемой системе. Обычно для этого производится сканирование портов и анализ ответов системы. Такое сканирование можно сделать достаточно незаметно, так что потенциальная жертва ничего не заметит, — с разных IP-адресов, через длительные периоды времени. Поэтому предприятиям, которые заботятся о своей информационной безопасности, стоит предусмотреть меры для блокирования сканирования портов — например, с помощью разработанного недавно метода «простукивания портов» (port knocking).

Суть его такова. С IP-адреса «законного» клиента посылается кодовая серия запросов к закрытым портам сервера.

На Web-сайте Port Knocking Lab можно поэкспериментировать с процессом генерациии и расшифровки секретной последовательности «стуков»

Сервер принимает запросы, записывает их в журнал регистрации, но не отвечает на них. Специальная утилита просматривает журнал регистрации, и как только находит кодовую последовательность ошибок доступа, открывает соответствующий коду порт на доступ с указанного в последовательности IP-адреса.

Если же удаленный клиент попытается подключиться к службе напрямую — без предварительного «простукивания», то сервер выдает ему сообщение об ошибке. Таким образом, случайный перебор портов не позволит даже определить, какое программное обеспечение работает на исследуемом сервере.

Сейчас есть только демонстрационные версии клиентской и серверной программы для проведения этой процедуры. Они реализованы на Perl и распространяются на условиях открытой лицензии GPL. В ней для секретной последовательности используется непрерывный диапазон из 255 портов. Входной информацией для генерации секретной последовательности служат четыре числа IP-адреса и номер порта. Можно также использовать различные флаги, дату и время — в общем, любые данные, которые позволяют сделать каждую последовательность «стуков» уникальной. Для легальных пользователей простукивание можно включить в процедуру активации клиентского приложения. Если же злоумышленник попытается повторить ту же последовательность запросов, то она не сработает, потому как действительна только в определенное время и для единственного IP-адреса.

Эту схему авторизации можно использовать в тех точках корпоративной сети, где велика вероятность сканирования портов. Такими точками являются корпоративные Web-серверы и почтовые системы, а также межсетевые экраны и серверы доступа удаленных пользователей. В частности, для Web-серверов слабое место — именно службы удаленного управления и загрузки файлов, такие как ssh или FTP. Хотя и предусмотрены защитные механизмы, в них периодически находят ошибки, поэтому лучше не давать посторонним возможности прямого доступа к указанным службам. При этом, конечно, порт собственно Web-сервера должен быть открыт и его нужно защищать отдельно.

Для межсетевого экрана, кроме защиты служб, предоставляемых удаленным пользователям, нужно обеспечить защиту от DoS-атак. Технология простукивания может частично решить эту проблему, поскольку позволяет автоматически отсеивать пакеты, пришедшие с незарегистрированных IP-адресов. Если же компании принадлежит и маршрутизатор, который стоит перед сервером доступа, то такие неавторизованные пакеты можно отсекать уже на нем. В принципе с помощью процедуры простукивания можно авторизоваться и на промежуточных маршрутизаторах, которые, пропуская обращения к закрытым портам сервера доступа, авторизуют по ним пакеты для защищаемых им устройств.

Технология «простукивания» достаточно проста и не является панацеей. Но ей можно найти место в системе корпоративной защиты. Тем более что она не требует изменения серверного программного обеспечения, необходимо лишь добавить дополнительную утилиту и модифицировать процедуру подключения клиентов к корпоративной сети.

Эту защиту, правда, можно обойти, если злоумышленнику удалось получить доступ к конфигурационным файлам клиентской части port knocking. Тем не менее процедура взлома Web-сервера или межсетевого экрана значительно усложняется. Поэтому, скорее всего, новая разработка найдет свое место в системах корпоративной защиты.