Перейти к содержанию

Распространение сертификатов средствами KSC


Рекомендуемые сообщения

Здравствуйте, подскажите, можно ли средствами KSC 13.2, распространить промежуточный сертификат на парк машин? Или может быть, есть какой-то другой способ, знаю, что можно через групповые политики — это сделать, но там только корневой, промежуточный нельзя. 

 

Пробовал создать инсталляционный пакет bat файла, и задачу удаленной установки программы, результат выполнения говорит, что успешно. Но сертификат не устанавливается. Где-то вычитал, что это связанно с тем, что запуск происходит от учетной записи local system, а нужно от админской учетки. Хотя указывал в свойствах задачи что выполнять задачу следует от учетной записи администратора. 

  

image.png

Ссылка на комментарий
Поделиться на другие сайты

Хм, я думал сертификат сервера хотят на KSC поставить не самоподписанный, а тут какой-то велосипед получается. 

Ссылка на комментарий
Поделиться на другие сайты

12 часов назад, sahana сказал:

Пробовал создать инсталляционный пакет bat файла, и задачу удаленной установки программы, результат выполнения говорит, что успешно. Но сертификат не устанавливается. Где-то вычитал, что это связанно с тем, что запуск происходит от учетной записи local system, а нужно от админской учетки. Хотя указывал в свойствах задачи что выполнять задачу следует от учетной записи администратора. 

Вы бы для начала показали содержимое bat-файла.  Там есть свои особенности..

Запуск этого файла всегда происходит под local system, что бы вы там не указывали.

Ссылка на комментарий
Поделиться на другие сайты

22 часа назад, oit сказал:

А какой сертификат хотите распространить?

 

Не понимаю какое, это имеет значение?

 

22 часа назад, mike 1 сказал:

Хм, я думал сертификат сервера хотят на KSC поставить не самоподписанный, а тут какой-то велосипед получается. 

 

Все верно, это сторонний сертификат, который выдается нашей головной организацией. И почему велосипед? Знаете, у нас все люди важные, занятые, чтобы даже на 5 минут попросить время поработать на компьютере, нужно чуть ли не за неделю согласовывать все. Я конечно немного преувеличиваю, но примерно, так оно и есть. И совсем не хочется более чем на 100 компьютерах это делать вручную. 

 

13 часов назад, Aragon сказал:

Вы бы для начала показали содержимое bat-файла.  Там есть свои особенности..

Запуск этого файла всегда происходит под local system, что бы вы там не указывали.

 

Обчный батничек, у себя на компьютере запускаю от имени администратора и все отрабатывает. 
Вот он: certutil -addstore CA \\путь\название.crt

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, sahana сказал:

Вот он: certutil -addstore CA \\путь\название.crt

Вот в этом проблема. 

Нужно:

1. Сертификат класть не на сетевой ресурс, в внутрь инсталляционного пакета. Из bat-файла доступа к сети нет.

2. Нужно написать путь к certutil

тогда содержимое bat будет как-то так

C:\Windows\System32\certutil.exe  CA название.crt

Ссылка на комментарий
Поделиться на другие сайты

20 часов назад, Aragon сказал:

Вот в этом проблема. 

Нужно:

1. Сертификат класть не на сетевой ресурс, в внутрь инсталляционного пакета. Из bat-файла доступа к сети нет.

2. Нужно написать путь к certutil

тогда содержимое bat будет как-то так

C:\Windows\System32\certutil.exe  CA название.crt

 

Ваш вариант не заработал, но через пробы и ошибки все таки удалось

Но пришлось скопировать сам сертификат на каждый компьютер, и только после этого все получилось. И в самой задачи указал учетку администратора. И задача распространялась с помощью Агента администрирования. 

Вот пример bat файла:

 

MD c:\temp
copy название.crt c:\temp\
C:\Windows\System32\certutil -addstore CA c:\temp\название.crt

 

Тему можно закрывать, всем спасибо за участие!!! 

 

 

