Чек-лист безопасности интернет-магазина перед запуском рекламы и активными продажами.
Кто-то игнорирует Черную пятницу, кто-то составляет длинные списки покупок, а магазины готовятся как следует заработать. В это время сисадмины сайтов интернет-магазинов нервно тестируют серверы и измеряют допустимую нагрузку. Алина Кульпинская из Datami, компании по кибербезопасности, делится опытом и советует, как пережить Черную пятницу и в принципе любую распродажу. Вместе мы разбирась в том, как проверить безопасность сайта интернет-магазина.
Ошибка 1: путать хакерскую атаку с нагрузкой на сайт
Два года назад к нам обратился владелец интернет-магазина по продаже цифровой и электронной техники. Их сервер накрылся, когда на сайт одновременно зашло 200 пользователей (привет, распродажи). При показателе в 150 человек, страницы начинали грузится медленнее, товары подгружались с задержкой, а сами изображения вовсе перестали отображаться. Когда пользователей стало больше 190 – сайт перестал реагировать.
Позже оказалось, что клиент готовился к Черной пятнице, нанял подрядчика и тот провел DDOS-атаку (одновременная атака сайта со многих компьютеров, как результат – он перестает работать – прим. ред.).
Судя по всему, подрядчик не разобрался с целями клиента. Услуга помогла определить только то, насколько ресурс устойчив к подобной атаке. Поведение людей на сайте отличается от логики DDOS. Сервер получает запрос от пользователя и сохраняет его для дальнейшей коммуникации. Так как запросов очень много, сервер забивает ими память и «падает».
Решение. Клиенту нужно было нагрузочное тестирование: узнать, сколько пользователей одновременно ресурс способен выдержать, и как правильно распределить нагрузку от них.
Обычно для проверки сервера нужно несколько часов. Мы анализируем трафик, смотрим, как ведут себя пользователи на сайте, и составляем сценарии для ботов. Они как пользователи – клацают фильтры, добавляют в корзину, интенсивно прокручивают страницу в поисках нужного. В конце клиент получает оптимальные показатели сервера и рекомендации по распределению нагрузки.
Ошибка 2: низкий трафик из-за банального редиректа
К любой распродаже готовятся заранее. Отдел маркетинга запускает рекламные кампании и рассылки с условиями акций, аналитики рассчитывают количество пользователей, а системные администраторы готовят серверы к нагрузке. Но бывает, что трафик не растет или даже падает, несмотря на усилия маркетологов. Один из наших клиентов, владелец клиники пластической хирургии, обратился к нам с подобной проблемой. Он решил увеличить «средний чек» пациента и поставил скидку на вторую процедуру.
«В новый год – с новым телом! Условия акции на сайте» – написали в соцсетях и в рекламе поисковика. Но трафик стал вопреки ожиданиям падать. Мы покопались и нашли XSS-инъекцию или, проще говоря, «редирект». Пользователь кликал на сайте на раздел с акцией, а ресурс перенаправлял его на другой сайт – интернет-магазин косметики для похудения.
То есть, форму захвата (форма, куда клиент вносит свои данные для обратной связи – прим.ред.) добавили на сайт одновременно с запуском акции, но проверить ее на уязвимости просто не додумались. Если бы клиент не обратил внимание на аналитику, он мог бы понести серьезные убытки.
Ошибка 3: читать письма от бывших коллег
Год назад у нашего клиента, платформы для заказа билетов, внезапно пропал доступ к админ-панели сайта. У сисадмина получилось его вернуть: он восстановил бэкапы, которые хранились на другом сервере. Но через некоторое время ситуация повторилась, владелец сайта решил, что это подозрительно, и обратился к нам.
Мы выяснили, что системный администратор какое-то время назад получил письмо по электронной почте от другого сотрудника. Компания большая, некоторые отделы даже не пересекаются, и никто не обратил внимание, что этот сотрудник уже несколько месяцев не работал в компании. Его почту просто забыли деактивировать.
Как хакер получил доступ к почте? Нашел человека в социальных сетях, отследил место работы, которое часто указывают в профиле, а потом взломал электронный адрес. К письму он прикрепил файл – скриншот заказанных билетов. Сисадмин открыл его и таким образом запустил кейлоггер (специальная следящая программа – прим.ред.) на своем компьютере. Что он делает? Отслеживает все ваши действия на клавиатуре и мыши. Хакер получает данные, которые вы в текстовом формате вводите.
Так хакер получил доступ к сайту (через открытый SSH-порт). Он мог изменять контент, удалять файлы с сайта, а еще при помощи самописного парсера (программа для сбора данных с последующей их обработкой и анализом – прим. ред.) скопировать персональные данные пользователей (электронная почта или номера телефонов, например). Эту базу можно продать конкурентам жертвы, а они уже разошлют свое предложение людям.
Решение: Наша команда начала с лог-файлов (документ с информацией о том, что происходило с сервером или компьютером). Мы изучили всю историю активностей веб-ресурса. Потом провели диагностику уязвимостей. Она показала, что на сайте есть открытые порты, а они как раз сильно упрощают хакеру взлом. Специалисты клиента устранили эту уязвимость и изменили стандартные порты. Ему повезло, что были бэкапы. Убедитесь, что у вас тоже предусмотрена такая возможность.
На что обратить внимание перед распродажей?
Трафик. Очевидно, что любое снижение цен приводит к росту трафика. Соберите информацию о вашем обычном трафике, проанализируйте популярные категории товаров, посмотрите тепловую карту сайта (с помощью цветов показывает самые интересные для пользователей элементы – прим. ред.). В идеале, знать рост трафика по часам – все это можно посмотреть в аналитике сайта.
Функционал. Часто перед распродажами добавляют или новую страницу со специальными предложениями, или добавляют категорию с товарами по сниженной цене. Команда разработчиков и тестировщиков усиленно трудится над внедрением функционала и его бесперебойной работой. Но добавление каких-либо фичей стоит проверить на безопасность, о чем подробнее в следующем блоке.
Персонал. Уверена все слышали о фишинге и социальной инженерии. А если вы не знакомы с данными понятиями в двух словах расскажу что, как и почему стоит опасаться. Если сотрудники вашего предприятия воспринимают кибербезопасность как сюжет сериала про хакеров — плохи дела.
Фишинг — это создание точной копии известного ресурса, но с возможность украсть вводимые пользователями данные без подозрений. Самый очевидный прием — письмо от Gsuite с просьбой ввести свои данные для подтверждения личности. Сотрудник без подозрений вводит данные и, возможно, после 2 неудачных попыток он поймет, что письмо было фейковым. В таком случае нужно срочно сменить пароль.
Также, можно изучить профили в социальных сетях и использовать добытую информацию при общении с сотрудниками через почту или окно технической поддержки на сайте.
Какие меры безопасности предпринять?
Прежде всего, рекомендуем провести диагностику безопасности своего веб ресурса. Что она дает? Специалисты по безопасности тщательно проанализируют сайт вашего интернет-магазина и составят отчет о найденных уязвимостях. Каждой уязвимости присвоен уровень риска и рекомендация по ее устранению.
Обычно такая услуга занимает до 5 дней и затем команда разработчиков на стороне клиента может внедрить наши рекомендации в течении нескольких часов. Консультация с командой безопасников длительностью до 1 часа, конечно же, предусмотрена.
Зачем делать пентест?
Пентест (англ. penetration test, pentest — тест на проникновение) — предусматривает имитацию действий злоумышленника с целью не только найти уязвимость, но и найти метод воспользоваться полученной информацией. Никаких действий в отношении клиента вроде показательной краже базы данных быть не должно. Наша задача показать как хакер может использовать информацию, доступ к которой он получил.
Также, пентест имеет смысл когда ваша команда обновила функционал сайта. В таком случае команда безопасности будет целенаправленно искать дыры в добавленной контактной форме, например.
Пентест обычно занимает до 10 рабочих дней и рекомендуется к проведению на регулярной основе хотя бы раз в год (если никаких изменений на сайт не предусмотрено за этот период.
У меня есть Firewall, мой сайт могут повалить?
Firewall нужно настроить, как минимум. Мало того, что он просто есть, ваши специалисты по разработке должны настроить правила, которые будут защищать ваш веб ресурс.
От чего он не защитит, так это от целенаправленной DDos атаки. Что это такое? Это отправка большого количества запросов с разных IP-адресов на ваш ресурс. Целью такой атаки является нагрузить сервер настолько, чтобы он не справился и упал.
Наша команда настоятельно рекомендует провести тест на защиту от DDos не только перед черной пятницей, а при плановом пентесте например.