Skip to content

Commit e8d7e94

Browse files
author
Ilya Pavlyukov
committed
[RU] human-friendly translation
1 parent f517e3b commit e8d7e94

1 file changed

Lines changed: 33 additions & 33 deletions

File tree

README-ru.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,66 @@
11
[English](./README.md) | [繁中版](./README-tw.md) | [简中版](./README-zh.md) | [Português (Brasil)](./README-pt_BR.md) | [Français](./README-fr.md) | [한국어](./README-ko.md) | [Nederlands](./README-nl.md) | [Indonesia](./README-id.md) | [ไทย](./README-th.md) | [Українська](./README-uk.md) | [Español](./README-es.md) | [Italiano](./README-it.md) | [日本語](./README-ja.md) | [Deutsch](./README-de.md) | [Türkçe](./README-tr.md) | [Tiếng Việt](./README-vi.md) | [Монгол](./README-mn.md) | [हिंदी](./README-hi.md) | [العربية](./README-ar.md) | [Polski](./README-pl.md) | [Македонски](./README-mk.md) | [ລາວ](./README-lo.md)
22

33
# Контрольный список безопасности API
4-
Контрольный список наиболее важных контрмер безопасности при разработке, тестировании и выпуске вашего API.
4+
Чеклист наиболее важных контрмер по безопасности при разработке, тестировании и выпуске вашего API.
55

66

77
---
88

99
## Аутентификация
10-
- [ ] Не используйте `Basic Auth` Используйте стандартную проверку подлинности (например: JWT, OAuth).
11-
- [ ] Не "изобретайте колесо" в `аутентификации`, `создании токенов`, `хранении паролей`. Используйте стандарты.
12-
- [ ] Используйте `Max Retry` и функции jail в Login.
10+
- [ ] Не используйте `Basic Auth`. Используйте стандартную проверку подлинности (например: JWT, OAuth).
11+
- [ ] Не изобретайте велосипед для `аутентификации`, `создании токенов`, `хранении паролей`. Используйте стандарты, проверенные библиотеки.
12+
- [ ] Используйте `Max Retry` и функции jail во время аутентификации.
1313
- [ ] Используйте шифрование для всех конфиденциальных данных.
1414

