Мониторинг обозначает как само внимание к тому, что происходит в системах, так и использование IТ-инструмента, автоматизирующего процесс проверки на наличие сбоев, замедлений, аварий и любых аномалий, которые он считает потенциально опасными или проблематичными. В этой книге под «мониторингом» подразумевается использование инструмента мониторинга.
Приложения должны проходить мониторинг так же, как и сеть. Когда приложение выходит из строя, ожидается, что сообщение об этом появится мгновенно. Никому не хочется узнать о такой серьезной проблеме из социальных сетей. Разумеется, по возможности вы постараетесь сыграть на опережение и разработать автоматические ответы на определенные предупреждения. Это можно сделать с помощью триггеров и бессерверных приложений (о последних мы поговорим позже).
СОВЕТ. Обработка, регистрация и мониторинг ошибок неразделимы. При отсутствии регистрации мониторинг не будет работать. Без отлова ошибок нельзя говорить о полноценных журналах регистрации. Очень важно периодически тестировать корректность работы этих систем.
Что и когда регистрировать
• Системные файлы регистрации не должны содержать конфиденциальные данные или персонально идентифицируемую информацию (PII).
• Необходимо регистрировать все результаты входа в систему: как неудачи и ошибки, так и успех.
• Необходимо регистрировать попытки входа, произведенные методом грубой силы (в данной книге они определяются как 10 или более последовательных неудачных попыток входа в систему менее чем за минуту или 100 или более неудачных попыток в течение часа).
• Необходимо регистрировать все события, связанные с безопасностью: аутентификацию пользователя, блокировку пользователя после нескольких неудачных попыток входа, неучтенную ошибку или ошибки проверки ввода.
• Файлы регистрации должны быть доступны для SIEM и автоматически передаваться в обработку.
СОВЕТ. Продвинутый злоумышленник попытается удалить информацию о своих действиях из файлов регистрации, поэтому необходимо обеспечить соответствующую защиту.
В файлах регистрации должна содержаться следующая информация.
• Событие какого типа произошло (почему это событие связано с безопасностью либо имя события).
• Когда произошло событие (временная метка).
• Где произошло событие (URL, включая субдомены).
• Источник события (IP-адрес).
• Если IP приходит из заголовка X-Forwarded-For, не забудьте тщательно его проверить. Он мог быть подделан.
• Результат события.
• (По возможности) личности любых лиц, пользователей или субъектов, связанных с событием.
Конечно, можно регистрировать больше информации о событии, чем указано здесь.
ВНИМАНИЕ. При определении того, являются ли данные конфиденциальными или персонально идентифицируемой информацией (PII), убедитесь, что вы рассматриваете их в совокупности, а не просто поле за полем, так как иногда PII становится комбинация из нескольких значений данных, собранных вместе.
Использование и защита файлов регистрации
• Файлы регистрации и журналы аудита должны быть защищены, даже их резервные копии.
• В идеале все файлы регистрации следует хранить в одном месте, в одном формате, чтобы их можно было легко обработать с помощью SIEM или других инструментов безопасности.
• Ни один посторонний человек не должен иметь доступ к файлам регистрации.
• Любой доступ к файлам регистрации (если кто-то открывает их, редактирует и т. д.) также должен регистрироваться в сетевых файлах регистрации.
• Файлы регистрации должны проходить мониторинг.
• Файлы регистрации должны храниться в зашифрованном формате.
• Файлы регистрации должны быть доступны команде реагирования на инциденты, которая также обязана проверить историю их ведения, чтобы убедиться в том, что при расследовании инцидента специалист получит корректные данные.
• Файлы регистрации должны храниться на защищенном сервере или в другом безопасном месте.
• Файлы регистрации должны быть включены в общую стратегию резервного копирования данных организации.
• Файлы регистрации и их носители должны быть удалены и утилизированы так же, как и любая конфиденциальная информация.
ВНИМАНИЕ. Никогда не регистрируйте PII и другие конфиденциальные данные, такие как SIN, пароли или даты рождения. PII – это информация, относящаяся к идентифицируемому лицу.
Для получения более подробной информации по этому и многим другим вопросам, связанным с безопасностью приложений, ознакомьтесь с чрезвычайно полезным проектом «памятки OWASP».
• Когда следует использовать собственную идентификацию в сети (пользовательскую учетную запись), а когда – сервисную учетную запись? Приведите два примера для каждого из вариантов и поясните.
• Объясните возможные причины, по которым языки C и C++ все еще широко используются в индустрии разработки, когда существует Rust (язык, безопасный для памяти). Постарайтесь дать два или более примера, опишите соответствующие ситуации.
• Какой ваш любимый язык программирования или платформа? Почему?
• Какой язык программирования или платформа, по вашему мнению, являются наиболее безопасными? Почему?
• Почему необходимо обеспечивать защиту сессии пользователей?
• Что может сделать злоумышленник, если ему удастся завладеть чужой пользовательской сессией во время входа в систему интернет-банкинга?
• Как бы вы объяснили коллеге, не имеющему технических знаний, разницу между аутентификацией и авторизацией?
• Должны ли руководители высшего звена иметь особые привилегии в сети и других компьютерных системах? Если да, то почему? Если нет, то почему? Какие права вы бы им предоставили?
• Должны ли администраторы сетевой системы иметь особые привилегии в сети и других компьютерных системах? Если да, то почему? Если нет, то почему? Какие права вы бы им предоставили?
• Должны ли сотрудники техподдержки иметь особые привилегии в сети и других компьютерных системах? Если да, то почему? Если нет, то почему? Какие права вы бы им предоставили?
• Ваш начальник говорит, что регистрация и мониторинг будут стоить слишком дорого. Как вы объясните их ценность и важность с точки зрения обеспечения безопасности? Изложите свои доводы в одном абзаце. Не забудьте убедиться в том, что описываете возможные риски для бизнеса понятным для начальника языком (это умный, но не слишком технически подкованный человек). Если вы сформулируете свои мысли чересчур сложно, то не убедите начальника и провалите задание.