К основному содержанию
Silubaba Trade + Tech

Знакомство с системой сетевого проникновения (NPS) — решение корпоративного класса

URL для загрузки системы: ArchiveDownload NPS System — полное введение NPS System Network Penetration System — решение корпоративного класса Python 3.9+ Готово к эксплуатации Корпоративный класс Обзор Архитектура Основные функции...
Категория
Производство
Цена
Цена по запросу
Запросить цену

Оставьте требования — ответим в течение одного рабочего дня

О товаре

URL-адрес загрузки системы :

Система NPS — полное описание

Система NPS

Система сетевого проникновения — решение корпоративного класса

Python 3.9+ Готово к эксплуатации Корпоративный класс

Обзор

NPS (Network Penetration System) — это решение для сетевого проникновения корпоративного класса, предназначенное для обеспечения стабильного, безопасного и эффективного сетевого соединения между серверами и клиентами. Реализованное на Python, оно предоставляет комплексные возможности для сетевого туннелирования, безопасности, мониторинга и управления.

127+
Файлы Python
55+
Конечные точки API
30+
Метрики
10+
Протоколы
20+
Функции безопасности
45+
Основные модули

Архитектура системы

┌─────────────────────────────────────────────────────────────┐ │ API Gateway + Балансировщик нагрузки + Глубокая защита │ │ (4-уровневая защита безопасности) │ └────────────────────┬────────────────────────────────────────┘ │ ┌────────────────┼────────────────┐ │ │ │ ┌───▼───┐ ┌───▼───┐ ┌───▼───┐ │Узел 1 │ │Узел 2 │ │Узел 3 │ │Master │ │Worker │ │Worker │ │ │ │ │ │ │ │Сервис │ │Сервис │ │Сервис │ │Реестр │ │Реестр │ │Реестр │ │Отказоустойчивость│ │Отказоустойчивость│ │Отказоустойчивость│ └───┬───┘ └───┬───┘ └───┬───┘ │ │ │ └──────────────┼──────────────┘ │ ┌──────────────┼──────────────┐ │ │ │ ┌───▼───┐ ┌────▼────┐ ┌────▼────┐ │PostgreSQL│ │ Redis │ │Prometheus│ │ │ │(Очередь)│ │ │ │ │ │(Кэш) │ │ │ └─────────┘ └─────────┘ └──────────┘

Технологический стек

Бэкенд

  • Python 3.9+
  • FastAPI (веб-фреймворк)
  • SQLAlchemy + PostgreSQL
  • Redis (кэш и очередь)
  • WebSocket

Фронтенд

  • HTML/CSS/JavaScript
  • PyQt6 (десктопный клиент)

Инфраструктура

  • Docker и Docker Compose
  • Kubernetes
  • Prometheus и Grafana
  • GitHub Actions (CI/CD)

Основные функции

1. Сетевое туннелирование

Поддерживаемые протоколы

TCP

Полнодуплексное TCP-туннелирование с двунаправленной передачей данных

UDP

Пересылка UDP-пакетов через выделенный прокси-сервер

HTTP/HTTPS

Обратный прокси HTTP с поддержкой SSL/TLS

WebSocket

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

SOCKS5

Поддержка прокси-протокола SOCKS5

FTP/SSH

Туннелирование передачи файлов и Secure Shell

2. Управление клиентами

  • Регистрация клиентов с автоматической генерацией ID/токена
  • Аутентификация на основе JWT
  • Поддержка подключения к нескольким серверам
  • Интеллектуальный выбор сервера
  • Отслеживание статуса в реальном времени
  • Статистика и аналитика по клиентам

