Перейти к содержимому
>_ITDITDПлатформа веб-безопасности

Руководства по безопасности

Базовая безопасность для инди-разработчиков и малых операторов: весь стандартный набор

Чек-лист базовой безопасности для инди-разработчиков и малых операторов: отраслевые стандартные меры — MFA, гигиена секретов, мониторинг CVE, резервные копии — в порядке приоритета «ключи от королевства → секреты и код → приложение → обнаружение».

Опубликовано 2026-06-11 Обновлено 2026-06-11 8 мин чтения

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

Взгляд этого сайта: не «делать всё», а «заполнять в этом порядке»

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

Уровень 0 — ключи от королевства

MFA · домен · DNS · почта · платежи

Уровень 1 — секреты и код

секреты вне git · обнаружение в pre-commit · разделение/ротация ключей

Уровень 2 — само приложение

валидация ввода · аутентификация/сессии · TLS/заголовки · аутентификация почты

Уровень 3 — патчи, обнаружение, восстановление

CVE зависимостей · обновления ОС · SSH/FW · логи · резервные копии

Карта приоритетов этого сайта. Выше = «если захватят, всё рухнет». Заполняйте сверху вниз.
минуты
до эксплуатации открытого секрета
известные дыры
причина большинства серьёзных взломов
одно место
ключи королевства падают = полный крах
порядок
выигрыш при конечных ресурсах

Уровень 0 — защитите ключи от королевства (первым делом)

Это предпосылка для всего остального. Если ваш домен, почта или панель хостинга захвачены, любая другая мера обнуляется. Атакующий сбрасывает пароли от вашего имени, переписывает DNS, входит на ваш сервер. Поэтому это вы запираете в первую очередь.

1

Поставьте устойчивую к фишингу MFA

Требуйте MFA на регистраторе домена, DNS, панели хостинга, почте и платежах. По силе: passkey/аппаратные ключи (FIDO2) > приложение-аутентификатор (TOTP) > SMS. SMS взламывается через подмену SIM — только как крайнее средство.
2

Считайте почту «родительским ключом», берегите её сильнее всего

Сброс пароля почти каждого сервиса приходит на почту. Если падёт почта, всё падает по цепочке. Одна только почта стоит аппаратного ключа.
3

Храните коды восстановления и резервные коды безопасно

Держите коды восстановления MFA в менеджере паролей или физически безопасном месте. Потеряете их — заблокируете себя сами.
4

Разделяйте аккаунты, чтобы снизить единые точки отказа

Избегайте переиспользованных паролей на критичных аккаунтах; сделайте каждый уникальным с менеджером паролей, чтобы один взлом не распространялся вбок.

Уровень 1 — не дайте утечь секретам или коду

Учредительный инцидент этого сайта, как и многие в мире, происходит из пробела здесь: секреты вроде файлов .env и API-ключей, проскальзывающие в код или публичный репозиторий.

1

Держите секреты вне исходников и документов

Выносите API-ключи, пароли и строки подключения в .env и исключайте их из git (.gitignore). Вообще не вписывать их — сильнейшая мера.
2

Останавливайте секреты машинно до коммита

Хук pre-commit (gitleaks и т. п.) физически блокирует коммиты с секретами — сеть, которую даёт push protection в GitHub, построенная самостоятельно (→ самохостинг Git vs GitHub).
3

Если утекло, считайте, что утекло ВСЁ — ротируйте всё

При любом подозрении немедленно отзывайте и переиздавайте затронутые ключи/токены. Не оставляйте на «вероятно, нормально». Это лучше всего работает в реальном реагировании на инциденты (→ ключ утёк и пошли мошеннические счета).
4

Ограничивайте токены узко и держите их короткоживущими

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

Самохостинг Git? Дополнительная осторожность

Самохостинг из-за того, что «случайно публичный» в GitHub пугает, не убирает случайный коммит. Без встроенной блокировки секретов GitHub хук pre-commit для секретов обязателен на самохостинге. См. самохостинг Git vs GitHub: что безопаснее.

Уровень 2 — укрепите само приложение

Минимум для веб-приложения, которое вы выставляете наружу. Суть не в остановке новых атак, а в закрытии распространённых, хорошо известных дыр. Этот сайт переформулирует каждую в защиту на своих страницах глоссария.

1

Никогда не доверяйте вводу (закройте классические дыры)

Останавливайте порождаемые вводом пользователя SQL-инъекцию, XSS, SSRF и обход пути экранированием, параметризацией и белыми списками.
2

