Блог — статья

Безопасность сайта для малого бизнеса: минимальный набор мер

Сайты малого бизнеса ломают не потому, что кому-то интересна ваша компания. Их ломают массово, скриптами, вместе с тысячами других — просто потому что нашлась дырка. Хорошая новость: базовый набор мер закрывает почти все такие сценарии, и он не требует бюджета на «кибербезопасность».

29.07.2026 · EFIMOV DEV

От кого вы на самом деле защищаетесь

Забудьте про образ хакера, который выбрал вашу компанию целью. В 95% случаев происходит другое: бот обходит интернет подряд, дёргает известные адреса вроде /wp-login.php или /administrator, проверяет старые версии плагинов и подбирает пароли по словарю. Если что-то сработало — сайт попадает в чужую сеть: с него рассылают спам, льют трафик на казино, вставляют скрытые ссылки.

Из этого следует практический вывод. Вам не нужна защита от целенаправленной атаки — вам нужно перестать быть лёгкой мишенью. Это разные по стоимости задачи.

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

Пять вещей, без которых сайт не должен выходить в продакшн

Это минимум. Если чего-то из списка нет — это не «повышенный риск», это незакрытая дверь.

По каждому пункту можно требовать от подрядчика ответ «сделано, вот где посмотреть». Ответ «ну там всё стандартно» не считается.

  • HTTPS на всём сайте, с автоматическим продлением сертификата. Проверка: откройте сайт, кликните замок в адресной строке, посмотрите дату окончания. Если сертификат надо продлевать руками — однажды его не продлят.
  • Обновления. Для CMS — актуальные версии ядра и плагинов, для самописного проекта — обновлённые зависимости. Спросите, когда обновлялись в последний раз и есть ли тестовая копия, где обновления сначала прогоняют.
  • Пароли и двухфакторка. Отдельный пароль на админку, отдельный на хостинг, отдельный на домен, ничего не повторяется. Двухфакторная аутентификация включена на аккаунтах хостинга, регистратора домена и почты — это три точки, потеря которых означает потерю сайта целиком.
  • Бэкапы, которые лежат не на том же сервере. Если резервная копия хранится рядом с сайтом, она умрёт вместе с ним при шифровании или сносе аккаунта.
  • Разграничение доступов. Контент-менеджеру — роль редактора, не администратора. Подрядчику по рекламе — доступ к аналитике, не к серверу. Один общий админ-логин на всех — это гарантия, что вы никогда не узнаете, кто что сломал.

Бэкап — единственная мера, которая спасает всегда

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

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

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

Формы, заявки и персональные данные

Формы — самое уязвимое место типового сайта, но не в смысле взлома сервера. Через них приходит спам, а вместе с данными клиентов приезжает ответственность перед законом.

Про уведомление Роскомнадзора и тонкости 152-ФЗ говорите с юристом — это не задача разработчика. Задача разработчика — чтобы политика была опубликована, согласие технически фиксировалось, а данные не хранились в открытом виде там, где им не место.

  • Защита от ботов на формах: капча или невидимая проверка плюс ограничение частоты отправок с одного адреса. Без этого менеджер начнёт пропускать реальные заявки среди мусора.
  • Дублирование заявок минимум в два места — например, в почту и в базу или CRM. Форма, которая отправляет только письмо, однажды съест заявку молча, и вы об этом не узнаете.
  • Страница политики обработки персональных данных и чекбокс согласия рядом с кнопкой отправки, а не мелким текстом в подвале.
  • Не собирайте лишнего. Каждое поле «дата рождения» и «паспортные данные», которое вам не нужно для работы, — это данные, которые вы обязаны защищать без всякой выгоды для себя.
  • Проверьте, кто получает письма с заявками. Если это личная почта уволившегося сотрудника — у вас утечка, а не безопасность.

На что малому бизнесу тратиться не надо

Честно: большинству компаний с сайтом на несколько десятков страниц не нужны платный WAF, корпоративная антиDDoS-защита, пентест и сертификации. Это инструменты для тех, у кого сайт — источник основной выручки или хранилище чувствительных данных.

