Настройка взаимодействия с агентами для Linux#
Чтобы обеспечить взаимодействие между веб-консолью и агентами для Linux, необходимо разместить на них набор сертификатов и ключей. Можно использовать имеющийся у вас набор или создать тестовый (см. далее).
Примечание
В промышленных развёртываниях рекомендуется использовать сертификаты и ключи, выданные доверенным центром сертификации.
Создание набора самоподписанных сертификатов и ключей
Чтобы создать тестовый набор сертификатов и ключей, выполните следующие действия:
Создайте временный каталог. Например:
$ mkdir /tmp/protego
Создайте во временном каталоге файл скрипта:
$ sudo touch /tmp/protego/gen_crt.sh
Внесите в файл скрипта следующий текст (с учетом особенностей вашей инфраструктуры):
# !/bin/bash # Create dir mkdir -p ~/certs cd ~/certs # Create file config cat <<EOF > domains.ext authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment EOF # Generate CA key and cert openssl genrsa -out server_ca.key 2048 openssl req -new -x509 -nodes -days 365 -key server_ca.key -out server_ca.crt -subj "/C=RU/ST=MOSCOW/L=MOSCOW/O=CyberProtect LLC/OU=RnD/CN=testSrvCA" # Generate server key openssl req -newkey rsa:2048 -nodes -keyout server.key -out server.req -subj "/C=RU/ST=MOSCOW/L=MOSCOW/O=CyberProtect LLC/OU=RnD/CN=testSrv" openssl x509 -req -in server.req -days 365 -CA server_ca.crt -CAkey server_ca.key -set_serial 01 -out server.crt -extfile domains.ext # Generate client key and cert openssl req -newkey rsa:2048 -nodes -keyout client.key -out client.req -subj "/C=RU/ST=MOSCOW/L=MOSCOW/O=CyberProtect LLC/OU=RnD/CN=testClient" openssl x509 -req -in client.req -days 365 -CA server_ca.crt -CAkey server_ca.key -set_serial 01 -out client.crt -extfile domains.ext
Имена ключей и сертификатов должны удовлетворять следующим правилам:
При создании ключа клиента
client.keyполеCNдолжно заканчиваться словом "Client" или "Agent". Например:openssl req -newkey rsa:2048 -nodes -keyout client.key -out client.req -subj "/C=RU/ST=MOSCOW/L=MOSCOW/O=CyberProtect LLC/OU=RnD/CN=testClient"
При создании ключа сервера
server.keyполеCNне должно заканчиваться словом "Client" или "Agent". Например:openssl req -newkey rsa:2048 -nodes -keyout server.key -out server.req -subj "/C=RU/ST=MOSCOW/L=MOSCOW/O=CyberProtect LLC/OU=RnD/CN=testSrv"
Перейдите в созданный каталог, сделайте скрипт исполняемым и запустите его:
$ cd /tmp/protego $ sudo chmod +x ./gen_crt.sh $ ./gen_crt.sh
В результате выполнения скрипта в домашней директории пользователя будет создан каталог certs с набором самоподписанных сертификатов и ключей. Например, для пользователя administrator будут созданы следующие файлы:
/home/administrator/certs/client.crt # Сертификат клиента
/home/administrator/certs/client.key # Закрытый ключ для сертификата клиента
/home/administrator/certs/client.req
/home/administrator/certs/domains.ext
/home/administrator/certs/server.crt # Сертификат сервера
/home/administrator/certs/server.key # Закрытый ключ для сертификата сервера
/home/administrator/certs/server.req
/home/administrator/certs/server_ca.crt # Сертификат центра сертификации
/home/administrator/certs/server_ca.key
Все следующие действия описаны на примере данного набора.
Настройка веб-консоли для работы с набором сертификатов и ключей
Чтобы настроить веб-консоль для работы с набором сертификатов и ключей, выполните следующие действия:
Скопируйте в директорию веб-консоли
/opt/cyberprotect/cpserver/backend/ssl/(ОС Linux) илиC:\Program Files\Cyber Protego Server\backend(ОС Windows) следующие файлы:server.crt,server.key,server_ca.crt,client.crt,client.key.Пример для ОС Linux:
$ sudo cp ~/certs/{server.crt,server.key,server_ca.crt,client.crt,client.key} /opt/cyberprotect/cpserver/backend/ssl/
В конфигурационном файле
/opt/cyberprotect/cpserver/CPServerBackend.yml(ОС Linux) илиC:\Program Files\Cyber Protego Server\backend\CPServerBackend.yml(ОС Windows), в разделахserver->managementиclientвключите использование TLS и укажите пути к скопированным файлам.server: <...> management: <...> tls: enabled: true cert: /opt/cyberprotect/cpserver/backend/ssl/server.crt key: /opt/cyberprotect/cpserver/backend/ssl/server.key caCert: /opt/cyberprotect/cpserver/backend/ssl/server_ca.crt agent_cert: cert: /opt/cyberprotect/cpserver/backend/ssl/client.crt key: /opt/cyberprotect/cpserver/backend/ssl/client.key client: <...> tls: enabled: true cert: /opt/cyberprotect/cpserver/backend/ssl/server.crt key: /opt/cyberprotect/cpserver/backend/ssl/server.key caCert: /opt/cyberprotect/cpserver/backend/ssl/server_ca.crt
server: <...> management: <...> tls: enabled: true cert: C:\Program Files\Cyber Protego Server\backend\server.crt key: C:\Program Files\Cyber Protego Server\backend\server.key caCert: C:\Program Files\Cyber Protego Server\backend\server_ca.crt client: <...> tls: enabled: true cert: C:\Program Files\Cyber Protego Server\backend\server.crt key: C:\Program Files\Cyber Protego Server\backend\server.key caCert: C:\Program Files\Cyber Protego Server\backend\server_ca.crt
Перезапустите службу CPServerBackend:
$ sudo systemctl restart CPServerBackend
> net stop CPServerBackend && net start CPServerBackend
Настройка агентов для работы с набором сертификатов и ключей
Этот шаг можно пропустить, если используется веб-консоль на ОС Linux, для который выполнены все настройки, указанные ранее в этом разделе. В таком случае сертификаты будут размещены на агентах автоматически при выполнении задач установки.
Если в папке /opt/cyberprotect/cpserver/backend/ssl/ нет ключа и сертификата клиента, при выполнении задач установки агенты будут установлены, но не настроены. В этом случае потребуется настроить взаимодействие с ними вручную.
Чтобы настроить агенты для работы с набором сертификатов и ключей, выполните следующие действия для каждого агента:
Скопируйте в директорию агента
/opt/cyberprotect/protego/bin/следующие файлы:client.crt,client.key,server_ca.crt. Например:$ sudo cp ~/certs/{client.key,client.crt,server_ca.crt} /opt/cyberprotect/protego/bin/
От имени пользователя root укажите владельца скопированных файлов и задайте права доступа к ним:
$ su $ cd /opt/cyberprotect/protego/bin/ $ chown cyberprotect:cyberprotect *.crt *.key $ chmod 0400 *.crt *.key
Перезапустите службу protegod:
$ sudo systemctl restart protegod