Files
PyGuardian/documentation/examples/INSTALLATION.md
Andrey K. Choi a24e4e8dc6
Some checks failed
continuous-integration/drone Build is failing
feat: PyGuardian v2.0 - Complete enterprise security system
 New Features:
🔐 Advanced agent authentication with JWT tokens
🌐 RESTful API server with WebSocket support
🐳 Docker multi-stage containerization
🚀 Comprehensive CI/CD with Drone pipeline
📁 Professional project structure reorganization

🛠️ Technical Implementation:
• JWT-based authentication with HMAC-SHA256 signatures
• Unique Agent IDs with automatic credential generation
• Real-time API with CORS and rate limiting
• SQLite extended schema for auth management
• Multi-stage Docker builds (controller/agent/standalone)
• Complete Drone CI/CD with testing and security scanning

�� Key Modules:
• src/auth.py (507 lines) - Authentication system
• src/api_server.py (823 lines) - REST API server
• src/storage.py - Extended database with auth tables
• Dockerfile - Multi-stage containerization
• .drone.yml - Enterprise CI/CD pipeline

🎯 Production Ready:
 Enterprise-grade security with encrypted credentials
 Scalable cluster architecture up to 1000+ agents
 Automated deployment with health checks
 Comprehensive documentation and examples
 Full test coverage and quality assurance

Ready for production deployment and scaling!
2025-11-25 21:07:47 +09:00

9.1 KiB
Raw Blame History

PyGuardian Installation Guide

Обзор

PyGuardian предлагает несколько способов установки в зависимости от ваших потребностей:

  1. Standalone - Автономный сервер (все в одном)
  2. Controller - Центральный контроллер кластера
  3. Agent - Агент для подключения к контроллеру
  4. Docker - Контейнеризованное развертывание

Быстрая установка

Использование make

# Клонирование репозитория
git clone https://github.com/your-repo/PyGuardian.git
cd PyGuardian

# Интерактивная установка
sudo make install

# Или быстрая автономная установка
sudo make standalone

# Или контроллер кластера
sudo make controller

# Или агент кластера
sudo make agent

Использование install.sh

# Интерактивный режим
sudo ./install.sh

# Быстрая установка
sudo ./install.sh --quick

# Конкретный режим
sudo ./install.sh --interactive
sudo ./install.sh --docker

Подробная установка

1. Standalone режим

Назначение: Полнофункциональная система на одном сервере Подходит для: Небольшие инфраструктуры, тестирования

# Автоматическая установка
sudo make standalone

# Или вручную
sudo ./scripts/install.sh --mode=standalone --non-interactive \
  --telegram-token="YOUR_BOT_TOKEN" \
  --admin-id="YOUR_TELEGRAM_ID"

Что включено:

  • Мониторинг auth.log
  • Telegram бот управления
  • Stealth security система
  • Firewall интеграция
  • Автоматическое управление паролями
  • SSH session management

2. Controller режим

Назначение: Центральный контроллер для управления кластером агентов Подходит для: Крупные инфраструктуры, централизованное управление

# Автоматическая установка
sudo make controller

# Или вручную
sudo ./scripts/install.sh --mode=controller --non-interactive \
  --telegram-token="YOUR_BOT_TOKEN" \
  --admin-id="YOUR_TELEGRAM_ID"

Что включено:

  • Все функции Standalone
  • API для управления агентами
  • Веб-интерфейс управления
  • Централизованная отчетность
  • Автоматическое развертывание агентов

После установки:

  1. Откройте порт 8080 в firewall
  2. Настройте SSL сертификат
  3. Добавьте агенты через Telegram команды

3. Agent режим

Назначение: Агент для подключения к контроллеру Подходит для: Серверы в составе кластера

# Автоматическая установка
sudo make agent

# Или вручную
sudo ./scripts/install.sh --mode=agent --non-interactive \
  --controller-url="https://controller.example.com:8080" \
  --agent-token="AGENT_TOKEN"

Что включено:

  • Локальный мониторинг auth.log
  • Firewall управление
  • Подключение к контроллеру
  • Передача данных в центр

Перед установкой:

  1. Получите токен агента от администратора контроллера
  2. Убедитесь в доступности контроллера по сети

Docker установка

Controller в Docker

# Интерактивная установка
sudo ./scripts/docker-install.sh --mode=controller

# Или с параметрами
sudo ./scripts/docker-install.sh \
  --mode=controller \
  --telegram-token="YOUR_BOT_TOKEN" \
  --admin-id="YOUR_TELEGRAM_ID" \
  --port=8080