Отдельно про страшилки: если подрядчик продаёт вам «защиту от хакеров» абонплатой, но не может объяснить, что конкретно входит в работу и как вы проверите результат, — это продажа тревоги. Нормальный ответ звучит как «мы обновляем ядро и плагины, следим за бэкапами, реагируем на инциденты», и это обычно называется поддержкой сайта, а не безопасностью.

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

Что спросить у подрядчика на старте

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

Отдельный пункт, о котором забывают все: домен должен быть зарегистрирован на вас или вашу компанию, а не на студию. Хостинг — тоже на ваш аккаунт, с выдачей доступа разработчику. Это ваше имущество, и при расставании с подрядчиком вы не должны ничего у него выпрашивать.

  • На кого оформлены домен и хостинг и передаёте ли вы мне все доступы после сдачи проекта?
  • Куда и с какой периодичностью делаются бэкапы, можно ли увидеть восстановление?
  • Что происходит, если через полгода выйдет уязвимость в используемой CMS или библиотеке: это ваша зона ответственности или моя?
  • Есть ли тестовая копия сайта, где обновления проверяются до заливки на живой?
  • Как передаются пароли — в мессенджере текстом или через менеджер паролей?

Если сайт уже взломали

Порядок действий важнее скорости. Первое — не удаляйте ничего сразу: сохраните текущее состояние сайта и логи, иначе потом невозможно понять, как зашли. Второе — смените пароли: хостинг, админка, база, FTP/SSH, почта, регистратор домена.

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

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

Коротко

Минимальный набор помещается в один абзац: HTTPS с автопродлением, свежие версии всего, разные пароли с двухфакторкой на хостинге, домене и почте, бэкапы вне сервера с проверенным восстановлением, роли вместо одного общего админа. Начните с бэкапа: разверните его на тестовом домене и убедитесь, что он живой. Если после этой проверки выяснилось, что копий нет или доступы к домену не у вас — напишите нам в EFIMOV DEV. Мы делаем сайты, магазины и Telegram-боты на React и Node.js и берём проекты на поддержку; вилка цен «от» есть на сайте, точная смета — после брифа.

Частые вопросы

Нужен ли SSL-сертификат за деньги или бесплатного достаточно?

Для сайта-визитки, лендинга и большинства магазинов бесплатного сертификата от Let's Encrypt достаточно — шифрование там точно такое же. Платные сертификаты отличаются в основном юридическими гарантиями и проверкой организации, что имеет смысл для банков и крупных сервисов. Важнее не тип сертификата, а автопродление.

Мой сайт на WordPress. Это небезопасно?

Сам WordPress не хуже других — проблема в заброшенных плагинах и темах. Опасно не «сидеть на WordPress», а иметь двадцать плагинов, половина из которых не обновлялась годами. Пройдитесь по списку установленных расширений и удалите всё, чем не пользуетесь: каждый лишний плагин — отдельный вход.

Как понять, что сайт заражён, если он открывается нормально?

Три быстрых проверки. Откройте сайт в режиме инкогнито с мобильного — часто редирект на чужой сайт настроен только для мобильных или только для переходов из поиска. Поищите в Google или Яндексе запрос site:вашдомен.ру и посмотрите, нет ли посторонних страниц. Загляните в панель для вебмастеров: там появляются предупреждения о вредоносном коде.

Сколько стоит «сделать сайт безопасным»?

Отдельной услуги с таким названием быть не должно. Базовые меры — HTTPS, актуальные версии, бэкапы, разграничение доступов — это часть нормальной разработки и входят в проект. Дальше речь идёт о поддержке: регулярные обновления и реакция на инциденты. У нас на сайте опубликована вилка «от» по поддержке и по каждой услуге, точная сумма считается после брифа.

У нас Telegram-бот, а не сайт. Что там с безопасностью?

Основной риск — токен бота и ключи от подключённых сервисов, лежащие прямо в коде или в публичном репозитории. Их держат в переменных окружения на сервере. Второй пункт — проверка прав: бот не должен выполнять админские команды по одному факту, что пользователь их прислал. И третий — ограничение частоты запросов, иначе бота легко завалить.

Нужен сайт или автоматизация?

Расскажите задачу — вернёмся с оценкой и сроками в течение дня. Без долгих согласований.

Написать в Telegram