🚀 Бесплатный старт: 10 GiB облака и домен на 30 дней Все системы онлайн Войти в панель
Linklet

Блог · Основы безопасности

Основы безопасности для начинающих

Пять принципов, которые спасут ваш веб-проект от типовых атак. Без паники и без «прочитайте RFC 2119» — только то, что реально работает в боевых условиях.

Автор: Дмитрий Соколов, инженер по безопасности Linklet · Обновлено 12 марта 2025 · Чтение 7 минут

Тёмная консоль с лог-записями проверки безопасности веб-приложения
🛡️ 0 инцидентов за 30 дней ✔ SSL активен

Что внутри статьи

Мы разберём пять блоков: зачем вообще думать о безопасности ещё до запуска, какие ошибки совершают 9 из 10 новичков, что Linklet делает «под капотом» за вас, готовый чек-лист перед релизом и куда копать дальше.

  • Почему безопасность — это не «когда-нибудь потом»
  • Семь типовых ошибок при первом запуске
  • Встроенные механизмы защиты Linklet
  • Чек-лист из 10 пунктов перед запуском
  • Книги, курсы и инструменты для роста

Раздел 01

Почему безопасность важна

Пока ваш проект маленький, кажется, что «до меня не доиграются». На практике атаки автоматизированы: боты обходят новые домены в первые 20–40 минут после публикации.

Сканирование начинается сразу

Новый домен попадает в публичные реестры за минуты. Боты уже перебирают типовые пути: /wp-login.php, /admin, /.env. Без базовой защиты вы в открытом доступе.

Дороже предотвратить, чем лечить

Средний час простоя малого e-commerce стоит 3 500–12 000 ₽. Утечка базы клиентов — это ещё и штрафы по 152-ФЗ, потеря доверия и недели на восстановление. Базовая настройка занимает один вечер.

Доверие — валюта продукта

Покупатели и подписчики читают адресную строку. Если браузер показывает «Сайт не защищён» — до 60% пользователей уходят без действия. SSL и корректные заголовки — это часть пользовательского опыта.

Раздел 02

Частые ошибки новичков

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

01

Пароль «admin / 123456»

Самая популярная пара в логинах CMS. Боты перебирают её за 30 секунд. Минимум 16 символов, генератор, менеджер паролей.

02

Открытая база данных

MySQL с bind-address = 0.0.0.0 и без пароля — это приглашение. Доступ к БД должен быть только с внутреннего контура.

03

Секреты в коде

API-ключи, токены и пароли в .env в репозитории. Один push — и ключи живы в истории коммитов.

04

Слабые HTTP-заголовки

Отсутствие Content-Security-Policy, X-Content-Type-Options и Strict-Transport-Security открывает XSS и MIME-sniffing.

05

Не обновлённые зависимости

Критические CVE в npm-пакетах и плагинах часто остаются месяцами. Автопатчинг и регулярные сканы снижают риск на порядок.

06

Отсутствие бэкапов

«У нас же облако» — не про бэкапы. Если сервер стёрли — данные на диске сервера тоже. Нужны снапшоты и внешнее хранение.

07

Логин без 2FA

Утренний кофе, утерянный телефон, фишинговое письмо — и аккаунт администратора у злоумышленника. Двухфакторность закрывает 99% атак на учётные записи.

08

Публичные логи ошибок

Вернуть полный стек-трейс клиенту — это подарить карту приложения. Логи должны уходить в панель, а не в браузер.

Раздел 03

Как Linklet защищает ваши данные

Мы не просим вас собирать инфраструктуру с нуля. Ниже — то, что уже включено в любой тариф Linklet, без доплат.

security-audit.log ● live
$ linklet audit --project store
→ TLS 1.3 · HSTS · OCSP… ok
→ WAF: 1 482 атак отклонено (24h)… ok
→ Бэкап: снапшот 02:00 MSK… ok
→ Зависимости: 0 критических CVE… ok
✔ проект «store» — 98/100 по OWASP
panel.linklet.app/store/security
Автоматический аудиткаждые 6 ч
🛡️ WAF активен ⏱️ Снапшот 02:00

Что уже включено в каждый тариф