3. Управление доменами и SSL

  • Привязка пользовательского домена
  • Автоматическое получение SSL-сертификатов (Let's Encrypt)
  • Продление сертификата до истечения срока действия
  • Автоматическая настройка HTTPS
  • Информация о сертификатах и мониторинг

4. Управление подключениями

  • Постоянные WebSocket-соединения
  • Автоматическое переподключение с экспоненциальной задержкой
  • Механизм heartbeat для контроля работоспособности соединения
  • Пул соединений для повышения производительности
  • Статистика и мониторинг подключений

Функции безопасности

1. Многоуровневая защита безопасности

Сетевой уровень

  • Белый/чёрный список IP-адресов
  • Поддержка нотации CIDR
  • Правила межсетевого экрана

Прикладной уровень

  • Ограничение частоты запросов к API
  • Регулирование запросов
  • Проверка входных данных

Уровень данных

  • Шифрование данных
  • Проверка данных
  • Обнаружение вредоносного содержимого

Уровень доступа

  • Аутентификация JWT
  • Авторизация RBAC
  • Управление ключами API

2. Расширенные функции безопасности

  • Защита от DDoS с обнаружением аномалий
  • Управление межсетевым экраном с конфигурацией на основе правил
  • Аудит безопасности (более 10 проверяемых пунктов)
  • Аудит соответствия (GDPR, SOC2, ISO27001)
  • Автоматическая ротация ключей
  • Журналирование аудита (6 типов событий)
  • Зашифрованные резервные копии (Fernet/AES-128)
  • Предохранитель для отказоустойчивости

3. Поддержка соответствия

GDPR

Защита данных, контроль доступа, хранение данных, возможности удаления

SOC 2

Контроль доступа, мониторинг, управление изменениями

ISO 27001

Политика информационной безопасности, управление рисками, управление инцидентами

Производительность и оптимизация

1. Оптимизация пула соединений

  • Пул соединений с базой данных (20 соединений, 40 переполнение)
  • Пул HTTP-соединений (максимум 100 соединений)
  • Проверка работоспособности соединений (pool_pre_ping)
  • Переиспользование соединений (1 час)
  • Кэширование DNS (5 минут)

2. Оптимизация запросов

  • Измерение времени выполнения запросов
  • Обнаружение медленных запросов (порог 1 секунда)
  • Анализ плана запроса (EXPLAIN ANALYZE)
  • Рекомендации по индексам
  • Оптимизация массовых операций

3. Стратегия кэширования

LRU

Вытеснение по принципу наименее недавно использованных

LFU

Вытеснение по принципу наименее часто используемых

FIFO

Вытеснение по принципу «первым пришёл — первым вышел»

TTL

Истечение срока действия по времени

4. Асинхронная обработка

  • Планировщик асинхронных задач с очередью приоритетов
  • Отложенное выполнение задач
  • Периодическое планирование задач
  • Автоматический повтор с экспоненциальной задержкой
  • Пакетная обработка для массовых операций

Показатели производительности

Метрика Значение
Одновременные подключения 10 000+
QPS (запросов в секунду) 1 000+
Время отклика (P95) < 100 мс
Время отклика (P99) < 200 мс
Пропускная способность 1 ГБ/с+
Доступность 99,9%+
Время переключения при сбое < 30 секунд

Мониторинг и наблюдаемость

1. Метрики Prometheus (30+)

Метрики подключений

  • nps_connections_total
  • nps_connections_active

Метрики туннелей

  • nps_tunnels_total
  • nps_tunnels_active

Метрики трафика

  • nps_traffic_bytes_total

Системные метрики

  • nps_system_cpu_percent
  • nps_system_memory_bytes
  • nps_system_disk_bytes

Метрики безопасности

  • nps_rate_limit_hits_total
  • nps_security_anomalies_total

Метрики производительности

  • nps_http_request_duration_seconds
  • nps_response_time_p95

2. Распределённая трассировка

  • Трассировка в стиле OpenTelemetry
  • Поддержка межсервисной трассировки
  • Управление спанами
  • Экспорт данных трассировки
  • Анализ производительности

3. Умные оповещения

  • Оповещения на основе условий
  • Обнаружение на основе длительности
  • Дедупликация оповещений
  • Несколько уровней важности
  • Статистика и история оповещений

4. Панели Grafana

Предварительно настроенная панель с 10 панелями:

  • Активные соединения
  • Частота HTTP-запросов
  • Объём трафика в байтах
  • Использование ЦП системы
  • Использование памяти системы
  • Частота ошибок
  • Активные туннели
  • Срабатывания ограничения скорости
  • Состояние предохранителя
  • Аномалии безопасности

Высокая доступность

1. Кластерное развёртывание

  • Поддержка нескольких узлов с автоматическим обнаружением
  • Механизм heartbeat (интервал 30 секунд)
  • Мониторинг состояния узлов
  • Балансировка нагрузки (на основе нагрузки и соединений)
  • Архитектура узлов master-worker
  • Синхронизация сессий на основе Redis

2. Проверка работоспособности

  • Многомерные проверки работоспособности
  • Механизм автоматического восстановления
  • Мониторинг состояния работоспособности
  • Предопределённые функции проверки (база данных, Redis, API)
  • Формирование отчёта о работоспособности

3. Механизм отказоустойчивости

Стратегии отказоустойчивости

Активный-пассивный

Режим основной-резервный с автоматическим переключением при отказе

Активный-активный

Двухактивный режим для распределения нагрузки

Круговой перебор

Выбор по круговому перебору

Наименьшее число соединений

Выбор узла с наименьшим числом соединений

4. Предохранитель

  • Три состояния: Closed, Open, Half-Open
  • Автоматическое восстановление после сбоя
  • Настраиваемый порог сбоев
  • Порог успешных операций для полуоткрытого состояния

Корпоративные функции

1. Очередь сообщений

  • Асинхронная очередь задач на основе Redis
  • Управление статусами задач
  • Механизм автоматического повторения
  • Несколько рабочих потоков
  • Регистрация обработчиков задач

2. Поддержка мультитенантности

  • Управление арендаторами (создание, обновление, удаление)
  • Изоляция ресурсов для каждого арендатора
  • Управление контекстом арендатора
  • Статистика по арендаторам
  • Поддержка привязки доменов

3. API-шлюз

  • Единая точка входа API
  • Управление маршрутами
  • Поддержка промежуточного ПО
  • Пересылка запросов
  • Интеграция с обнаружением сервисов

4. Управление квотами

  • Квота трафика (на клиента/туннель)
  • Квота соединений
  • Временная квота
  • Мониторинг и контроль квот

5. Резервное копирование и восстановление

  • Автоматическое создание резервных копий
  • Зашифрованные резервные копии
  • Резервное копирование базы данных (PostgreSQL)
  • Резервное копирование конфигурации
  • Резервное копирование сертификатов
  • Восстановление из резервных копий

6. Микросервисная архитектура

  • Регистрация и обнаружение сервисов
  • Проверка работоспособности сервисов
  • Механизм heartbeat сервисов
  • Балансировка нагрузки (циклическая, случайная, по наименьшему числу соединений)
  • Инкапсуляция вызовов сервисов

Справочник API

Аутентификация

POST /api/api/auth/token

Создать API-токен для аутентификации

Управление клиентами

POST /api/clients

Создать нового клиента

GET /api/clients

Список всех клиентов

GET /api/clients/{client_id}

Получить данные клиента

PUT /api/clients/{client_id}

Обновить клиента

DELETE /api/clients/{client_id}

Удалить клиента

Управление туннелями

POST /api/clients/{client_id}/tunnels

Создать новый туннель

GET /api/clients/{client_id}/tunnels

Список туннелей клиента

POST /api/tunnels/{tunnel_id}/start

Запустить туннель

POST /api/tunnels/{tunnel_id}/stop

Остановить туннель

Управление доменами

POST /api/clients/{client_id}/domains

Создать привязку домена

POST /api/domains/{domain_id}/ssl/request

Запросить SSL-сертификат

Статистика и мониторинг

GET /api/stats/traffic

Получить статистику трафика

GET /api/monitor/health

Получить состояние работоспособности системы

GET /metrics

Конечная точка метрик Prometheus

Управление кластером

GET /api/cluster/nodes

Получить информацию об узлах кластера

POST /api/cluster/nodes

Добавить узел кластера

Конечные точки WebSocket

ws://server:8080/ws/client

Клиентское подключение WebSocket

ws://server:8080/ws/admin

Административный WebSocket для панели управления

Всего: 55+ конечных точек API

Развёртывание

1. Развёртывание в Docker

Быстрый старт

cd docker
docker-compose up -d

Пользовательский образ

docker build -t nps-server:latest -f docker/Dockerfile .

2. Развёртывание в Kubernetes

kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/configmap.yaml

3. Скрипты запуска в один клик

Запуск сервера

./scripts/start_server.sh --daemon

Запуск клиента

./scripts/start_client.sh --daemon
./scripts/start_client_gui.sh

Запуск всех служб

./scripts/start_all.sh --daemon

Проверка состояния

./scripts/status.sh

4. Переменные среды

Переменная Описание По умолчанию
HOST Хост сервера 0.0.0.0
PORT Порт сервера 8080
SECRET_KEY Секретный ключ JWT Обязательно
DATABASE_URL URL подключения к PostgreSQL Обязательно
REDIS_URL URL подключения к Redis redis://localhost:6379/0
CLUSTER_ENABLED Включить режим кластера false

Краткая справка

Запуск сервера

./scripts/start_server.sh

Запуск клиента

./scripts/start_client_gui.sh

Проверка статуса

./scripts/status.sh

Просмотр журналов

tail -f logs/server.log

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

http://localhost:8080/docs

Метрики

http://localhost:8080/metrics

NPS System - Network Penetration System

Версия 1.0.0 Enterprise Advanced | Готово к эксплуатации ✅

Полную документацию см. в файлах документации в репозитории.

Похожие