🗺️ Безопасность
Web-security, OWASP, аутентификация, шифрование, защита от атак.
С чего начать
OWASP Top 10
- OWASP Top 10 — обзор десятки уязвимостей
- SQL Injection — A03: Injection
- Broken Access Control — A01: контроль доступа
- XSS — A03: Cross-Site Scripting
- Insecure Deserialization — небезопасная десериализация
- Supply Chain Attacks -- npm — A06: уязвимые компоненты
- CSRF — Cross-Site Request Forgery
Аутентификация и авторизация
- Двухфакторная аутентификация (2FA) — второй фактор
- Хранение паролей — bcrypt, Argon2, scrypt
- Принцип наименьших привилегий — least privilege
- JWT, Session, OAuth 2.0, OpenID Connect, RBAC/ABAC — планируется
Шифрование
- HTTPS и SSL — TLS/SSL транспорт
- Шифрование данных -- основы — симметричное и асимметричное
- Хранение паролей — хеширование (bcrypt, Argon2)
- AES, RSA, Web Crypto API — планируется
Атаки на клиент
- XSS — Stored, Reflected, DOM-based
- CSRF — подделка межсайтовых запросов
- Clickjacking -- X-Frame-Options — клик-перехват
- Open Redirect — открытые редиректы
- Prototype Pollution — загрязнение прототипа
Атаки на сервер
- SQL Injection — инъекции в SQL
- Prepared Statements -- защита от SQL-инъекций — защита
- SSRF -- Server-Side Request Forgery — серверные запросы
- ReDoS -- Regular Expression DoS — DoS через regex
- Insecure Deserialization — десериализация
- Supply Chain Attacks -- npm — атаки на цепочку поставок
HTTP-заголовки безопасности
- Content Security Policy — CSP против XSS
- Clickjacking -- X-Frame-Options — X-Frame-Options
- HSTS, X-Content-Type-Options, Helmet — планируется
Best practices
- Веб-безопасность -- зачем и обзор угроз — общий обзор
- Экранирование и санитизация ввода — input validation, output encoding
- Принцип наименьших привилегий — минимум прав
- Секреты -- .env и переменные окружения — хранение секретов
- Dependency Scanning -- npm audit — npm audit, Snyk
- Rate Limiting и DDoS-защита — лимиты запросов
- WAF -- Web Application Firewall — фаервол приложений
- Логирование безопасности — security logging
- Secure SDLC -- безопасный жизненный цикл — SDLC
- SAST и DAST -- статический и динамический анализ — анализ кода
- Security Code Review -- чек-лист — ревью кода
- Incident Response -- план реагирования — реакция на инциденты
- Penetration Testing -- основы — пентесты
- Bug Bounty -- программы — bug bounty