Начиная с JumpServer V3.0.0, добавлен компонент Video-Worker, основная задача которого — обрабатывать записи, создаваемые компонентами Razor(RDP Client) и Lion(Web RDP), и конвертировать их в формат MP4 для удобства аудита и экономии места на диске.
После запуска Video-Worker
регистрируется как компонент (аналогично Koko), чтобы получить
настройки хранилища записей, куда будет загружаться уже
перекодированный MP4-файл.
Если в настройках Lion и Razor включён Video-Worker, то они
загружают записи напрямую в этот компонент для
перекодирования.
После успешного перекодирования файл загружается в указанное
хранилище записей.
Если Lion или Razor не могут загрузить запись в Video-Worker, то они откатываются к загрузке в своё собственное хранилище. При использовании хранилища по умолчанию запись отправляется в каталог:
core/data/media/replay
Задача перекодирования зависит
от библиотек ffmpeg, которые активно используют
CPU.
Нагрузка может достигать 100%, поэтому не рекомендуется размещать Video-Worker на
той же машине, что и JumpServer.
Для Razor: запись сначала конвертируется в серию изображений, затем ffmpeg собирает их в видео. Процесс использует все доступные ядра CPU.
Для Lion(Web RDP): используется официальный CLI-инструмент guacenc, который полностью загружает одно CPU-ядро на протяжении всего процесса.
| Тест | Длительность | Размер исходного файла | Размер MP4 | Снижение занимаемого места |
|---|---|---|---|---|
| Тест 1 | 8 часов | 4.1 GB | 0.80 GB | 80.5% |
| Тест 2 | 1 час | 2.4 GB | 0.37 GB | 84.6% |
| Название параметра | Значение по умолчанию | Описание | Примечание |
|---|---|---|---|
|
NAME |
hostname |
По умолчанию — имя хоста |
|
|
CORE_HOST |
URL JumpServer, используется для регистрации через API |
video-worker регистрируется в core так же, как и koko |
|
|
BOOTSTRAP_TOKEN |
нет |
Предварительно созданный секретный ключ; должен совпадать с конфигурацией JumpServer |
|
|
BIND_HOST |
0.0.0.0 |
IP-адрес привязки при запуске, по умолчанию 0.0.0.0 |
|
|
HTTPD_PORT |
9000 |
Порт для HTTP/WS |
|
|
LOG_LEVEL |
INFO |
Возможные значения: [DEBUG, INFO, WARN, ERROR] |
|
|
VIDEO_WORKER_COUNT |
0 |
Количество параллельных процессов; 0 означает, что значение не задано и вычисляется автоматически как «число ядер CPU + 1» |
Если указано значение > 0, используется оно |
|
VIDEO_WORKER_SECRET_KEY |
'' |
Случайно генерируемая строка из 32 символов; используется как ключ шифрования/дешифрования |
Если нужно использовать несколько video-worker, ключ должен быть одинаковым |
|
VIDEO_WORKER_CLEAN_PERIOD |
7 |
В днях — срок хранения логов перекодированных сессий |
При запуске очистка выполняется раз в 24 часа |
|
IGNORE_VERIFY_CERTS |
False |
Игнорировать ли HTTPS-сертификат CORE_HOST, чтобы избежать ошибок валидации |
Поддерживается с версии v3.10.8+ |
Файл конфигурации JumpServer находится по адресу:
/opt/jumpserver/config/config.txt
Добавьте следующие параметры для включения перекодирования записей Windows в MP4:
USE_VIDEO=1
ENABLE_VIDEO_WORKER=True
VIDEO_WORKER_HOST=http://jms_video:9000
jmsctl restart
Версия JumpServer на сервере перекодирования должна совпадать с версией основной среды.
Пример окружения:
| Сервис | IP |
|---|---|
| JumpServer | 192.168.10.10 |
| Video-Worker | 192.168.10.11 |
Распаковать установочный пакет JumpServer и подготовить окружение:
tar -zxvf jumpserver-offline-release-v3.10.9-amd64.tar.gz
cd /opt/jumpserver-offline-release-v3.10.9-amd64/scripts
./2_install_docker.sh # установка Docker
docker load -i images/video-worker:v3.10.9.tar
Редактировать файл:
vim /data/config.txt
CORE_HOST=http://192.168.10.10:8080
BOOTSTRAP_TOKEN=YTc1NjNmNDItZjNlYS00NTMw # должен совпадать с конфигом JumpServer
IGNORE_VERIFY_CERTS=true # игнорировать сертификат HTTPS при подключении к CORE_HOST
VIDEO_WORKER_COUNT=6 # количество параллельных задач
VIDEO_WORKER_CLEAN_PERIOD=7 # период очистки логов (в днях)
HTTPD_PORT=9000
LOG_LEVEL=ERROR
vim /data/docker-compose-video.yml
(Полное содержимое приведено в оригинале.)
version: '2.4'
services:
video:
image: registry.fit2cloud.com/jumpserver/video-worker:v3.10.9
container_name: jms_video
hostname: jms_video
cpus: 2
ulimits:
core: 0
restart: always
tty: true
ports:
- 9000:9000
env_file:
- /data/config.txt
volumes:
- /data/video/data:/opt/video/data
healthcheck:
test: "curl -fsL http://localhost:9000/video-worker/health/ > /dev/null"
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
networks:
- video_net
vim /opt/jumpserver/config/config.txt
ENABLE_VIDEO_WORKER=true
VIDEO_WORKER_HOST=http://192.168.10.11:9000
docker-compose -f docker-compose-video.yml up -d # запуск
docker-compose -f docker-compose-video.yml down # остановка
Редактировать:
vim /opt/jumpserver/config/config.txt
Отключить ненужные компоненты:
CORE_ENABLED=0
CELERY_ENABLED=0
KOKO_ENABLED=0
LION_ENABLED=0
MAGNUS_ENABLED=0
CHEN_ENABLED=0
KAEL_ENABLED=0
PANDA_ENABLED=0
WEB_ENABLED=0
XRDP_ENABLED=0
USE_VIDEO=1
ENABLE_VIDEO_WORKER=True
CORE_HOST=http://192.168.10.10:8080
BOOTSTRAP_TOKEN=YTc1NjNmNDItZjNlYS00NTMw
Затем изменить соответствующие YAML-файлы и выполнить:
cd /opt/jumpserver-offline-release-v3.10.9-amd64/compose/
jmsctl restart
vim /opt/jumpserver/config/config.txt
ENABLE_VIDEO_WORKER=true
VIDEO_WORKER_HOST=http://192.168.10.11:9000
Также изменить YAML-файлы:
cd /opt/jumpserver-offline-release-v3.10.9-amd64/compose/
jmsctl restart
Если перекодирование завершилось ошибкой, проверяйте два направления:
Найдите лог выполнения по ID сессии в:
video/data/tasks/{id}
Если в каталоге tasks нет записи с этим ID, проверьте логи компонентов lion или razor, возможно, ошибка в загрузке файла.
| << Настройка внешнего хранилища для записей сессий в JumpServer | Настройка отправки событий по Syslog >> |
Вы начали тестирование JumpServer PAM EE и столкнулись с проблемой? Наш процесс включает в себя организацию групп переписок в электронной почте или групп в Telegram для оперативного решения вопросов. Если вы уверены, что вас не добавили в такую группу, обратитесь к вашему поставщику или к нам по адресу support@afi-d.ru
В рамках действующей подписки на техническую поддержку мы обучим ваших специалистов установке, настройке, адмнистрированию JumpServer PAM, а также восстановлению после ошибок и аварий.
Обучение проходит онлайн, по заранее согласованному плану, включает в себя обязательную проверку знаний на практике с выдачей именных сертификатов (в случае успешной сдачи экзамена).
Посетите наш канал на RuTube с видео-инструкциями по настройке всех разделов JumpServer PAM. Видео на русском языке и актуализируются с выходом новых версий.
Мысль о внедрении непростой, но критичной для бизнеса PAM-системы может пугать кажущейся сложностью настройки системы, обучением администраторов и специалистов ИБ, изменениями в процессах работы с учетными записями.
Чтобы внедрение и настройка JumpServer Community Edition были комфортными, а также чтобы вы всегда могли обратиться за помощью к профессионалам, AFI Distribution предлагают годовую подписку на техническую поддержку.
Пакет поддержки в 1.5 млн рублей за экземпляр JumpServer Community Edition (без ограничений на количество пользователей и целевых систем) включает всё необходимое для использования PAM: