Реализация любого проекта — сложный процесс, к которому подключаются специалисты из разных сфер и квалификаций. Мы полностью отдаёмся созданию продукта, но даже самый качественный продукт требует постоянного ухода и поддержки во время эксплуатации.
В этой статье мы рассмотрим основные риски, которым подвержен любой сайт, а также расскажем о способах защиты.
DDoS-атака
Сама по себе она представляет искусственно направленный трафик, вовлекающий ресурсы железа вплоть до отказа сетевого оборудования. Главная цель таких операций – создание условий, при которых доступ пользователей полностью ограничивается к ресурсу или же затруднятся.
Защититься можно посредством заблаговременного подключения услуги защиты на уровне Дата-Центра. Например, Selectel.
2. Утечка данных
Данные могут быть украдены множеством способов:
Через эксплуатацию уязвимости серверного софта;
Через эксплуатацию уязвимостей CMS / Framework;
Через эксплуатацию уязвимости в коде;
Через кражу или взлом учётных записей администраторов;
Через социальную инженерию (например, звонки от “службы безопасности”);
Через перехват и дешифровку трафика;
Через утечки у третьих лиц (Дата-центр, облачное хранилище, интегрированные сервисы);
Через намеренные действия внутренних сотрудников или подрядчиков.
Минцифры России сообщили, что 70% от всех утечек случаются по вине сотрудников компаний, имеющих доступ к базам данных.
Защита существует – найм специализированных специалистов, проведение регулярных аудитов, пентестов (тестирование на проникновение).
3. Потеря данных
Повреждение или утрата информации в результате влияния различных факторов, случайных или намеренных действий, – то, от чего мало кто застрахован. Данные могут быть потеряны без возможности восстановления.
Причины:
Отсутствие бэкапов
Битые бэкапы
Устаревшие бэкапы
Слишком большой интервал между бэкапами
Злонамеренное уничтожение бэкапов
Физическая потеря носителя с данными и бэкапами
Чтобы защиться, необходима проработка схем и частоты бэкапов, дублирование бэкапов в нескольких Дата-центрах, регулярные тесты на восстановление.
4. DeFace
Взлом может иметь своей целью не кражу данных, а целенаправленное нанесение репутационных потерь через замену контента на сайте.
Для защиты нужно иметь в боевой готовности максимально актуализированную копию для быстрого переключения трафика на него и проведения отладочных работ на продакшене.
5. Падение под нагрузкой
Какой бы мощный ни был сервер, его ресурса не хватит для обслуживания пикового трафика.
Защита: развитие микросервисной архитектуры, использование балансировки и горизонтального масштабирования реплик, проведение регулярного нагрузочного тестирования.
6. Отсутствие контроля над процессами в продукте
Рано или поздно возникнут вопросы когда и кем были изменены какие-то настройки, добавлены, изменены или удалены данные, какие совершались действия, с какими ошибками сталкивались пользователи и т.д. Этих данных чаще всего нет.
Как защититься? Вместе с развитием бизнес-логики не стоит забывать также инвестировать в инструменты сбора и анализа данных, а также осуществлять их менеджмент. Телеметрия генерирует огромное количество данных, их нужно регулярно архивировать и выносить из системы, а также организовывать к ним интерфейсы для возможности анализа.
7. Неудовлетворительная адаптивность и производительность на слабом железе, устаревшем софте и медленном интернете
Проект может прекрасно работать на актуальных устройствах и при стабильном интернете. Но не работать полностью или частично, а также вести себя некорректно на устаревших моделях, медленном или прерывающимся соединении. В итоге у некоторых сегментов пользователей может быть негативный опыт при работе с проектом.
Защита – инвестировать в постоянные аудиты, рефакторинг и тестирование.
8. Появление багов вместе с запуском новых функций
Количество возможных сценариев, как запланированных, так и нет, может исчисляться десятками кейсов. И это даже для небольших участков бизнес-логики и интерфейсов. Плюс на каждый из них действует множитель в виде внешних факторов: семейство и версия браузера, размер и разрешение экрана, версия ОС и скорость соединения, часовой пояс клиента и т.д.
Крупные игроки, такие как, например, Amazon, даже для небольших страниц составляют и поддерживают более 300 автоматизированных тестов, которые обслуживают отдельные команды.
Чтобы защититься, нужно инвестировать в автотесты.
Запуская сайт, хочется, чтобы он работал как вечный двигатель, – радовал посетителей и никогда не ломался. Но он сломается, как это происходит со всем. Мы, работая в симбиозе с дополнительными сервисами, можем защитить проект, но нужно понимать, что это требует постоянного внимания как с нашей, так и с вашей стороны.