Jumpserver PAM FAQ
1.02K subscribers
106 photos
3 videos
5 files
72 links
Это канал АФИ Дистрибьюшн о продукте Jumpserver (Редакции Community и Enterprise)
Вопросы можно задавать мне https://t.me/mapceaheh
Download Telegram
Как получить пароль учетной записи по API?

JumpServer PAM имеет полноценный API для автоматизации любых задач.

API документирован в Swagger по адресу https://IP/api/docs

Там есть все возможные API запросы, но нет запроса на получение пароля от учетных записей

Чтобы получать текущие пароли по API, необходимо создать отдельный API ключ:

1. Перейдите в раздел PAM - INTEGRATION - Applications , нажмите на кнопку Create, укажите список УЗ, которые должны быть доступны через этот API ключ

2. Сохраните настройки. После сохранения параметров вы увидите ваш ID и Secret, запишите их.

Для просмотра истории обращений на вкладке Call records есть журнал запросов со списком УЗ, чей пароль был получен по API.

Пример скрипта для запроса пароля на Python:
import warnings
warnings.filterwarnings("ignore", message="pkg_resources is deprecated as an API")

import requests
import os
from datetime import datetime, timezone
from httpsig.requests_auth import HTTPSignatureAuth

warnings.filterwarnings("ignore", category=UserWarning, module="httpsig")

API_URL = os.getenv("API_URL", "https://js44.afi.local")
KEY_ID = os.getenv("API_KEY_ID", "89044e4b-352e-4a67.....")
KEY_SECRET = os.getenv("API_KEY_SECRET", "OXqDBf6wDnBGRm.....")
ORG_ID = os.getenv("ORG_ID", "00000000-0000-0000-0000-000000000002")


class APIClient:
def __init__(self):
self.session = requests.Session()
self.auth = HTTPSignatureAuth(
key_id=KEY_ID, secret=KEY_SECRET,
algorithm='hmac-sha256', headers=['(request-target)', 'accept', 'date', 'x-jms-org']
)

def get_account_secret(self, asset, account):
url = f"{API_URL}/api/v1/accounts/integration-applications/account-secret/"
headers = {
'Accept': 'application/json',
'X-JMS-ORG': ORG_ID,
'Date': datetime.now(timezone.utc).strftime('%a, %d %b %Y %H:%M:%S GMT'),
'X-Source': 'jms-pam'
}
params = {"asset": asset, "account": account}

try:
response = self.session.get(
url,
auth=self.auth,
headers=headers,
params=params,
timeout=10,
verify="afi-AFIDC-CA.crt"
)
response.raise_for_status()
return response.json()
except requests.RequestException as e:
print(f"API Ошибка запроса: {e}")
return None


if __name__ == "__main__":
client = APIClient()
result = client.get_account_secret(asset="Lab_Rabbit", account="serg")
print(result)
🔥1
Примеры API скриптов на python

Рабочие примеры API запросов для получение списка пользователей и устройств, список команд в сессии

Ссылка на статью
1🔥1
Вышла новая версия JumpServer 4.10.16

Новое в версии:
- Добавлена поддержка проверки IP-адреса клиента.

Улучшение:
- Улучшена безопасность административного интерфейса (обработка YAML-шаблонов).

Исправления:
- Исправлена проблема, из-за которой SSL-сертификаты некорректно проверялись при исходящих запросах.
- Исправлен логический конфликт, вызванный несогласованным порядком полей при экспорте ресурсов.

- Полный список улучшений и исправлений доступен по этой ссылке.

Дистрибутив JumpServer Enterprise версии 4.10.16 доступен по этой ссылке.

Дистрибутив JumpServer Community версии 4.10.16 доступен по этой ссылке.
🔥9👍3
Jumpserver PAM FAQ pinned «Вышла новая версия JumpServer 4.10.16 Новое в версии: - Добавлена поддержка проверки IP-адреса клиента. Улучшение: - Улучшена безопасность административного интерфейса (обработка YAML-шаблонов). Исправления: - Исправлена проблема, из-за которой SSL-сертификаты…»
Изменения в лицензировании JumpServer PAM Enterprise

Нам удалось инициировать и согласовать более гибкую модель лицензирования, чтобы клиентам не приходилось переплачивать за избыточные пакеты и можно было лицензировать ровно нужное количество систем.

