Безопасность сайтов в Узбекистане: защита от DDoS-атак и взломов
Большинство взломов на локальном рынке — не целевая атака, а автоматический сканер, нашедший необновлённую CMS. Защита начинается с гигиены, а не с дорогих решений.
От чего защищаемся на самом деле
Массовое сканирование известных уязвимостей: ботнеты обходят интернет и пробуют эксплойты для популярных CMS и плагинов. Это фон, который бьёт по всем и не зависит от размера бизнеса.
Подбор паролей к админке и панели хостинга, SQL-инъекции и XSS в самописных формах, загрузка исполняемых файлов через незащищённую форму отправки документов — четыре сценария, покрывающие большую часть инцидентов.
Целевой DDoS чаще прилетает по сезонным причинам: перед крупной распродажей, во время тендера, в высокий сезон у сервисов доставки. Волюметрические атаки на L3/L4 забивают канал, а L7 имитируют обычных пользователей и опаснее для сайта.
Базовый периметр, который закрывает большинство рисков
HTTPS обязателен на всём сайте с редиректом 301 с http, заголовком HSTS и автоматическим обновлением сертификата. Смешанный контент по http внутри защищённой страницы обнуляет смысл сертификата.
Обновления ядра CMS, плагинов и зависимостей — не косметика, а основная работа по безопасности. Заведите регламент: проверка обновлений раз в две недели и немедленная установка критических патчей.
Двухфакторная аутентификация в админке, панели хостинга и у регистратора домена. Ограничьте доступ к админ-панели по списку IP там, где это возможно, и уберите её с предсказуемого адреса.
CDN и WAF как первая линия
Прокси-CDN уровня Cloudflare решает сразу три задачи: скрывает реальный IP сервера, фильтрует объёмные атаки на своей стороне и раздаёт статику ближе к пользователю. Для локальных проектов это ещё и заметный выигрыш в скорости.
После подключения CDN обязательно закройте сервер файрволом так, чтобы 80 и 443 принимали трафик только с адресов CDN. Иначе атакующий, узнавший прежний IP из истории DNS, обходит защиту напрямую.
WAF с managed-правилами отсекает типовые инъекции и сканеры. Дополнительно настройте rate limiting на чувствительные точки: форма входа, восстановление пароля, отправка заявки, поиск по каталогу.
Защита форм и API
Валидация должна быть серверной — клиентская нужна только для удобства. Все запросы к базе только через параметризованные выражения, никакой конкатенации строк с пользовательским вводом.
Ограничение частоты обращений по IP и по номеру телефона, скрытое honeypot-поле и проверка времени заполнения формы отсекают ботов лучше, чем капча, и не мешают живому человеку. Капчу включайте только при подозрительном поведении.
Загрузку файлов ограничивайте по расширению и реальному типу содержимого, храните вне корня сайта и отдавайте через отдельный обработчик. Проверка только по расширению — классическая дыра, через которую заливают веб-шелл.
Данные, доступы и локальный контекст
Персональные данные клиентов — телефоны, адреса, история заказов — храните минимально необходимым объёмом и с шифрованием чувствительных полей. Вопрос локализации хранения данных граждан имеет регуляторное значение, и размещение базы стоит обсуждать до запуска, а не после.
Карточные данные не должны попадать на ваш сервер вообще: оплата через Payme, Click или Uzum проходит на стороне шлюза, а вы получаете только токен и статус. Любая своя форма ввода карты — риск, который не окупается.
Разграничьте права: у разработчика, контент-менеджера и владельца разные роли. Отдельно ведите список: кто имеет доступ к хостингу, домену, базе и платёжному кабинету — при увольнении сотрудника этот список экономит часы.
Бэкапы и порядок действий при инциденте
Бэкап должен быть ежедневным, автоматическим, храниться отдельно от сервера и регулярно проверяться восстановлением. Непроверенный бэкап — это не бэкап, а надежда, и обнаруживается это в худший момент.
При обнаружении взлома последовательность такая: снять сайт в режим обслуживания, сменить все пароли и ключи API, найти точку входа по логам, восстановить чистую копию, закрыть уязвимость и только потом возвращать сайт. Восстановление без закрытия дыры даёт повторный взлом за сутки.
Проверьте после инцидента индекс поисковика на предмет чужих страниц и статус сайта в Search Console — спам-страницы, залитые злоумышленником, живут в индексе дольше, чем сама уязвимость. Бюджет на базовый аудит безопасности на рынке — ориентировочно 3 000 000 – 10 000 000 сум.