8000 GitHub - NullPointerGang/Lockana: Lockana — это безопасное решение для хранения и управления секретными данными. Поддерживает аутентификацию через одноразовые пароли (TOTP), обеспечивая доступ только авторизованным пользователям.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Lockana — это безопасное решение для хранения и управления секретными данными. Поддерживает аутентификацию через одноразовые пароли (TOTP), обеспечивая доступ только авторизованным пользователям.

License

Notifications You must be signed in to change notification settings

NullPointerGang/Lockana

Repository files navigation

Lock C29C ana

Lockana — это высокобезопасное решение для хранения и управления секретными данными, разработанное для обеспечения конфиденциальности и безопасности доступа к данным. Приложение использует современную аутентификацию через одноразовые пароли (TOTP) для получения доступа к данным, что гарантирует, что только авторизованные пользователи могут получить доступ к секретной информации.

Основные особенности Lockana:

1. Безопасность на первом месте:

  • Данные хранятся в зашифрованном виде.
  • Доступ к данным возможен только после успешной аутентификации с использованием одноразового пароля (TOTP).
  • Каждая попытка входа (успешная или неудачная) логируется для мониторинга активности и предупреждения о возможных угрозах.

2. Централизованное управление секретами:

  • Секреты (например, API-ключи, пароли, ключи доступа) хранятся в одном месте, что упрощает управление.
  • Возможность быстро обновлять или удалять секреты без необходимости изменения .env файлов или другого локального хранилища.

3. Простой и быстрый доступ:

  • Запрос секретов осуществляется через API с использованием имени проекта и одноразового пароля.
  • Возможность интеграции с различными сервисами и приложениями для безопасного доступа к данным.

4. Мгновенные уведомления:

  • В случае любой попытки доступа (успешной или неуспешной) пользователю сразу отправляется уведомление, что обеспечивает дополнительный уровень безопасности.

5. Изоляция и безопасность:

  • Lockana можно развернуть в изолированном окружении (например, в Docker), что минимизирует риски при эксплуатации.
  • Логирование всех действий позволяет отслеживать, кто, когда и какие данные пытался получить.

Преимущества использования Lockana:

  • Гибкость: Легко интегрируется с любыми проектами и сервисами.
  • Простота использования: API предоставляет простой и удобный интерфейс для запросов и управления секретами.
  • Конфиденциальность: Хранение секретов в зашифрованном виде и использование TOTP для аутентификации минимизируют риски утечек данных.
  • Уведомления: Мгновенные уведомления о попытках доступа дают вам контроль и видимость над активностью.

Как работает Lockana:

  1. Аутентификация: Пользователь отправляет запрос с именем проекта и одноразовым паролем (TOTP).
  2. Проверка данных: API проверяет данные на сервере и, если всё верно, возвращает секреты, связанные с проектом.
  3. Уведомления: В случае успешного или неудачного входа система отправляет уведомление пользователю.
  4. Логирование: Все запросы и попытки доступа логируются для анализа безопасности.

Lockana идеально подходит для проектов, которым нужна безопасная и централизованная система для хранения и управления секретами, а также для тех, кто хочет избавиться от хранения чувствительных данных в файлах на сервере.

Установка

⚠️ Важно! ⚠️

Lockana использует MySQL для хранения данных, поэтому перед запуском убедитесь, что:

  • MySQL установлен, запущен и настроен корректно.
  • База данных создана и настроена, либо укажите параметры подключения в config.yaml.
  • Redis установлен и запущен, так как он используется для хранения JWT.

Клонирование репозитория:

git clone https://github.com/NullPointerGang/Lockana.git

Переход в деректорию:

cd Lockana

Создание вирутуального окружения:

python3 -m venv venv

Вход в виртуальное окружение:

source venv/bin/activate

Настройка:

  • Переменные виртуального окружения:

    export DATABASE_STRING="database-connection-string"

    Пример строки для подключения к БД MySQL:

    mysql+pymysql://user:password@localhost:3306/lockana
  • Конфигурационный файл:

    nano config.yaml
    jwt:
       access_token_expire_minutes: 1  # Время жизни токена доступа в минутах
    
    encryption:
       # Возможные алгоритмы шифрования:
       # aes - Алгоритм AES (симметричное шифрование)
       # rsa - Алгоритм RSA (асимметричное шифрование)
       # chacha20 - Алгоритм ChaCha20 (современный потоковый шифратор)
       algorithm: aes  # Выбранный алгоритм шифрования (по умолчанию aes)
    
    totp:
       totp_code_len: 6  # Длина кода TOTP
       totp_secret_len: 32  # Длина секрета TOTP
       totp_minimal_secret_len: 16  # Минимальная длина секрета TOTP
    
    auth:
       max_login_attempts: 5
       block_duration_minutes: 15
    
    logging:
       filename: lockana.log  # Имя файла для логов

Установка зависимостей:

pip3 install -r requirements.txt

Запуск:

"./venv/bin/python3" "app.py"

Добавление пользователей:

Для управления пользователями и ролями есть CLI инструмент

Запустите CLI:

python3 -m scripts.user_manager

API Документация

Для доступа к API используется аутентификация через одноразовые пароли (TOTP). API позволяет безопасно запрашивать и управлять секретами через защищённый интерфейс. Подробнее о маршрутах и запросах читайте в документации API.

About

Lockana — это безопасное решение для хранения и управления секретными данными. Поддерживает аутентификацию через одноразовые пароли (TOTP), обеспечивая доступ только авторизованным пользователям.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0