Please enable JavaScript.
Coggle requires JavaScript to display documents.
Я - безопасная разработка - Coggle Diagram
Я - безопасная разработка
MDS
media
Security dev rules
MDS, неймспейсница
не доверяем пользовательским данным
минимизация уязвимостей
Валидация (позитивным подходом - белые списки)
минимальность привилегий
деплой на Deploy/RTC или RTC/Nanny
gRPC
Использует Protocol Buffers
(пр-л сериализации струк-х данных)
уменьшает объём данных
большие трудности для HTTP/2 и браузера
реализует
authentication
двунаправленный стриминг
привязки, отмены, тайм-ауты
OpenAPI, если используется пр-л HTTP
UGC - отдавать с бескукового домена
поддерживать OpenAPI (Swagger)
схему для HTTP сервисов
interface definition between FE, BE, коммерческими API
Работа с user data
не дублировать хранение данных из другого сервиса
для ключа залогиненного пользователя - uid Паспорта
в URL - только public_id
display_name, public_name
не должно быть возможности установить связь между паспортным uid и yandexuid
не должно быть запуска других программ из приложения с user data
3rt-party components - поддерживаем актуальными
Yadi, npm audit
использовать только внутренние хранилища пакетов
используем Sheker для проверки deb-пакетов на хостах
секреты - через Секретницу
Auth
Аутентификация пользователя через Паспорт
Blackbox (Чёрный ящик) - HTTP-сервис для проверок auth
login+pass, session_id, и OAuth token только для бескуковых доменов
Service-tickets и TVM2.0 (Ticket-Vending Machine), биб-ка tvmauth
IDM для авторизации во внутренних сервисах
SSRF (server-side requests forgery - подделка запросов от бэкендного приложения)
TVM, Zora, RENI, аватарница MDS, отключение редиректов, правильный разбор и формирование URLs
IDOR - insecure direct object reference
Injections (SQL, NoSQl, bash, ...)
валидация, prepared statements, параметризованные запросы, ORM
Insecure Serialization
не десериализовать из ненадёжных источников, использовать JSON, Protobuf, проверять HMAC
XXE (XML External entities)
использовать JSON или Protobuf вместо XML
HTTP parameter injection
urlencode, validation
SSTI (server-side template injection)
Open Redirect - нельзя
Race condition
transactions, object blocking
Раскрытие чувствительной информации
Слабая криптография
сначала пишите на security@
CSRF (XSRF, cross-site request forgery) - подделка межсайтовых запросов
XSS (cross-site scripting) - внедрение в ответ сервера вредоносного кода, который выполнится в браузере
Content Security Policy, кодирование и эскейпинг пользовательских данных
Небезопасная передача данных
протокол TLSv1.2, TLSv1.3
Buffer overflow
проверяйте границы допустимой памяти при копировании, используйте hardening
Используйте сервисы проверок:
Molly, Yodax, Yadi, CSP tester, SAST with imPulse
PCI DSS - соответствовать стандарту платёжных карт