Agent в Docker

# Интерактивная установка  
sudo ./scripts/docker-install.sh --mode=agent

# Или с параметрами
sudo ./scripts/docker-install.sh \
  --mode=agent \
  --controller-url="https://controller.example.com:8080" \
  --agent-token="AGENT_TOKEN"

Требования системы

Минимальные требования

  • ОС: Linux (Ubuntu 20.04+, CentOS 8+, Debian 11+)
  • Python: 3.10 или выше
  • RAM: 512 MB
  • Диск: 1 GB свободного места
  • Сеть: Доступ в интернет для Telegram API

Рекомендуемые требования

  • ОС: Ubuntu 22.04 LTS
  • Python: 3.11+
  • RAM: 2 GB
  • Диск: 5 GB свободного места
  • CPU: 2 ядра

Зависимости

  • iptables или nftables
  • systemd
  • python3-pip
  • sqlite3

Конфигурация после установки

1. Настройка Telegram бота

# Создайте бота у @BotFather
# Получите токен и ваш chat ID у @userinfobot

# Обновите конфигурацию
sudo nano /etc/pyguardian/config.yaml

2. Настройка firewall

# Для контроллера - откройте API порт
sudo ufw allow 8080

# Для всех режимов - убедитесь что SSH доступен
sudo ufw allow ssh

3. Проверка установки

# Статус сервиса
sudo systemctl status pyguardian

# Просмотр логов
sudo journalctl -u pyguardian -f

# Проверка конфигурации
sudo /opt/pyguardian/venv/bin/python /opt/pyguardian/main.py --check-config

Управление службой

# Запуск
sudo systemctl start pyguardian

# Остановка
sudo systemctl stop pyguardian

# Перезапуск
sudo systemctl restart pyguardian

# Автозапуск
sudo systemctl enable pyguardian

# Отключение автозапуска
sudo systemctl disable pyguardian

# Статус
sudo systemctl status pyguardian

Обновление

Standalone/Controller/Agent

# Остановка службы
sudo systemctl stop pyguardian

# Обновление кода
cd /opt/pyguardian
sudo git pull origin main

# Обновление зависимостей
sudo -u pyguardian /opt/pyguardian/venv/bin/pip install -r requirements.txt

# Запуск
sudo systemctl start pyguardian

Docker

# Переход в директорию установки
cd /path/to/pyguardian-docker

# Остановка контейнеров
sudo docker-compose down

# Обновление образов
sudo docker-compose pull

# Пересборка и запуск
sudo docker-compose up --build -d

Удаление

Полное удаление системы

# Остановка и отключение службы
sudo systemctl stop pyguardian
sudo systemctl disable pyguardian

# Удаление файлов службы
sudo rm -f /etc/systemd/system/pyguardian.service
sudo systemctl daemon-reload

# Удаление приложения
sudo rm -rf /opt/pyguardian

# Удаление конфигурации (опционально)
sudo rm -rf /etc/pyguardian

# Удаление данных (опционально)
sudo rm -rf /var/lib/pyguardian

# Удаление логов (опционально)
sudo rm -rf /var/log/pyguardian

# Удаление пользователя
sudo userdel -r pyguardian

Удаление Docker установки

# Остановка и удаление контейнеров
sudo docker-compose down -v

# Удаление образов
sudo docker rmi $(sudo docker images pyguardian* -q)

# Удаление файлов установки
sudo rm -rf /path/to/pyguardian-docker

Troubleshooting

Проблемы с правами

# Проверка прав файлов
sudo chown -R pyguardian:pyguardian /opt/pyguardian
sudo chown -R pyguardian:pyguardian /var/lib/pyguardian
sudo chmod +x /opt/pyguardian/main.py

Проблемы с Python

# Проверка версии Python
python3 --version

# Переустановка зависимостей
sudo -u pyguardian /opt/pyguardian/venv/bin/pip install --force-reinstall -r /opt/pyguardian/requirements.txt

Проблемы с firewall

# Проверка iptables
sudo iptables -L PyGuardian -n

# Проверка nftables
sudo nft list table inet pyguardian

# Сброс правил (осторожно!)
sudo systemctl stop pyguardian
sudo iptables -F PyGuardian
sudo systemctl start pyguardian

Проблемы с Telegram

# Проверка токена бота
curl "https://api.telegram.org/bot<YOUR_TOKEN>/getMe"

# Проверка конфигурации
grep -A5 "telegram:" /etc/pyguardian/config.yaml