Управляйте инцидентом от обнаружения до восстановления
ЗавершеноКоординируйте участников, ограничивайте последствия, сообщайте о неопределённости и проверяйте восстановление. Превращайте выводы из инцидента в улучшения с назначенными ответственными.
Издатель TaigaКак мы пишем
Проверьте пониманиеRollback восстановил успешный экспорт, но пользователь сообщает о получении записей другой организации. Что делать дальше?Выполните упражнение
Чему вы научитесь
- Распределять координацию инцидента, техническую работу и коммуникацию.
- Выбирать меры ограничения последствий по влиянию и доступным доказательствам.
- Отделять восстановление сервиса от завершения последующей работы.
Объявляйте инцидент по его влиянию
Инцидент — событие, которое нарушает, ухудшает или ставит под угрозу работу сервиса настолько, что требуется согласованное реагирование. Уровни серьёзности и правила эскалации определяет ваша организация. Применяйте их с учётом влияния на пользователей, затронутых данных, длительности и масштаба.
Не ждите полного объяснения первопричины, прежде чем просить помощи. Чтобы начать координацию, достаточно ясно описать наблюдаемое влияние. Отделяйте подозрение на проблему безопасности от подтверждённого вывода.
Подготовьте порядок реагирования до релиза. Контакты, процедуры доступа, runbooks и каналы связи должны оставаться доступны при недоступности основного сервиса. Отработайте этот порядок на вымышленном инциденте.
Распределите обязанности до конфликтующих изменений
Координатор инцидента задаёт приоритеты и управляет решениями. Технические участники расследуют проблему и снижают последствия. Ответственный за коммуникацию информирует затронутых людей. Google SRE описывает эти обязанности как отдельные роли. Небольшие команды могут их совмещать, но вся работа должна быть покрыта. Реагирование на инциденты.
| Ответственность | Первоочередной вопрос |
|---|---|
| Координатор инцидента | Каковы последствия, текущий приоритет и следующее решение? |
| Технический участник | Какое разрешённое действие уменьшит последствия и как мы это проверим? |
| Ответственный за коммуникацию | Кому нужна информация, что известно и когда будет следующее сообщение? |
| Ответственный за сервис | Какие компромиссы между бизнес-целями и критерии восстановления применимы? |
| Реагирование на инциденты безопасности | Могли ли пострадать конфиденциальность, целостность, учётные данные или доказательства? |
Ведите одну общую хронологию. Записывайте время, наблюдение, действие, исполнителя и результат. Отделяйте факты от гипотез. Используйте общий часовой пояс и отмечайте ненадёжные временные метки.
Разберите вымышленный инцидент
Ниже всё время указано в UTC. Организация назначает координатора, когда сбой экспорта затрагивает нескольких клиентов.
| Время | Наблюдение или действие |
|---|---|
| 09:02 | Число ошибок экспорта превышает порог оповещения сервиса |
| 09:04 | Дежурный подтверждает неуспешные задачи; начинается координация инцидента |
| 09:07 | Команда приостанавливает новые экспорты через утверждённый механизм управления функцией |
| 09:10 | Пользователь сообщает о записях, которые могут принадлежать другой организации |
| 09:12 | Подключается команда реагирования на инциденты безопасности; нужные логи и идентификаторы артефактов сохраняют |
| 09:18 | Команда возвращает совместимую предыдущую версию через контролируемое развёртывание |
| 09:25 | Экспорт синтетических данных проходит; проверки границы доступа и расследование раскрытия продолжаются |
Полезное первое сообщение указывает затронутую функцию, известный масштаб, меры снижения последствий и время следующего сообщения. Оно не обещает срок исправления без доказательств. Не включайте записи клиентов в общее сообщение.
В 09:10 инцидент меняется. Восстановить успешный экспорт уже недостаточно. Команде нужно оценить возможное раскрытие, контролировать доступ, сохранить доказательства и привлечь ответственных за нужные решения.
Снижайте последствия, сохраняя контроль
Используйте проверенные runbooks там, где они применимы. Проверяйте предварительные условия перед rollback, переключением на резерв или изменением учётных данных. Предыдущая версия приложения может не понимать текущую схему базы данных. Переключение в другой регион может перенести те же повреждённые данные.
Разрешайте ИИ-ассистенту упорядочивать доказательства с удалёнными чувствительными данными или сравнивать гипотезы в утверждённых границах. Участники должны проверять его выводы. Логи и tickets — недоверенные входные данные, а не разрешение выполнять их содержимое.
Для экстренного доступа нужны разрешённая цель, ограниченный срок и запись аудита. Срочность не делает предложенную агентом команду правильной.
Завершайте восстановление и последующую работу отдельно
Перед объявлением восстановления сервиса проверьте пользовательский сценарий, целостность данных, границы доступа и актуальность мониторинга. Зафиксируйте оставшиеся ограничения. Не закрывайте расследование безопасности, если его вопросы не решены.
Затем изучите условия, сделавшие инцидент возможным. Назначьте конкретную последующую работу с ответственными и критериями проверки. Разбор без поиска виноватых стремится к точному объяснению и полезным изменениям. Он не отменяет ответственность за выполнение этих изменений. Практика postmortem.
Продолжите уроками об операциях безопасности и замыкании цикла обратной связи.
Выполните упражнение
Используйте вымышленную хронологию инцидента из урока. Напишите первое сообщение о ситуации, назовите три роли реагирования и определите две проверки восстановления. Укажите одно действие, требующее решения команды реагирования на инциденты безопасности.
Скачать рабочий лист (Markdown)Если снять этот флажок, весь прогресс, сохранённый в этом браузере, будет удалён.
Прогресс остаётся в этом браузере. Без аккаунта и отслеживания.
Источники и дополнительные материалы
- Google SRE: Incident Response ↗
- Google SRE: Postmortem Culture ↗
- NIST: Incident Response Recommendations, SP 800-61 Rev. 3 ↗