Изменено пользователем sahana
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Ответ на Ваш вопрос:

  1. Создаём папку
  2. Кладём в нее сертификат и bat-файл
  3. Содержимое bat (certutil -addstore "Root" %~dp0\cert.crt) (certutil -addstore "Куда_положить" переменная_до_места_расположения_батника\имя_сертификата.crt)
  4. Идём в KSC -> Дополнительно - Удаленная установка - Инсталляционные пакеты - кнопка [Создать инсталляционный пакет]
  5. Создать пакет для указанного исполняемого файла - Задаем имя - Выбираем дистрибутив - Выбираем нашу папку с файлами, указываем bat-файл - обязательно ставим галочку "Копировать всю папку в инсталляционный пакет".
  6. Выбираем наш созданный пакет и разливаем через "Задачу" на нужные группы/компы.
Изменено пользователем adruz
Ссылка на комментарий
Поделиться на другие сайты

04.07.2023 в 16:58, adruz сказал:

%~dp0\cert.crt

Что вернёт?

echo %~dp0\cert.crt

Вернёт:

"текущая директория", "два бэкслеша" и "cert.crt" 

Тогда из этого следует:

%~dp0cert.crt

 

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
06.07.2023 в 10:39, NickM сказал:

Что вернёт?



echo %~dp0\cert.crt

Вернёт:



"текущая директория", "два бэкслеша" и "cert.crt" 

Тогда из этого следует:



%~dp0cert.crt

 

 

Не вижу того, о чем Вы говорите.

image.png.a1084c0eabb2e0d60cd56cbb5b779b32.png

