Новости

Технические риски проектов: как избежать и что делать

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

В этой статье мы рассмотрим основные риски, которым подвержен любой сайт, а также расскажем о способах защиты. 

  1. DDoS-атака

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

Защититься можно посредством заблаговременного подключения услуги защиты на уровне Дата-Центра. Например, Selectel.

2. Утечка данных

Данные могут быть украдены множеством способов:

  • Через эксплуатацию уязвимости серверного софта;
  • Через эксплуатацию уязвимостей CMS / Framework;
  • Через эксплуатацию уязвимости в коде;
  • Через кражу или взлом учётных записей администраторов;
  • Через социальную инженерию (например, звонки от “службы безопасности”);
  • Через перехват и дешифровку трафика;
  • Через утечки у третьих лиц (Дата-центр, облачное хранилище, интегрированные сервисы);
  • Через намеренные действия внутренних сотрудников или подрядчиков.

Минцифры России сообщили, что 70% от всех утечек случаются по вине сотрудников компаний, имеющих доступ к базам данных.

Защита существует – найм специализированных специалистов, проведение регулярных аудитов, пентестов (тестирование на проникновение).

3. Потеря данных

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

Причины:
  • Отсутствие бэкапов
  • Битые бэкапы
  • Устаревшие бэкапы
  • Слишком большой интервал между бэкапами
  • Злонамеренное уничтожение бэкапов
  • Физическая потеря носителя с данными и бэкапами

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

4. DeFace

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

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

5. Падение под нагрузкой

Какой бы мощный ни был сервер, его ресурса не хватит для обслуживания пикового трафика.

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

6. Отсутствие контроля над процессами в продукте

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

Как защититься? Вместе с развитием бизнес-логики не стоит забывать также инвестировать в инструменты сбора и анализа данных, а также осуществлять их менеджмент. Телеметрия генерирует огромное количество данных, их нужно регулярно архивировать и выносить из системы, а также организовывать к ним интерфейсы для возможности анализа.

7. Неудовлетворительная адаптивность и производительность на слабом железе, устаревшем софте и медленном интернете

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

Защита – инвестировать в постоянные аудиты, рефакторинг и тестирование.

8. Появление багов вместе с запуском новых функций

Количество возможных сценариев, как запланированных, так и нет, может исчисляться десятками кейсов. И это даже для небольших участков бизнес-логики и интерфейсов. Плюс на каждый из них действует множитель в виде внешних факторов: семейство и версия браузера, размер и разрешение экрана, версия ОС и скорость соединения, часовой пояс клиента и т.д.

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

Чтобы защититься, нужно инвестировать в автотесты.

Запуская сайт, хочется, чтобы он работал как вечный двигатель, – радовал посетителей и никогда не ломался. Но он сломается, как это происходит со всем. Мы, работая в симбиозе с дополнительными сервисами, можем защитить проект, но нужно понимать, что это требует постоянного внимания как с нашей, так и с вашей стороны.