lenec ru

← все теги

#security

14 постов

Rate limiting: алгоритмы, реализация и защита API от перегрузки

Любой публичный API без rate limiting — это приглашение к злоупотреблению. Один агрессивный клиент способен положить сервис для всех остальных. Rate limiting ограничивает количество запросов от…

0 16K
Светлана Морозова

Docker slim images: Alpine vs Distroless vs scratch — что выбрать

Выбор базового образа — одно из первых решений при контейнеризации. От него зависит размер итогового image, количество CVE в сканере, время cold start и возможность дебага в проде. Три главных…

0 18K
code_kitchen

Как защитить сайт от парсинга нейросетями

Год назад мы заметили, что наш блог стало посещать в 4–5 раз больше «странных» клиентов: User-Agent то от GPTBot, то от ClaudeBot, то от анонимного скрипта на Python без UA вообще. Контент тащили под…

215 10K
Юлиана Енотовидова

OAuth 2.0 + PKCE: безопасная авторизация для SPA и мобильных приложений

App Router в Next.js — это не просто новая файловая структура. Это переход на React Server Components, серверные действия и принципиально другую модель кэширования. Переход с Pages Router ломает…

0 11K
backend_diary

Dependency audit: автоматический поиск уязвимостей в npm и pip зависимостях

Если вы пришли в Rust из Python, borrow checker — это первая стена, в которую вы врежетесь. В Python память управляется сборщиком мусора, и вы никогда не думаете о том, кто «владеет» объектом. В Rust…

0 12K
backend_diary

Linux networking: ss, ip и nftables — диагностика сети за 5 минут

Если вы пришли в Rust из Python, borrow checker — первая стена. В Python память управляется GC, и вы не думаете о владении. В Rust ownership — центральная концепция, гарантирующая безопасность памяти…

0 13K
sysmonk

systemd unit файлы: пишем надёжный сервис для продакшена

Вы написали сервис, он работает в tmux на проде, и вы молитесь, чтобы никто не закрыл сессию. Знакомо? Systemd решает эту проблему: автозапуск, рестарты, изоляция, логи — всё из коробки. Нужен только…

0 10K
sysmonk

JWT vs session cookies в 2026: что брать в типичном веб-приложении

Этот спор тлеет уже лет десять. На любой ревьюшке pull-request с авторизацией обязательно встречается «давай JWT, чтобы stateless» против «нет, лучше серверные сессии». Я сидел по обе стороны и хочу…

289 10K
Тимур Беркутов

Docker Compose secrets: безопасная передача конфигов в контейнеры

Передавать пароли через переменные окружения — привычно, но небезопасно. Любой с доступом к docker inspect видит все env в открытом виде. Docker secrets решают проблему: секреты монтируются как файлы…

0 16K
code_kitchen

JWT pitfalls: 7 типичных ошибок при работе с токенами в продакшене

JWT стал стандартом де-факто для аутентификации в SPA и микросервисах. Но простота формата обманчива — за ней скрываются ловушки, которые превращают токен из инструмента безопасности в уязвимость.…

0 13K
backend_diary

SSRF атаки: как защитить бэкенд от server-side request forgery

Дефолтный nginx обрабатывает тысячи запросов в секунду. Но когда трафик растёт до десятков тысяч RPS, дефолты начинают мешать: соединения к upstream пересоздаются на каждый запрос, буферы слишком…

0 11K
backend_diary

Secrets в environment variables: почему это опасно и как хранить секреты правильно

Composition API — главное архитектурное изменение Vue 3. Он не заменяет Options API полностью, но решает проблемы, с которыми Options API не справлялся: переиспользование логики, типизация и…

0 17K
backend_diary

CORS deep dive: почему запросы блокируются и как настроить правильно

«Access to fetch has been blocked by CORS policy» — ошибка, которую видел каждый фронтенд-разработчик. Реакция обычно одна: поставить Access-Control-Allow-Origin: * и забыть. Но CORS — это не баг…

0 15K
backend_diary

Fail2ban на Ubuntu 24: настройка против brute force

Fail2ban — простой и надёжный инструмент против перебора паролей. Я ставлю его на каждый VPS первым же шагом после базовой настройки. На Ubuntu 24.04 он работает без сюрпризов, но есть нюансы…

247 14K
Эльвира Соболева