# 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/getMe" # Проверка конфигурации grep -A5 "telegram:" /etc/pyguardian/config.yaml ```