1515
### JWT (JSON Web Token)
16-
- [ ] Используйте случайный сложный ключ (`JWT Secret`), чтобы сделать брут форс токена очень сложным.
17-
- [ ] Не извлекайте алгоритм из полезной нагрузки. Внесите алгоритм в бэкэнд (`HS256` или `RS256`).
16+
- [ ] Используйте случайный сложный ключ (`JWT Secret`), чтобы сделать брут форс токена бесполезным.
17+
- [ ] Не полагайтесь на переданное в заголовках название алгоритма, лучше закрепите его константой на сервере (`HS256` или `RS256`).
1818
- [ ] Сделайте срок действия токена (`TTL`, `RTTL`) как можно короче.
19-
- [ ] Не храните конфиденциальные данные в полезной нагрузке JWT, ее можно [легко декодировать.](https://jwt.io/#debugger-io).
19+
- [ ] Не храните конфиденциальные данные в JWT, ее можно [легко декодировать.](https://jwt.io/#debugger-io).
2020

2121
### OAuth
2222
- [ ] Всегда проверяйте `redirect_uri` на стороне сервера, чтобы разрешать только URL-адреса с белыми списками.
23-
- [ ] Всегда старайтесь обменивать код, а не токены (не разрешать `response_type=token`).
24-
- [ ] Используйте параметр `состояния` со случайным хешем, чтобы предотвратить CSRF в процессе аутентификации OAuth.
25-
- [ ] Определите область по умолчанию и проверьте параметры области для каждого приложения.
23+
- [ ] Всегда старайтесь обменивать временный код, а не токены (не использовать `response_type=token`).
24+
- [ ] Используйте параметр `state` со случайным хешем, чтобы предотвратить CSRF в процессе аутентификации OAuth.
25+
- [ ] Определите scope по умолчанию, а также проверяйте параметры для каждого приложения.
2626

2727
## Доступ
28-
- [ ] Ограничьте запросы (Throttling), чтобы избежать DDoS атак / грубой силы (Brute Force).
28+
- [ ] Установите ограничение на кол-во запросов в минуту (Throttling, RPS), чтобы избежать DDoS атак / грубой силы (Brute Force).
2929
- [ ] Используйте HTTPS на стороне сервера, чтобы избежать MITM (Man In The Middle Attack / Атака посредника).
3030
- [ ] Используйте заголовок `HSTS` (HTTP Strict Transport Security) с SSL, чтобы избежать атаки SSL Strip (перехват SSL соединений).
3131

32-
## Ввод
33-
- [ ] Используйте соответствующий HTTP-метод в соответствии с операцией: `GET (чтение)`, `POST (создание)`, `PUT / PATCH (замена / обновление)` и `DELETE (для удаления записи)`, а также ответьте `405 Method Not Allowed`, если запрошенный метод не подходит для запрашиваемого ресурса.
34-
- [ ] Подтвердите `тип содержимого` по запросу "Принять заголовок" (Консолидация контента), чтобы разрешить только поддерживаемый формат (например, `application/xml`, `application/json` и т.д.) И отвечайте с недопустимым ответом 406, если он не согласован.
35-
- [ ] Проверяйте содержимое опубликованных данных `типа контента` по мере их принятия (например, `application/x-www-form-urlencoded`, `multipart/form-data`, `application/json` и т.д.).
32+
## Запрос
33+
- [ ] Используйте соответствующий HTTP-метод в соответствии с операцией: `GET (чтение)`, `POST (создание)`, `PUT / PATCH (замена / обновление)` и `DELETE (удаление)`, а также ответьте `405 Method Not Allowed`, если запрошенный метод не подходит для запрашиваемого ресурса.
34+
- [ ] Проверяй тип данных в заголовоке `Accept`, чтобы разрешить только поддерживаемые форматы (например, `application/xml`, `application/json` и т.д.) И отвечайте `406 Not Acceptable`, если тип не поддерживается.
35+
- [ ] Проверяйте, сможете ли вы обработать тип получаемых данных (например, `application/x-www-form-urlencoded`, `multipart/form-data`, `application/json` и т.д.).
3636
- [ ] Проверьте пользовательский ввод во избежание распространенных уязвимостей (например: `XSS`, `SQL-инъекций`, `удаленное выполнение кода` и т.д.).
37-
- [ ] Не используйте конфиденциальные данные (`учетные данные`, `пароли`, `маркеры безопасности` или `ключи API`) в URL-адресе, но используйте стандартный заголовок авторизации.
38-
- [ ] Используйте службу шлюза API, чтобы активировать кеширование, ограничение скорости, спайк-арест и динамическое развертывание ресурсов API.
37+
- [ ] Не передавайте конфиденциальные данные (`учетные данные`, `пароли`, `токены` или `ключи API`) в URL-адресе, вместо него используйте стандартный заголовок `Authorization`.
38+
- [ ] Используйте единый API-шлюз, чтобы можно было настроить кеширование, ограничение на кол-во запросов, Spike Arrest, а также динамическое развертывание API.
3939

4040
## Обработка
41-
- [ ] Проверьте, защищены ли все конечные точки за аутентификацией, чтобы не нарушить процедуру проверки подлинности.
42-
- [ ] Следует избегать идентификатора пользователя собственного ресурса. Используйте `/me/orders` вместо `/user/654321/orders`.
43-
- [ ] Не включайте автоинкремент для ID. Вместо этого используйте `UUID`.
44-
- [ ] Если вы разбираете XML-файлы, убедитесь, что синтаксический анализ сущностей не включен, чтобы избежать `атаки на внешний объект XML` (XML external entity).
45-
- [ ] Если вы разбираете XML-файлы, убедитесь, что расширение сущности не включено, чтобы избежать `Billion Laughs / XML bomb` с помощью экспоненциальной атаки расширения сущностей.
41+
- [ ] Проверьте, защищены ли все точки входа аутентификацией, чтобы не нарушить процедуру проверки подлинности.
42+
- [ ] Следует избегать ID собственного ресурса. Используйте `/me/orders` вместо `/user/654321/orders`.
43+
- [ ] Не используйте автоинкремент для ID. Вместо этого используйте `UUID`.
44+
- [ ] Если вы разбираете XML-файлы, убедитесь, что парсинг сущностей выключен, чтобы избежать `XXE` (XML external entity).
45+
- [ ] Если вы разбираете XML-файлы, убедитесь, что расширение сущности выключено, чтобы избежать `Billion Laughs / XML bomb` через атаку экспоненциального расширения сущностей.
4646
- [ ] Используйте CDN для загрузки файлов.
47-
- [ ] Если вы имеете дело с огромным количеством данных, используйте Workers and Queues, чтобы обрабатывать как можно больше в фоновом режиме и быстро возвращать ответ, чтобы избежать блокировки HTTP.
48-
- [ ] Не забудьте выключить режим DEBUG.
47+
- [ ] Если вы имеете дело с огромным количеством данных, используйте Workers and Queues, чтобы обрабатывать как можно больше в фоновом режиме и быстро возвращать ответ, чтобы избежать блокирования HTTP.
48+
- [ ] Не забудьте выключить режим отладки (debug).
4949

50-
## Вывод
50+
## Ответ
5151
- [ ] Отправляйте заголовок `X-Content-Type-Options: nosniff`.
5252
- [ ] Отправляйте заголовок `X-Frame-Options: deny`.
5353
- [ ] Отправляйте заголовок `Content-Security-Policy: default-src 'none'`.
54-
- [ ] Удалите заголовки отпечатков пальцев - `X-Powered-By`, `Server`, `X-AspNet-Version` и т.д.
55-
- [ ] Принудите `тип содержимого` для вашего ответа, если вы вернете `application/json`, тогда ваш тип содержимого ответа будет `application/json`.
56-
- [ ] Не возвращайте конфиденциальные данные, такие как `учетные данные`, `пароли`, `токены безопасности`.
57-
- [ ] Возвращайте код состояния в соответствии с завершенной работой. (Например: `200 OK`, `400 Bad Request`, `401 Unauthorized`, `405 Method Not Allowed` и т.д.).
54+
- [ ] Удалите заголовки, которые могут помочь злоумышленнику в исследовании вашего ресурса на уязвимости - `X-Powered-By`, `Server`, `X-AspNet-Version` и т.д.
55+
- [ ] Зафиксируйте `Content-Type` для вашего ответа, если вы возвращаете `application/json`, тогда запрос должен быть в `application/json`.
56+
- [ ] Не возвращайте конфиденциальные данные, такие как `учетные данные`, `пароли`, `токены`.
57+
- [ ] Возвращайте код состояния в соответствии с итогами обработки. (Например: `200 OK`, `400 Bad Request`, `401 Unauthorized`, `405 Method Not Allowed` и т.д.).
5858

5959
## Непрерывная интеграция и Непрерывная доставка (CI & CD)
60-
- [ ] Аудит вашего дизайна и реализации с охватом модулей/интеграционных тестов.
61-
- [ ] Используйте процесс проверки кода и игнорируйте самоокупаемость.
62-
- [ ] Убедитесь, что все компоненты ваших служб статически сканируются с помощью антивирусов перед отправкой на производство, включая библиотеки поставщиков и другие зависимости.
63-
- [ ] Создайте решение отката для развертывания.
60+
- [ ] Проверяйте ваш проект во время CI/CD. Покрывайте код unit/интеграционными тестами.
61+
- [ ] Используйте процесс проверки кода (Code Review) коллегами. Не апрувьте сами себя (no Self-Approval).
62+
- [ ] Убедитесь, что ваше приложение сканируются с помощью антивирусов перед отправкой в прод, включая библиотеки и другие зависимости.
63+
- [ ] Сделайте возможным быстрый откат на предыдущую версию.
6464

6565

6666
---

0 commit comments

Comments
 (0)