Антон Даниленко
Honeypot – заведомо уязвимая система, настроенная администратором таким
образом, чтобы изучать методы атак хакеров на нее, собирать статистические
данные или специфическое программное обеспечение, используемое злоумышленниками
для вторжения в другие системы перехвата информации. Главным требованием для Honeypot
является то, что он должен выглядеть как абсолютно нормальный сервер, скажем, в
сети какой-нибудь промышленной корпорации, со всеми стандартными сервисами,
минимумом приложений, ориентированных на security, всяческих IDS и прочих тюнинговых
решений для слежения за работой пользователей системы и функционирующих под ее
управлением служб. При этом основная задача такого сервера – протоколирование
любой сетевой и локальной активности. Honeypot, как правило, используется
только для этого, на нем не ведется реальной работы, нет пользователей или
жизненно важных сервисов. В этой статье я хотел бы рассказать, каким образом
можно использовать технологии Honeypot для обнаружения атак, протоколирования
локальной активности пользователей на реальных серверах без заведомо известных
уязвимых мест. Главная проблема создания такой маниакально-следящей системы
безопасности в том, что очень сложно обеспечить ее невидимость, поэтому
представленное решение является неким компромиссом, позволяющим существенно
повысить уровень защищенности системы и при этом получать максимум информации
об атакующих.
За основу мы возьмем операционную систему FreeBSD,
одну из наиболее популярных в нашей стране, гибкую в настройке и поддерживающую
все необходимое программное обеспечение. Большинство Unix-систем объединяет то,
что они имеют единую систему протоколирования Syslog, реализация которой
настолько удачна, что ее поддержка реализована также в других системах,
например, в Windows, правда, к сожалению, не самой фирмой-разработчиком, а
сторонними энтузиастами. В ОС Linux и FreeBSD в качестве протоколирующего
сервиса используется syslogd, который имеет ряд недостатков и скудные
возможности в конфигурировании, в частности отсутствие возможности пересылать
протоколы работы служб через TCP/IP или по почте, возможности шифрования
передаваемых сообщений, протоколирование с использованием баз данных (mysql).
Все эти функции реализованы в более серьезном бесплатном продукте syslog-ng,
который мы и будем использовать. В качестве сопутствующего обеспечения будем
использовать stunnel для шифрования передаваемых системами протоколирования
данных через SSL.
Данную схему можно реализовать двумя способами. В
пределах одной физической машины и в масштабе целой сети. Рассмотрим варианты
на рисунках соответственно 1 и 2.