Изменено пользователем adruz
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • Анди25
      Автор Анди25
      День добрый,
       
      Сменился сервер и имя, из бэкап восстановил, но все сертификаты естественно указывают на прежний.
      Подскажите как сертификат сменить непосредственно на Kaspersky Security Center (не для работы мобильных клиентов и web, они легко меняются через mmc)
       
      Нашел описание по утилите klsetsrvcert, но чего-то не хватает, не проходит создание.
      "C:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center\klsetsrvcert.exe" -t C -i C:\0\klserver.cer -p testpass -o NoCA
    • Sandynist
      Автор Sandynist
      Добрый день! 
       
      Каждый раз при открытии Алика (https://aliexpress.ru/) такая вот картинка.
       
      Событие: Обнаружено SSL-соединение c недействительным сертификатом Тип пользователя: Не определено Имя приложения: opera.exe Путь к приложению: C:\Users\Home7\AppData\Local\Programs\Opera Компонент: Интернет-защита Описание результата: Запрещено Имя объекта: rap.skcrtxr.com Причина: Этот сертификат или один из сертификатов в цепочке устарел.  И непонятно — это что? И что с этим всем делать?

    • tav
      Автор tav
      Всех приветствую !
       
      Поднял пока что тестовый KSC последний на Alt Linux.
      Версия KSC Linux PF 15.1.0.12199 и версия KESL PF 12.1.0.1543.
      В настройках политики установил распространять ключ через KSC и на самой лицензии галка стоит.
      Клиент работает не в режиме легкого агента.
       
      В итоге клиент виндовый подхватывает ключ с сервера KSC, клиент линуксовый при установке автоматом ставит тестовую/пробную лицензию и ни как не хочет цеплять автоматом лицензию.
      Если я создаю задачу для линуксовой группы/клиента сменить ключ, то все ок клиенты по задаче меняют ключ тестовый на корпоративный.
      Не понимаю почему именно линуксовые клиенты автоматом не тащат ключ. Настройки как я понимаю правильные.


    • Vitekzz
      Автор Vitekzz
      Хочу создать программу для автоматизации работы с KSC c помощью KlAkOAPI при запуске проверочного кода для загрузки информации об обновлениях постоянно выходит ошибка о использовании самоподписанного сертификата, которую не получается убрать, как можно решить данную проблему?
      Вот сам код программы:
       
      from KlAkOAPI.AdmServer import KlAkAdmServer
      from KlAkOAPI import Updates
      from datetime import timedelta
      import urllib3
      import ssl  # Импортируем модуль ssl
      import json
       
      username = 'KLAPI'
      password = '1234QwZ'
      KSC_LIST = {
          'WINDOWS': 'https://127.0.0.1:13299'
      }
      def ConnectKSC(ip):
          """Подключается к серверу Kaspersky Security Center."""
          while True:
              try:
                  connect = KlAkAdmServer.Create(ip, username, password, verify=False, vserver='')
                  if connect:
                      print('Успешно подключился к {}'.format(ip))
                  else:
                      print('Ошибка подключения к {}'.format(ip))
                      return None  # Возвращает None, если подключение не удалось. Не завершает программу.
                  return connect
              except Exception as e:
                  print(f"Ошибка подключения: {e}")
                  return None # Возвращает None, если подключение не удалось
      def get_status_hosts(server, ip):
          """Получает и печатает информацию о статусе обновлений для сервера KSC."""
          urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
          params = []  #  params не используется
          if server is not None:
              try:
                  # Создаем SSL-контекст, который не проверяет сертификаты
                  context = ssl.create_default_context()
                  context.check_hostname = False
                  context.verify_mode = ssl.CERT_NONE
                  # Модифицируем объект сессии для отключения проверки SSL
                  server.session.verify = False  # Отключаем проверку глобально для сессии
                  server.session.cert = None  # Удаляем существующий сертификат
                  straccessor = Updates.KlAkUpdates(server).GetUpdatesInfo(pFilter=params)  # Нет аргумента ssl_context
                  ncount = straccessor.RetVal()
                  if ip == KSC_LIST['WINDOWS']:
                      if 1 in ncount:  # Проверяем, что индекс существует
                          data = ncount[1]
                          print('')
                          print('KSC ======== [ {} ] ========'.format(KSC_LIST['WINDOWS']))
                          print('Дата создания: {}'.format(data['Date'] + timedelta(hours=3)))
                          print('Дата получения: {}'.format(data['KLUPDSRV_BUNDLE_DWL_DATE'] + timedelta(hours=3)))
                          print('============================')
                      else:
                          print("Не удалось получить данные для WINDOWS KSC")
                  else:
                      print(f"Неизвестный IP-адрес KSC: {ip}")  # Добавлена проверка на некорректный IP-адрес KSC
              except Exception as e:
                  print(f"Ошибка при получении информации об обновлениях с {ip}: {e}")
          else:
              print('Ошибка доступа к серверу')  # Это сообщение может вводить в заблуждение, если подключение к серверу не удалось во время ConnectKSC.
      if __name__ == '__main__':  # Исправлена ошибка 'name' на '__name__'
          for ip in KSC_LIST.values():
              server = ConnectKSC(ip)
              if server:  # Продолжаем только если подключение успешно
                  try:
                      get_status_hosts(server, ip)
                  except Exception as e:
                      print(f"Ошибка в get_status_hosts для {ip}: {e}")
              else:
                  print(f"Не удалось подключиться к {ip}. Пропускаем проверку статуса обновлений.")  # Добавлено сообщение, если подключение не удалось.
      Ошибка которая появляется при запуске кода:
       
      Успешно подключился к https://127.0.0.1:13299
      C:\Users\user\PycharmProjects\ksc\.venv\Lib\site-packages\urllib3\connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
        warnings.warn(
      Не удалось получить данные для WINDOWS KSC
      Process finished with exit code 0
       
       
    • ZOLkinA
      Автор ZOLkinA
      Друзья, выручайте!
      имеется три политики (1,2,3).и две группы управляемых устройств (1,2)
      Все три активны. Все три НЕ имеют наследия.
      1 политика -для автономных АРМ.
      2 политика -для группы 2
      3 политика -для группы 3
      Вопрос: Как сделать что бы изменения вносимые по контролю устройств в политику 1,автоматически передавались в политику 2 и 3?
       
       
×
×
  • Создать...