Опубликован: 20.02.2006 | Доступ: свободный | Студентов: 2942 / 490 | Оценка: 4.22 / 3.75 | Длительность: 33:08:00
ISBN: 978-5-9556-0087-1
Лекция 8:

Средства анализа и управления

Ключевые слова: активный сенсор, межсетевой экран, группа, анализ данных, паралич, использование базы данных, вторжение, управление данными, ACID, NCC, OpenView, BMC, Лес, Unix, Windows, запуск, доступ, сервер, ПО, адрес, isp, net, пароль, программа, мониторинг, GPL, демон, цели безопасности, отношение, invalid, repeatability, incomplete, halt, SSH, Telnet, SUN, OS-9, release, словосочетание, BSD, rpm, дистрибутив, comprehensive, archiving, Си, утилиты командной строки, команда, конфигурационный файл, фоновый процесс, restart, recording, separate, регулярное выражение, возврат каретки, daemon, examination, pipe, чтение файла, tail, поиск, файл, example, personal, monitoring, инструкция, echo, цвет текста, blinking, underline, inverse, magenta, cyan, суффикс, BELLE, exec, SMB, e-mail address, subject, throttling, вывод, пейджер, TIP, программа безопасности, БД, базы данных, mysql, Apache, PHP, конфигурирование, дистрибутивность, создание каталогов, режим доступа, входное имя, перезагрузка системы, поиск в базе данных, корневой каталог, уровень выполнения, RC4, RC5, PS/2, цель атаки, контроль доступа, SSL, информация ограниченного доступа, httpd.conf, Subscribe, analysis, intrusion, CERT, emergency, team, группа реагирования, нарушение информационной безопасности, сенсор, уровень абстракции, пользователи базы данных, имя хоста, протоколирование, архивирование, сервер баз данных, управление системой, создание отчетов, sensor, ложная тревога, UNIQUE, машина баз данных, CMD, приглашение командной строки, im-черви, маршрутизатор, доменная имя, внутренний злоумышленник, ARIN, SAM, NetBIOS, SNAPSHOT, hour, graph, UDP, interface, Report, инициация, маршрутное имя, создание базы данных, чтение данных, scan, номер порта, CVE, google, поисковая машина, телеконференция, matte, список рассылки, client, переменные окружения, схема базы данных, список поиска, текущий каталог, temp, символьная ссылка, анализ защищенности, управление пользователем, MD5, база данных пользователей, подсеть, scheduling, внутренняя сеть

Рассматривавшиеся до сих пор средства предоставляют много полезной информации, которая может помочь в решении проблем сетевой безопасности. Но эти замечательные программы сами создают проблему - иногда они порождают слишком много информации. Одно-единственное сканирование большой сети с помощью Nessus способно породить отчет длиной в сотни страниц. Активный сенсор Snort может выдавать тысячи сигналов в день. Даже скромный межсетевой экран в состоянии посылать записи в журнал каждый час. Отслеживание всей этой защитной информации способно занять весь рабочий день. На самом деле, в крупных организациях нередко требуется небольшая группа сотрудников исключительно для отслеживания и анализа данных системы безопасности.

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

Обзор лекции

Изучаемые концепции:

  • Управление файлами журналов серверов
  • Использование баз данных и Web-серверов для защитных данных
  • Анализ данных систем обнаружения вторжений
  • Управление данными сканирования уязвимостей
  • Эксплуатация системы управления сканированием уязвимостей

Используемые инструменты:

Swatch, ACID, NPI и NCC

Чтобы избежать описанной ситуации, требуются средства, способные помочь организовать защитные данные и определить приоритеты действий. В этом отношении полезны многие коммерческие пакеты, такие как HP OpenView, BMC NetPatrol и NetIQ. К счастью для организаций с небольшим бюджетом, имеется несколько прекрасных пакетов с открытыми исходными текстами.

Хотя эти приложения с открытыми исходными текстами, строго говоря, не являются средствами безопасности, так как они активно не опрашивают и не защищают машины в сети, они во всех отношениях не менее важны, чем сетевые сканеры и системы обнаружения вторжений. Дело в том, что если вы "за деревьями не видите леса", то ваше положение ничем не лучше, чем раньше, когда защитных средств у вас не было.

Одним из примеров проблемы при анализе защитных данных служат журналы сообщений сервера. Большинство серверов, как UNIX, так и Windows, поддерживают журналы различной активности, происходящей в системе. Большая часть этой активности, такая как запуск служб, доступ пользователей и т.д., безвредна. Linux, например, поддерживает системные журналы в каталоге /var/log. Обычно имеется два общих журнала - syslog и messages - а также несколько других, более специальных. В этих текстовых файлах отражается все, что происходит в системе. На листинге 8.1 показано типичное содержимое файла messages из Linux.

Aug 17 04:02:06 earth syslogd 1.4.1: restart.
Aug 18 21:07:57 earth sshd(pam_unix) [17904]: session opened for user join by (uid=502)
Aug 18 21:12:39 earth su(pam_unix) [17960]: session opened for user root by john (uid=502)
Aug 18 21:12:52 earth su(pam_unix) [17960]: session closed for user root
Aug 18 21:13:44 earth sshd(pam_unix) [18008]: session opened for user join by (uid=502)
Aug 18 21:14:02 earth sshd(pam_unix) [18008]: session closed for user join
Aug 18 21:23:21 earth su(pam_unix) [18482]: session opened for user root by john (uid=502)
Aug 18 21:24:12 earth su(pam_unix) [18482]: session closed for user root
Aug 18 21:39:00 earth su(pam_unix) [10627]: session opened for user root by john (uid=502)
Aug 18 21:44:57 earth httpd: httpd shutdown succeeded
Aug 18 21:44:58 earth httpd: httpd: Could not detemine the server's fully qualified domain name, 
 using 127.0.0.1 for ServerName