Сделайте правильными аутентификацию, сессии и доступ

Защищайтесь от CSRF, проверяйте доступ против IDOR (просмотр чужих данных) и ставьте контроль фреймов против кликджекинга.
3

Сделайте TLS и заголовки безопасности значимыми

Требуйте HTTPS, ставьте HSTS, CSP и подобное. Оцените свой сайт проверкой заголовков безопасности (соберите CSP с помощью конструктора CSP).
4

Предотвратите подделку почты

Если вы отправляете почту со своего домена, настройте SPF/DKIM/DMARC. Найдите пробелы проверкой аутентификации почты.

Уровень 3 — патчи, обнаружение, восстановление

Фундамент для «держать ущерб малым и быстро восстановиться даже после взлома». Мониторинг зависимостей вроде osv-scanner живёт здесь.

1

Машинно отслеживайте CVE зависимостей непрерывно

Заброшенные опубликованные CVE — главная причина инцидентов. Запускайте osv-scanner или pnpm audit в CI/cron (→ не отставать от CVE).
2

Автообновляйте ОС и сервер

Автоматизируйте обновления безопасности ОС (unattended-upgrades и т. п.). Не забывайте и патчи для вашего Git-сервера и промежуточного ПО.
3

Укрепите SSH и фаервол

Только SSH-ключи (аутентификация по паролю выключена, нет прямого входа под root), фаервол открывает только нужные порты, fail2ban замедляет перебор.
4

Наименьшие привилегии для сужения зоны поражения

Запускайте сервисы не от root, никогда не выставляйте БД/внутренние сервисы, отдельный SSH-ключ на хост — чтобы один взлом не каскадировал.
5

Резервные копии 3-2-1 + проверенное восстановление

Три копии, два носителя, одна вне площадки. Зашифрованные. И не просто «работает» — реально попробуйте восстановление хоть раз.
6

Храните логи, чтобы замечать аномалии

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

С чего начать

«Всё, прямо сейчас» нереалистично. Сравните порядок, который люди обычно берут, с тем, что рекомендует этот сайт.

Порядок, который люди обычно берут (неэффективно)

  • начинают с эффектной работы над уязвимостями приложения
  • оставляют MFA «на потом» бесконечно
  • есть резервные копии, но восстановление ни разу не пробовали
  • секреты в .env, но нет хука обнаружения

Порядок, который рекомендует этот сайт

  • Уровень 0: сначала запереть ключи от королевства (MFA, почта, домен)
  • Уровень 1: структурно остановить утечки секретов (обнаружение в pre-commit + политика ротировать-всё)
  • Уровень 2: закрыть классические дыры приложения
  • Уровень 3: дойти до «восстановимого» через мониторинг зависимостей, обновления, проверенные восстановлением резервные копии

Этот сайт тоже защищается в этом порядке

Этот сайт применяет тот же фундамент к себе: выделенный сервер без соседства (разделение зоны поражения) / отдельный ключ на хост / секреты никогда в git или документах / мониторинг CVE зависимостей перед каждым развёртыванием и ежедневно / резервные копии вне площадки на отдельный сервер / внешние запросы через границу безопасности. Сайт, который учит безопасности, не может иметь собственных дыр — поэтому мы прогоняем этот порядок приоритетов на себе первыми. Наш учредительный инцидент тоже произошёл не из новой атаки, а из единственного пробела в этом фундаменте. Поэтому мы и повторяем: фундамент прежде эффектной работы.

Читать дальше

FAQ

QКакую меру безопасности инди-разработчику настроить первой?
A

Защитить «ключи от королевства»: поставить устойчивую к фишингу MFA (passkey/аппаратные ключи) на регистратора домена, DNS, панель хостинга, почту и платёжные аккаунты. Если их захватят, любая другая мера обнуляется — поэтому они идут первыми.

QВсе базовые меры одинаково важны?
A

Нет. Есть чёткий порядок. Этот сайт рекомендует заполнять так: 1) ключи от королевства, 2) секреты и код, 3) само приложение, 4) патчи/обнаружение/восстановление. При конечных ресурсах сверху вниз снижает число инцидентов сильнее всего.

QСчитается ли мониторинг CVE зависимостей базой?
A

Да. Непрерывная машинная проверка зависимостей на известные уязвимости с помощью osv-scanner или pnpm audit теперь отраслевой стандарт. Большинство серьёзных взломов происходит из заброшенных известных дыр (CVE), а не из новых атак.