Linklet держит инфраструктуру, а вы получаете понятную панель с индикаторами. Ниже — ключевые механизмы, которые работают по умолчанию.

  • WAF и DDoS-защита — L3/L4-фильтрация на границе, L7-правила на уровне приложения, 2,4 Тбит/с пропускная способность.
  • Автоматический SSL — Let's Encrypt, автопродление, HSTS с max-age=31536000, поддержка TLS 1.3 и шифров AEAD.
  • Ежечасные снапшоты — 30 дней хранения, восстановление в один клик, отдельные бэкапы для БД и файлов.
  • Сканирование зависимостей — npm, pip, composer, go. Отчёт в панели, алерт на критические CVE.
  • Изоляция контейнеров — каждый проект в отдельном runtime с ограниченными правами, без доступа к соседям.
  • Журнал атак — все блокировки WAF с IP, URI и правилом, экспорт в CSV за любой период.

Раздел 04

Чек-лист безопасности перед запуском

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

Учётные записи и 2FA

Пароли от 16 символов, уникальные для каждого сервиса, включённая двухфакторность на админ-панелях, Git-хостинге и облаке.

Секреты вне репозитория

API-ключи, токены, пароли БД — только в переменных окружения. Проверьте историю коммитов на наличие случайно закоммиченных секретов.

Свежие зависимости

Обновите npm-пакеты, плагины и фреймворк. Прогоните npm audit или аналог, закройте критические CVE.

HTTP-заголовки

CSP, X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, Strict-Transport-Security. Проверьте через securityheaders.com.

Доступ к БД

База не слушает наружу. Подключение только с внутреннего IP или через VPN. Отдельная учётная запись для приложения с минимальными привилегиями.

Скрытые файлы

.env, .git, .htaccess не доступны по URL. В Nginx/Apache — явные deny для служебных директорий и файлов конфигурации.

Логи и алерты

Все ошибки уходят в панель, а не в браузер. Настроены алерты на всплеск 5xx, подозрительные IP и попытки входа с неверным паролем.

Бэкап и восстановление

Ежедневный полный + ежечасный инкрементальный. Последний раз восстановите бэкап в тестовой среде и убедитесь, что всё на месте.

Проверка на XSS и инъекции

Прогоните OWASP ZAP или Burp Suite в пассивном режиме. Особое внимание — полям ввода, URL-параметрам и заголовкам.

План действий при инциденте

Кто отвечает, куда звонить, как изолировать проект, как восстановить из бэкапа. Напишите на одной странице — и положите в заметки.

Раздел 05

Дальнейшее обучение и ресурсы

Безопасность — это не «выучил один раз». Вот что мы читаем и на чём держимся каждый месяц.

Инженер работает в терминале с инструментами безопасности

Куда копать дальше

Начните с одного ресурса в неделю — этого достаточно, чтобы за полгода выйти на уверенный уровень.

  • OWASP Top 10 (2021) — канонический список главных угроз веб-приложений. Прочитайте каждый пункт и найдите его в своём проекте.
  • OWASP ZAP — бесплатный сканер. Прогоните в пассивном режиме на staging-окружение перед каждым релизом.
  • PortSwigger Web Security Academy — практические лаборатории по XSS, SQL-инъекциям, аутентификации. Бесплатно.
  • Книга «The Web Application Hacker's Handbook» — классика, устаревает местами, но логика мышления остаётся.
  • Блог Linklet по безопасности — раз в месяц публикуем разбор реальных атак из наших WAF-журналов (без IP и клиентов).
  • Курсы SANS CISO / SWE — если хочется системно: от основ до аудита. Дорого, но окупается в первые полгода.

Применить на практике

Запустите проект на Linklet и получите WAF + SSL бесплатно

30 дней без карты. Встроенная защита, ежечасные бэкапы и панель с индикаторами безопасности — уже в первом деплое. Прогоните свой чек-лист и сравните.

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

Коротко о главном

Нет. WAF включён в каждый тариф: L3/L4-фильтрация на границе и L7-правила на уровне приложения. Дополнительные правила можно настроить в панели под свой трафик.
Изолируйте проект (переключите на maintenance-режим), восстановите последнюю чистую версию из бэкапа, обновите зависимости и прогоните сканер. Если данные могли утечь — уведомите пользователей в соответствии с 152-ФЗ.
Автоматический аудит в Linklet — каждые 6 часов. Глубокий ручной аудит (OWASP ZAP, Burp) — перед каждым релизом и раз в квартал для продакшена с платёжной системой.
Да. Все блокировки WAF хранятся 90 дней с IP, URI, правилом и временем. Экспорт в CSV доступен в панели. Для тарифов Business+ — 1 год.
Да. Поддерживаем Let's Encrypt (по умолчанию), DigiCert, Sectigo и собственные PEM-ключи. Автопродление работает для всех типов.