From 127ff74072ba94d026c0ff8eb6d9240f6e4f07f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D1=80=D0=B8=D0=B3=D0=BE=D1=80=D0=B8=D0=B9=20=D0=A1?= =?UTF-8?q?=D0=B0=D1=84=D1=80=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Fri, 12 Sep 2025 12:43:22 +0000 Subject: [PATCH] Update README.md --- README.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/README.md b/README.md index 9e08f15..9b9ebd7 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@
  • Примеры команд субд
  • Обработка статических страниц
  • HTTP API
  • +
  • Аутентификация
  • HTTPS
  • Репликация
  • Резервное копирование
  • @@ -888,6 +889,60 @@ curl -X DELETE http://127.0.0.1:8082/api/delete \

    (К началу)

    +## Аутентификация + +Для повышения безопасности в сервере-приложений falcot используется `Авторизация`. +За параметры авторизации отвечает секция `[security]` в конфигурационном файле `config.toml` + +```sh +[security] +require_authentication = false +jwt_secret = "your-secret-key-here" +password_hashing_rounds = 12 +``` +
    + +Детальное описание параметров секции: + +1. **require_authentication = false** + +Назначение: Включает/выключает обязательную аутентификацию + +Допустимые значения параметра `require_authentication`: + +* false - анонимный доступ разрешен (по умолчанию) +* true - требуется аутентификация для всех операций + +При установки значения параметра `require_authentication = true` клиенты должны предоставлять JWT токен. Он содержит информацию о пользователе и правах доступа. Токен проверяется с использованием параметра `jwt_secret` и подписываются секретным ключом для предотвращения подделки. +Без валидного токена операции блокируются. Все токены имеют ограниченное время жизни (обычно несколько часов). + +Назначение: Защищает API от несанкционированного доступа +
    + +2. **jwt_secret = "your-secret-key-here"** + +Назначение: Секретный ключ для JWT (JSON Web Tokens) +Формат: Произвольная строка, рекомендуется длинная криптостойкая +
    + +3. **password_hashing_rounds = 12** + +Назначение: Количество раундов хеширования паролей. Пароли хешируются с указанным количеством раундов, и исходные пароли никогда не хранятся в чистом виде,что обеспечивает защиту от атак перебором даже при утечке базы данных. + +Значения: Обычно от 10 до 15 (чем больше - тем безопаснее, но медленнее) +Алгоритм: Вероятно bcrypt (стандарт для безопасного хеширования) +Использование: Защита паролей пользователей в базе данных + +Использование: + +* Подписание JWT токенов аутентификации +* Верификация подлинности токенов +
    + +ВАЖНО: В продакшене нужно заменить на уникальный сложный ключ + +

    (К началу)

    + ## HTTPS Сервер-приложенй falcot поддерживает протоколы https и http2. @@ -1003,6 +1058,7 @@ curl http://localhost:8082/api/status **2.Проверка разрешенных IP - если список allowed_ips не пустой, проверяется наличие IP в нем** **3.Если ACL отключен - все подключения разрешены** + **Примеры использования в конфигурации:** ```sh