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

357 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PyGuardian Installation Guide
## Обзор
PyGuardian предлагает несколько способов установки в зависимости от ваших потребностей:
1. **Standalone** - Автономный сервер (все в одном)
2. **Controller** - Центральный контроллер кластера
3. **Agent** - Агент для подключения к контроллеру
4. **Docker** - Контейнеризованное развертывание
## Быстрая установка
### Использование make
```bash
# Клонирование репозитория
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
```bash
# Интерактивный режим
sudo ./install.sh
# Быстрая установка
sudo ./install.sh --quick
# Конкретный режим
sudo ./install.sh --interactive
sudo ./install.sh --docker
```
## Подробная установка
### 1. Standalone режим
**Назначение**: Полнофункциональная система на одном сервере
**Подходит для**: Небольшие инфраструктуры, тестирования
```bash
# Автоматическая установка
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 режим
**Назначение**: Центральный контроллер для управления кластером агентов
**Подходит для**: Крупные инфраструктуры, централизованное управление
```bash
# Автоматическая установка
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 режим
**Назначение**: Агент для подключения к контроллеру
**Подходит для**: Серверы в составе кластера
```bash
# Автоматическая установка
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
```bash
# Интерактивная установка
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
```bash
# Интерактивная установка
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 бота
```bash
# Создайте бота у @BotFather
# Получите токен и ваш chat ID у @userinfobot
# Обновите конфигурацию
sudo nano /etc/pyguardian/config.yaml
```
### 2. Настройка firewall
```bash
# Для контроллера - откройте API порт
sudo ufw allow 8080
# Для всех режимов - убедитесь что SSH доступен
sudo ufw allow ssh
```
### 3. Проверка установки
```bash
# Статус сервиса
sudo systemctl status pyguardian
# Просмотр логов
sudo journalctl -u pyguardian -f
# Проверка конфигурации
sudo /opt/pyguardian/venv/bin/python /opt/pyguardian/main.py --check-config
```
## Управление службой
```bash
# Запуск
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
```bash
# Остановка службы
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
```bash
# Переход в директорию установки
cd /path/to/pyguardian-docker
# Остановка контейнеров
sudo docker-compose down
# Обновление образов
sudo docker-compose pull
# Пересборка и запуск
sudo docker-compose up --build -d
```
## Удаление
### Полное удаление системы
```bash
# Остановка и отключение службы
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 установки
```bash
# Остановка и удаление контейнеров
sudo docker-compose down -v
# Удаление образов
sudo docker rmi $(sudo docker images pyguardian* -q)
# Удаление файлов установки
sudo rm -rf /path/to/pyguardian-docker
```
## Troubleshooting
### Проблемы с правами
```bash
# Проверка прав файлов
sudo chown -R pyguardian:pyguardian /opt/pyguardian
sudo chown -R pyguardian:pyguardian /var/lib/pyguardian
sudo chmod +x /opt/pyguardian/main.py
```
### Проблемы с Python
```bash
# Проверка версии Python
python3 --version
# Переустановка зависимостей
sudo -u pyguardian /opt/pyguardian/venv/bin/pip install --force-reinstall -r /opt/pyguardian/requirements.txt
```
### Проблемы с firewall
```bash
# Проверка 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
```bash
# Проверка токена бота
curl "https://api.telegram.org/bot<YOUR_TOKEN>/getMe"
# Проверка конфигурации
grep -A5 "telegram:" /etc/pyguardian/config.yaml
```