Ранее лицензирование JumpServer Enterprise было пакетным и зависело от количества целевых систем, к которым подключаются специалисты. Были доступны пакеты на 50, 500, 5000 и неограниченное количество систем. При этом количество пользователей и паролей не ограничивалось, установка в кластере active-active и масштабирование также не ограничивались лицензией. Лицензия могла быть ежегодной или бессрочной.

Что изменилось сейчас

Теперь лицензирование стало более гибким.
Можно приобрести лицензию практически на любое необходимое количество систем:

от 50 до 500 — увеличение кратно 50
от 500 до 5000 — увеличение кратно 500
лицензия на неограниченное количество также доступна

Например, теперь доступны лицензии на 100, 150, 250, 1000, 1500 систем и т.д. — то есть лицензия подбирается максимально близко к реальным потребностям, без необходимости покупать крупный пакет «с запасом».

Важно отметить, что остальные условия остаются без изменений:

количество пользователей — не ограничено
количество паролей — не ограничено
кластер active-active — доступен
масштабирование — не ограничено лицензией
лицензия — ежегодная или бессрочная
❤‍🔥5
В Community Edition появилась функция обнаружения учетных записей

В JumpServer Community Edition 4.10.16 стала доступна функция обнаружения неизвестных учетных записей.

Однако расширенные действия с обнаруженными УЗ, например, добавление обнаруженной учетной записи в систему с автоматической сменой пароля и работа с разделом смены паролей на целевых системах, доступны только в Enterprise Edition.

Подробнее о функции можно прочитать в этой статье.
9👍4👏1
JumpServer: доступ к персональным УЗ через переменную [#username#]

В статье описана подробная инструкция, как выдать доступ к персональным учетным записям через одну политику доступа, используя переменную [#username#] вместо явного перечисления всех УЗ.

Как это работает:

Если в компании используются персональные привилегированные учетные записи (например, ivan_adm, sergey_adm и т.д.),
в JumpServer можно указать в политике доступа шаблон вида:

[#username#]_adm (или с другим префиксом/постфиксом)

Что в итоге:
— не нужно добавлять каждую УЗ вручную
— одна политика покрывает всех пользователей
— доступ автоматически выдается с персональной привилегированной УЗ

Каждый пользователь, добавленный в политику, сможет подключаться под своей учетной записью, сформированной через переменную.

Также статья - хороший пример того, как можно гибко кастомизировать JumpServer под свои задачи.

Полная статья
👍4🔥1👏1
JumpServer движется в сторону ИИ (планы на V5)

Искусственный интеллект уже меняет кибербезопасность — и JumpServer не остаётся в стороне. После успешного перехода в облако, следующий шаг — полноценная интеграция ИИ.

Мы уже начали это в V4:
— есть распознавание лиц (да, в JumpServer уже встроен FaceID 👀)
— появилась Q&A система на базе LLM

Но самое интересное — впереди.

Что планируется в JumpServer V5:

ИИ-поиск угроз
Автоматически находит слабые места: неактивные аккаунты, слабые пароли и потенциальные угрозы.

Аналитика поведения пользователей (UBA)
ИИ отслеживает подозрительные действия и аномалии в реальном времени.

Автоматический аудит (O&M)
— краткая выдержка из сессий
— обнаружение опасных команд
— меньше ручной рутины

Управление ИИ-ресурсами
Контроль доступа к LLM, API и AI-средам: права, мониторинг, аудит — всё как у классических ИТ-ресурсов.

В итоге:
JumpServer V5 — это уже не просто бастион, а полноценный интеллектуальный помощник по безопасности.

Следите за обновлениями — впереди много интересного!
👍9🔥4👏1
Пользовательские шаблоны для смены паролей по SSH

JumpServer Enterprise поддерживает автоматическую смену паролей, а также кастомизацию скриптов смены паролей для SSH учетных записей. Это может быть полезно, если у вас много различного оборудования, требующего различные скрипты и команды для смены паролей.

Инструкция по настройке скриптов ротации паролей для SSH доступна в этой статье.
1👍1🔥1
О чем написать статью? О чем сделать видео? Какие вопросы есть по JumpServer PAM?

Пилоты и внедрения идут, всё в порядке, в мессенджер МАКС мы не ушли :) Давно не было постов, потому что JumpServer PAM давно (целых 2.5 месяца!) не обновлялся. По информации от вендора, они пока все дружно заняты на крупном проекте, а также уже вовсю делают 5ю версию JumpServer.

Но возможно, вам интересно разобрать решения для каких-нибудь задач под JumpServer, или есть открытые вопросы, связанные с настройкой и использованием, на которые мы могли бы подробно ответить?
👍2