Книга: Безопасность веб-приложений. Исчерпывающий гид для начинающих разработчиков
Назад: Обработка, регистрация и мониторинг ошибок
Дальше: Глава 5. Часто встречающиеся подводные камни

Мониторинг

Мониторинг обозначает как само внимание к тому, что происходит в системах, так и использование IТ-инструмента, автоматизирующего процесс проверки на наличие сбоев, замедлений, аварий и любых аномалий, которые он считает потенциально опасными или проблематичными. В этой книге под «мониторингом» подразумевается использование инструмента мониторинга.

Приложения должны проходить мониторинг так же, как и сеть. Когда приложение выходит из строя, ожидается, что сообщение об этом появится мгновенно. Никому не хочется узнать о такой серьезной проблеме из социальных сетей. Разумеется, по возможности вы постараетесь сыграть на опережение и разработать автоматические ответы на определенные предупреждения. Это можно сделать с помощью триггеров и бессерверных приложений (о последних мы поговорим позже).

СОВЕТ. Обработка, регистрация и мониторинг ошибок неразделимы. При отсутствии регистрации мониторинг не будет работать. Без отлова ошибок нельзя говорить о полноценных журналах регистрации. Очень важно периодически тестировать корректность работы этих систем.

Что и когда регистрировать

• Системные файлы регистрации не должны содержать конфиденциальные данные или персонально идентифицируемую информацию (PII).

• Необходимо регистрировать все результаты входа в систему: как неудачи и ошибки, так и успех.

• Необходимо регистрировать попытки входа, произведенные методом грубой силы (в данной книге они определяются как 10 или более последовательных неудачных попыток входа в систему менее чем за минуту или 100 или более неудачных попыток в течение часа).

• Необходимо регистрировать все события, связанные с безопасностью: аутентификацию пользователя, блокировку пользователя после нескольких неудачных попыток входа, неучтенную ошибку или ошибки проверки ввода.

• Файлы регистрации должны быть доступны для SIEM и автоматически передаваться в обработку.

СОВЕТ. Продвинутый злоумышленник попытается удалить информацию о своих действиях из файлов регистрации, поэтому необходимо обеспечить соответствующую защиту.

В файлах регистрации должна содержаться следующая информация.

• Событие какого типа произошло (почему это событие связано с безопасностью либо имя события).

• Когда произошло событие (временная метка).

• Где произошло событие (URL, включая субдомены).

• Источник события (IP-адрес).

• Если IP приходит из заголовка X-Forwarded-For, не забудьте тщательно его проверить. Он мог быть подделан.

• Результат события.

• (По возможности) личности любых лиц, пользователей или субъектов, связанных с событием.

Конечно, можно регистрировать больше информации о событии, чем указано здесь.

ВНИМАНИЕ. При определении того, являются ли данные конфиденциальными или персонально идентифицируемой информацией (PII), убедитесь, что вы рассматриваете их в совокупности, а не просто поле за полем, так как иногда PII становится комбинация из нескольких значений данных, собранных вместе.

Использование и защита файлов регистрации

• Файлы регистрации и журналы аудита должны быть защищены, даже их резервные копии.

• В идеале все файлы регистрации следует хранить в одном месте, в одном формате, чтобы их можно было легко обработать с помощью SIEM или других инструментов безопасности.

• Ни один посторонний человек не должен иметь доступ к файлам регистрации.

• Любой доступ к файлам регистрации (если кто-то открывает их, редактирует и т. д.) также должен регистрироваться в сетевых файлах регистрации.

• Файлы регистрации должны проходить мониторинг.

• Файлы регистрации должны храниться в зашифрованном формате.

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

• Файлы регистрации должны храниться на защищенном сервере или в другом безопасном месте.

• Файлы регистрации должны быть включены в общую стратегию резервного копирования данных организации.

• Файлы регистрации и их носители должны быть удалены и утилизированы так же, как и любая конфиденциальная информация.

ВНИМАНИЕ. Никогда не регистрируйте PII и другие конфиденциальные данные, такие как SIN, пароли или даты рождения. PII – это информация, относящаяся к идентифицируемому лицу.

Для получения более подробной информации по этому и многим другим вопросам, связанным с безопасностью приложений, ознакомьтесь с чрезвычайно полезным проектом «памятки OWASP».

Упражнения

• Когда следует использовать собственную идентификацию в сети (пользовательскую учетную запись), а когда – сервисную учетную запись? Приведите два примера для каждого из вариантов и поясните.

• Объясните возможные причины, по которым языки C и C++ все еще широко используются в индустрии разработки, когда существует Rust (язык, безопасный для памяти). Постарайтесь дать два или более примера, опишите соответствующие ситуации.

• Какой ваш любимый язык программирования или платформа? Почему?

• Какой язык программирования или платформа, по вашему мнению, являются наиболее безопасными? Почему?

• Почему необходимо обеспечивать защиту сессии пользователей?

• Что может сделать злоумышленник, если ему удастся завладеть чужой пользовательской сессией во время входа в систему интернет-банкинга?

• Как бы вы объяснили коллеге, не имеющему технических знаний, разницу между аутентификацией и авторизацией?

• Должны ли руководители высшего звена иметь особые привилегии в сети и других компьютерных системах? Если да, то почему? Если нет, то почему? Какие права вы бы им предоставили?

• Должны ли администраторы сетевой системы иметь особые привилегии в сети и других компьютерных системах? Если да, то почему? Если нет, то почему? Какие права вы бы им предоставили?

• Должны ли сотрудники техподдержки иметь особые привилегии в сети и других компьютерных системах? Если да, то почему? Если нет, то почему? Какие права вы бы им предоставили?

• Ваш начальник говорит, что регистрация и мониторинг будут стоить слишком дорого. Как вы объясните их ценность и важность с точки зрения обеспечения безопасности? Изложите свои доводы в одном абзаце. Не забудьте убедиться в том, что описываете возможные риски для бизнеса понятным для начальника языком (это умный, но не слишком технически подкованный человек). Если вы сформулируете свои мысли чересчур сложно, то не убедите начальника и провалите задание.

Назад: Обработка, регистрация и мониторинг ошибок
Дальше: Глава 5. Часто встречающиеся подводные камни