пятница, 12 марта 2010 г.

Практика ИБ \ Аудит событий безопасности

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

Основной подход
  1. Определите, какие источники журналов и какие автоматизированные средства вы можете использовать в процессе анализа
  2. Организуйте копирование всех записей журналов в одно место, где вы сможете их анализировать
  3. Минимизируйте "шум", исключив из анализа обычные, повторяющиеся записи (предварительно убедившись, что они не представляют угрозы)
  4. Убедитесь, что вы можете положиться на отметки о времени событий в журналах, примите во внимание возможные различия во временных зонах
  5. Сосредоточьтесь на необычных для вашей среды событиях - последних изменениях, ошибках, изменениях состояния, событиях доступа, выполнении административных функций и т.п.
  6. Возвращайтесь назад во времени для реконструкции действий до и после произошедшего инцидента
  7. Совмещайте (коррелируйте) действия, зафиксированные в различных журналах, для получения полной картины произошедшего
  8. Создайте для себя предположение о произошедшем, а затем исследуйте журналы, чтобы подтвердить или опровергнуть это предположение
Потенциальные источники журналов событий безопасности
  • Журналы регистрации событий операционных систем серверов и рабочих станций
  • Журналы регистрации событий приложений (например, веб-серверов, серверов баз данных)
  • Журналы регистрации событий средств безопасности (например, антивирусных программ, средств контроля изменений, систем выявления/предотвращения вторжений)
  • Журналы регистрации событий внешнего прокси-сервера
  • Журналы регистрации событий приложений конечного пользователя
  • Не забудьте принять во внимание иные (не журнальные) источники событий безопасности
Типичное размещение журналов регистрации событий
  • ОС Linux и основные приложения: /var/logs
  • ОС Windows и основные приложения: Журнал регистрации событий Windows (Безопасность, Система, Приложение)
  • Сетевые устройства: обычно журналируются посредством Syslog; некоторые используют собственные местоположения и форматы
Что отслеживать в Linux
  • Успешный вход пользователя
    • “Accepted password” (пароль принят)
    • “Accepted publickey” (открытый ключ принят)
    • "session opened” (открыт сеанс)
  • Неудачный вход пользователя
    • “authentication failure” (неудачная аутентификация)
    • “failed password” (неверный пароль)
  • Выход пользователя
    • “session closed” (сеанс закрыт)
  • Изменение или удаление пользовательской учетной записи
    • “password changed” (изменен пароль)
    • “new user” (создан новый пользователь)
    • “delete user” (удален пользователь)
  • Использование sudo
    • “sudo: … COMMAND=…”(использование sudo)
    • “FAILED su” (неудачная попытка использования su)
  • Сбои сервисов
    • “failed” или “failure”
Что отслеживать в Windows
  • Указанные ниже идентификаторы событий соответствуют Windows 2000/XP/2003. Для Vista/7 нужно добавлять к приведенному здесь номеру 4096 для получения правильного идентификатора события
  • Большинство приведенных ниже событий записывается в журнал "Безопасность"; многие из событий журналируются только на контроллере домена
  • События входа/выхода пользователей
    • Успешный вход - 528, 540; неудачный вход - 529-537, 539; выход - 538, 551 и т.д.
  • Изменения пользовательских учетных записей
    • Создание - 624; разблокирование - 626; изменение - 642; блокирование - 629; удаление - 630
  • Изменения пароля
    • Для своей учетной записи - 628; для другой учетной записи - 627
  • Запуск и остановка сервисов
    • 7035, 7036, и т.д.
  • Отказ в доступе к объекту (если включен соответствующий аудит)
    • 560, 567, и т.д.
Что отслеживать на сетевых устройствах
  • Контролировать следует как внутреннюю, так и внешнюю активность
  • Приведенные ниже примеры относятся к журналам Cisco ASA, однако для других устройств все аналогично
  • Разрешенный на межсетевом экраноме трафик
    • “Built … connection” (установлено соединение)
    • “access-list … permitted” (разрешен сетевой пакет в соответствии с ACL при включенной для правила опции LOG)
  • Заблокированный на межсетевом экране трафик
    • “access-list … denied” (блокирован сетевой пакет в соответствии с ACL при включенной для правила опции LOG)
    • “deny inbound” (блокировано входящее соединение)
    • “Deny … by” (блокирован сетевой пакет в соответствии с ACL; журналируется даже при выключенной опции LOG)
  • Объемы переданных данных (для выявления передачи больших объемов данных)
    • “Teardown TCP connection … duration … bytes …” (завершено ТСР-соединение, длительность, передано байт)
  • Использование полосы пропускания и ресурсов
    • “limit … exceeded” (превышен лимит)
    • “CPU utilization” (использование процессора)
  • Выявленные атаки
    • “attack from” (атака от)
  • Изменения пользовательских учетных записей
    • “user added” (пользователь добавлен)
    • “user deleted” (пользователь удален)
    • “User priv level changed” (изменены привилегии пользователя)
  • Административный доступ
    • “AAA user …” (доступ пользователя)
    • “User … locked out” (пользователь заблокирован)
    • “login failed” (неудачная попытка входа)
Что отслеживать на веб-серверах
  • Большое число попыток доступа к несуществующим файлам
  • Что-то похожее на код (SQL, HTML) в URL-запросах
  • Попытки доступа к отсутствующим у вас расширениям
  • Сообщения об остановке/запуске/сбое веб-сервиса
  • Доступ к рискованным страницам, которые принимают пользовательский ввод
  • Просмотр журналов регистрации событий на всех серверах пула
  • Код ошибки 200 на отсутствующих у вас файлах
  • Неудачная аутентификация пользователя
    • Коды ошибки 401, 403
  • Неверный запрос
    • Код ошибки 400
  • Внутренняя ошибка сервера
    • Код ошибки 500
Ссылки на дополнительные ресурсы:

3 комментария:

Dr Anton Chuvakin комментирует...

Спасибо за перевод. У меня никогда не дошли бы руки до этого :-)

eagle комментирует...

Пусть это будет моим маленьким вкладом в развитие ИБ :-)
Но основное спасибо Вам, за оригинальный текст!

mobi комментирует...

ого, маленький вклад. Спасибо всем. много полезной инфы