Перейти к основному содержимому
Все статьи
Помощь

Сайт взломали: первые шаги и правило 72 часов в Германии

Коротко

  • Первый рефлекс — всё удалить — уничтожает следы, без которых не выяснить причину.
  • Срок 72 часа по ст. 33 DSGVO отсчитывается с момента, когда вы узнали, а не когда взломали, и выходные в него входят.
  • Предварительное уведомление с неполными данными прямо разрешено и лучше, чем просроченное.
  • Даже если сообщать не обязаны, происшествие нужно задокументировать внутри компании.
  • После уборки нужно закрыть тот вход, через который пришли, иначе всё повторится.

Звонит клиент и говорит, что ваш сайт перебрасывает его на казино. Или Google показывает красное предупреждение вместо вашего магазина. Или хостер заблокировал аккаунт за рассылку спама.

Первый импульс почти всегда одинаковый: что-нибудь удалить и надеяться, что пронесло. Именно с этого начинать нельзя — и это вообще не тот пункт, по которому сейчас идёт самый срочный отсчёт.

Ниже — порядок, который работает: сохранить, оценить, сообщить, вычистить, закрыть. Я разработчик, не юрист и не специалист по форензике. Если у вас чувствительные данные — медицинские, платёжные, большая клиентская база — со второго шага нужен человек, который занимается этим профессионально.

Содержание
  1. Первый час: сохранять, а не удалять
  2. А точно ли что-то произошло?
  3. Часы на 72 часа
  4. Если риск высокий: ст. 34
  5. Чистка: в каком порядке
  6. Как выйти из предупреждения Google
  7. Профилактика заметно дешевле
  8. Частые вопросы
  9. Коротко

Первый час: сохранять, а не удалять

Прежде чем что-либо чинить, зафиксируйте состояние.

Сделайте полную копию сайта в том виде, в каком он сейчас, — файлы и база данных. Не перезаписывать, не чистить, просто отложить копию в отдельное место. Это ваш материал. Если позже придётся выяснять, утекли ли данные клиентов, восстановить это можно будет только из неё.

Сохраните логи. Серверные, журналы доступа, всё, что даёт хостер. Многие провайдеры хранят их считаные дни. Кто спохватится на третий день, часто не получает ничего.

Запишите время, когда вы заметили происшествие. Звучит мелко, но это точка отсчёта установленного законом срока — об этом чуть ниже.

Что можно и нужно сделать сразу: увести сайт в офлайн или поставить страницу-заглушку. Это защищает посетителей и останавливает текущий ущерб, не уничтожая следов.

Чего делать не стоит: развернуть бэкап и жить дальше. Это затирает всё и оставляет открытым вопрос, как злоумышленник попал внутрь. Если дыра осталась, через две недели сайт снова окажется в том же состоянии — только следов уже не будет.

А точно ли что-то произошло?

Не всякая странность — взлом. Прежде чем запускать всю процедуру, разберитесь, что именно вы видите.

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

Неоднозначные: сайт стал медленным, не работает форма, расширение выдаёт ошибку. Это может быть атака, но чаще — конфликт после обновления или переполненный ящик.

Момент, который многие трактуют неверно: неудачные попытки входа в логах — это не взлом. Любая публично доступная форма авторизации собирает их круглосуточно, автоматически. Значение имеет только успешная попытка.

Часы на 72 часа

Это та часть, которую почти все недооценивают, и причина, по которой «сначала спокойно починим» может обойтись дорого.

По ст. 33 DSGVO вы обязаны сообщить о нарушении защиты персональных данных компетентному надзорному органу незамедлительно и по возможности в течение 72 часов после того, как вам стало известно о нарушении.

Здесь решают три детали:

Срок начинается с момента, когда узнали, а не когда произошло. Если взлом случился три недели назад, а вы заметили сегодня утром — часы пошли с сегодняшнего утра.

72 часа идут непрерывно. Выходные и праздники входят. Кто узнал в пятницу в 16:00, обязан сообщить до понедельника до 16:00.

Не нужно закончить анализ. Ст. 33 абз. 4 прямо разрешает поэтапное уведомление: сначала сообщаете то, что известно, остальное досылаете. Предварительное уведомление допустимо — а просроченное придётся обосновывать.

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

И что действует даже без обязанности сообщать: ст. 33 абз. 5 требует документировать каждое происшествие внутри компании. Что случилось, какие данные затронуты, как вы оценили риск, что предприняли. Даже если вывод — уведомлять не нужно, сама оценка должна быть воспроизводимой.

Компетентный орган для предприятий, объединений и лиц свободных профессий — Landesdatenschutzbehörde вашей федеральной земли. У большинства есть онлайн-форма.

Если риск высокий: ст. 34

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

Это неприятно, но именно та ситуация, где открытость обходится дешевле всего. Клиенты прощают инцидент гораздо охотнее, чем ощущение, что месяцами от них что-то скрывали.

На практике различают три вида нарушений, и третий регулярно упускают:

  • Конфиденциальность — посторонние получили доступ к данным.
  • Целостность — данные несанкционированно изменены.
  • Доступность — данные утрачены или уничтожены, например шифровальщиком или удалением бэкапов.

