Руководство по DevOps (Ким, Уиллис) - страница 256

Создайте телеметрию защиты данных в своих средах

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

Мы должны следить и при необходимости получать оповещения о следующих событиях:


• изменения в операционной системе (например, в эксплуатации, в инфраструктуре разработки);

• изменение групп безопасности;

• изменения конфигураций (например, OSSEC, Puppet, Chef, Tripwire);

• изменения облачной инфраструктуры (например, VPC, группы безопасности, пользовательские привилегии);

• попытки XXS (cross-site scripting attacks, межсайтовый скриптинг);

• попытки SQLi (SQL-инъекций);

• ошибки серверов (например, ошибки 4XX и 5XX).


Также нужно проконтролировать, что у нас правильно настроено логирование и вся телеметрия отправляется в нужное место. Когда мы фиксируем атаки, то, помимо логирования самого факта атаки, можно также сохранять информацию о ее источнике и автоматически блокировать доступ, чтобы верно выбирать контрмеры.

Практический пример
Оснащение сред инструментами слежения в компании Etsy (2010 г.)

В 2010 г. Ник Галбрет работал директором по разработке в компании Etsy, в его обязанности входили контроль над информационной безопасностью, предотвращение незаконных операций и обеспечение защиты личных данных. Галбрет определил мошенничество так: «Неверная работа системы, разрешающая недопустимый или непроверяемый ввод данных в систему, который приводит к финансовым потерям, краже или потере данных, сбоям в работе системы, вандализму или атакам на другую систему».

Для обеспечения защиты данных Галбрет не стал создавать отдельную систему контроля фрод-мошенничеств или новый отдел информационной безопасности. Вместо этого он встроил эти задачи в весь поток ценности DevOps.

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


• Некорректное завершение программы в эксплуатации (например, ошибки сегментации, ошибки дампов памяти и так далее): «Особенно интересно было, почему некоторые процессы, запускаемые с одного из IP-адресов, снова и снова приводили к падению всей нашей среды эксплуатации. Такими же интересными были и эти “ошибки 500: внутренняя ошибка сервера”. Это были сигналы о том, что кто-то использовал уязвимое место, чтобы получить неавторизованный доступ к нашим системам, и эту дыру надо срочно заделать».