Aug 18 21:45:00 earth httpd: httpd startup succeeded
Aug 19 23:39:02 earth sshd(pam_unix) [13219]: authentication failure:
 logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=tayhou-tnt-9-216-40-228-250.isp.net user=john
Aug 22 10:31:14 earth sshd(pam_unix) [16205]: session opened for user tony by (uid=500)
Aug 22 10:31:20 earth su(pam_unix) [16240]: session opened for user root by tony (uid=500)
Листинг 8.1. Файл messages из Linux

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

Файлы журналов содержат также информацию, представляющую интерес с точки зрения безопасности. Некоторые виды активности нередко служат предвестниками атаки. Неудачные попытки входа могут быть одним из таких признаков. На листинге 8.1 можно увидеть, что пользователю "john" было отказано во входе. Указано даже, откуда john пытался войти - с адреса, принадлежащего Isp.net. Если это была просто одиночная неудачная попытка, и вы знаете, что "john" использует Isp.net, то можно, наверно, не беспокоиться. Вполне возможно, что john просто неправильно ввел пароль. Однако, если вы видите несколько неудачных попыток входа, или эта единственная попытка предпринята с незнакомого адреса, то ситуацию следует проанализировать внимательнее. Другой сигнал неблагополучия - самопроизвольная перезагрузка сервера в необычное время. Это лишь немногие из протоколируемых событий, требующих вашего внимания.

В идеале вы должны ежедневно просматривать все файлы журналов. К сожалению, большинство из нас не имеют времени делать это даже раз в неделю; некоторые вообще не заглядывают в журналы. В этих файлах слишком много информации, чтобы можно было легко найти действительно важные данные. Было бы здорово иметь вспомогательную программу, которая ищет подобные вещи и информирует, когда они появляются, чтобы мы могли прореагировать своевременно, а не через несколько дней или недель. К счастью, имеется программа с открытыми исходными текстами, которая именно это и делает.

Swatch: Программа мониторинга журналов
Swatch

Автор/основной контакт: Todd Atkins

Web-сайт: swatch.sourceforge.net/

Платформы: Linux, большинство UNIX

Лицензия: GPL

Рассмотренная версия: 3.0.8

Списки почтовой рассылки:

Swatch-announce

В основном для обновления версий и новых выпусков. Не принимает сообщений.

Подписка по адресу list.sourceforge.net/list/listinfo/swatch-announce.

Swatch-users

Для общих справок, вопросов и информации о разработке.

Подписка по адресу list.sourceforge.net/list/listinfo/swatch-users.

Разные люди расшифровывают название Swatch по-разному - как Simple watcher (простой наблюдатель) или как Syslog watcher (наблюдатель syslog). В любом случае, Swatch - полезная программа, которая берет на себя наблюдение за системными журналами и поднимает тревогу только при появлении в них специфицированных вами записей. Swatch - это Perl-программа, регулярно просматривающая файлы основных журналов и отыскивающая определенные ключевые слова, которые вы можете задавать. Она способна выполняться в фоновом режиме как демон или как задание cron. Можно сконфигурировать Swatch для сигнализации о любых событиях в файлах журналов messages и syslog, указывающих на проблемы безопасности. Однако Swatch можно также применять для извещения почти о любом виде активности: о запуске определенной программы, о входе определенного пользователя в систему или о других событиях, отражаемых в файле журнала. Swatch можно также сконфигурировать для наблюдения за журналами определенных приложений вместо подразумеваемых общих файлов журналов.

Возвращаясь к применению Swatch в целях безопасности, отметим, что некоторые протоколируемые события имеют к безопасности непосредственное отношение. По умолчанию Swatch отслеживает следующие события:

  • Неудачные попытки входа. Критерии: В файле messages появляются слова Invalid, Repeated или Incomplete.
  • Крах системы. Критерии: В файлах журналов появляются слова panic или halt.
  • Перезагрузка системы. Критерии: Заголовок вашей ОС должен появляться в файлах журналов только при перезагрузке.

Вот некоторые другие связанные с безопасностью события, которые по вашему желанию может искать Swatch:

  • Сообщения Snort или Nessus. Если вы записываете данные Snort в файл syslog, то можно указать, чтобы Swatch искал вхождения слова snort. Оно будет появляться каждый раз, когда генерируется сигнал Snort.
  • Применение текстового редактора. Это может указывать на то, что кто-то в вашей системе пытается внести изменения в конфигурационные файлы. Конечно, если в системе часто используется текстовый редактор, будет порождаться слишком много ложных срабатываний.
  • Применение FTP, SSH или Telnet. Если кто-то загружает или выгружает файлы на вашей системе, это может означать проблему. Аналогично, если кто-то удаленно входит в систему за этим необходимо проследить. Однако, если вы сами часто так поступаете, то будет больше шума, чем пользы.

Примечание: По умолчанию программа Swatch сконфигурирована для поиска элементов, специфичных для операционной системы Sun. Лишь некоторые из них могут быть общими для Linux и других операционных систем на основе UNIX. Например, при поиске перезагрузки в системе Mandrake Linux вам придется заменить аргументы поиска Sun OS Release на Linux Mandrake Release. Если вы используете другую ОС, укажите элементы из сообщения о перезагрузке вашей ОС. Чтобы узнать текст сообщения, выполните перезагрузку, а затем найдите в файле messages соответствующее специфическое словосочетание.

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?