Третий случай подлежит уведомлению, хотя наружу ничего не ушло. Безвозвратная потеря может означать высокий риск для людей.

Чистка: в каком порядке

Только теперь, имея сохранённую копию и решённый вопрос с уведомлением, беритесь за уборку.

Смените все доступы. Хостинг, база данных, учётные записи CMS, FTP, почта. В том числе те, которые кажутся незатронутыми. У кого был доступ к одному участку, часто был доступ к большему.

Проверьте, не появились ли чужие учётные записи. Частый приём: злоумышленник заводит себе дополнительный аккаунт администратора, чтобы вернуться после смены пароля. Пройдите по списку пользователей.

Разверните бэкап — но правильный. Вчерашняя копия чаще всего уже содержит взлом. Нужна копия до происшествия, а для этого сначала надо знать, когда оно случилось. Поэтому этот шаг и не идёт первым.

Обновите всё. CMS, расширения, темы, серверное ПО. Самый частый путь внутрь — известная уязвимость в устаревшем компоненте, для которой давно вышло обновление.

Закройте дыру. Если вы не знаете, как злоумышленник попал внутрь, инцидент не закрыт. Чистка без выяснения причины означает, что через несколько недель вы начнёте сначала.

Как выйти из предупреждения Google

Если Google пометил сайт как вредоносный, после чистки предупреждение само не исчезнет.

В Search Console для этого есть раздел «Проблемы безопасности». Там видно, что нашёл Google, и оттуда после чистки запрашивается проверка. Обычно занимает несколько дней.

Важно: запрашивайте проверку только когда уверены, что сайт чист. Отклонённая заявка растягивает процесс.

Если доступа к Search Console у вас нет, потому что её настраивал прежний исполнитель, — это отдельная проблема, и как её решать, описано в другой статье.

После снятия сайт возвращается в результаты, но не в ту же минуту. Если после этого он долго не находится вообще, это уже не остаток инцидента, а вопрос индексации — об этом здесь.

Профилактика заметно дешевле

После инцидента — правильный момент, чтобы изменить структуру, которая его допустила.

Автоматизируйте обновления или отдайте их на обслуживание. Подавляющее большинство взломов сайтов идёт через известные уязвимости в устаревшем ПО. Не через изощрённые атаки, а через автоматические сканеры, которые прочёсывают сеть в поисках установок, месяцами не видевших обновлений.

Уменьшайте площадь атаки. Каждое ненужное расширение — потенциально ещё одна дыра. Удалять, а не отключать.

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

Двухфакторная аутентификация на всех административных входах.

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

Про языковой барьер. Уведомление в надзорный орган подаётся по-немецки, и формулировки там канцелярские. При этом 72 часа идут. Если немецкий даётся тяжело — не садитесь переводить в момент инцидента. Разумнее заранее знать, кто вам с этим поможет, чем искать помощь в субботу вечером на вторые сутки отсчёта.

И правовой момент, который часто упускают: ответственность за безопасность данных лежит на вас как на владельце сайта, а не на исполнителе. Ровно как и за Impressum с политикой конфиденциальности — об этом отдельная статья.

Частые вопросы

Обязан ли я всегда сообщать о взломе в надзорный орган? Нет, но исключение уже, чем принято думать. Сообщать нужно, как только предположительно возникает риск для прав и свобод физических лиц. Обязанности нет, если такого риска предположительно не возникает — например, при данных, зашифрованных по современному уровню техники, с некомпрометированным ключом. Документировать инцидент нужно в любом случае.

С какого момента идут 72 часа? С момента, когда вам стало известно о нарушении, а не с самого происшествия. Срок идёт непрерывно, включая выходные и праздники.

А если через 72 часа я ещё не всё выяснил? Тогда подавайте предварительное уведомление. Ст. 33 абз. 4 DSGVO прямо разрешает досылать сведения поэтапно. Неполное уведомление в срок существенно лучше, чем полное после — при просрочке придётся обосновывать задержку.

Достаточно ли просто развернуть бэкап? Нет, и это может навредить. Бэкап затирает следы, по которым можно понять, утекли ли данные. К тому же свежая копия чаще всего уже содержит взлом. Сначала сохраните текущее состояние, выясните момент проникновения, и только потом разворачивайте копию, сделанную до него.

Какой орган мой? Для предприятий, объединений и лиц свободных профессий — Landesdatenschutzbehörde вашей федеральной земли. У большинства есть онлайн-форма для подачи.

Нужно ли сообщать клиентам? Только если для них предположительно возникает высокий риск — тогда незамедлительно, по ст. 34 DSGVO. При риске ниже этого порога достаточно уведомления в орган.

Я удалил файл с вредоносным кодом. На этом всё? Скорее всего нет. Если путь внутрь остался открыт, тот же код вернётся. А если был заведён дополнительный аккаунт администратора, одной смены пароля недостаточно. Инцидент закрыт тогда, когда причина найдена и устранена.

Коротко

Сохранять до того, как чинить. Отсчёт идёт с момента, когда заметили. Предварительное уведомление разрешено и лучше запоздалого.

И инцидент заканчивается не чистым сайтом, а закрытой дырой.

Если вы читаете это прямо посреди происходящего: самый важный шаг — первый. Сделайте копию, пока ничего не трогали.