Сбор диагностических данных для УЦ 2.0(исполнение 15/16) на ОС AstraLinux
Опубликовано Илья Харченко on 2024-02-24 15:14

Важно! Если УЦ расположен на нескольких машинах (например ЦР+ЦС) то диагностику необходимо собрать в полном объеме с каждой машины!

0.Получение списка запущенных процессов и открытых портов

sudo ps -eF | grep -e CryptoPro -e nginx -e nats -e cpro -e postgres

sudo netstat -tulpn

Скриншот с результатом выполнения необходимо будет прикрепить к заявке на ТП.

 

1. Сбор конфиг файлов(CA +NGINX):

#Выполнять в bash, под тем пользователем, который имеет права на доступ в директорию с УЦ
#Путь к файлам УЦ задается в переменной dir, если у Вас файлы УЦ расположенные в директории отличной от директории/opt/cpca то значение данной переменной необходимо будет перезадать 

dir=/opt/cpca
mkdir /tmp/uc_config
if [ -f "$dir/CryptoPro.Ca.Service/appsettings.json" ]; then echo "File Ca.Service/appsettings.json found" ; cp "$dir/CryptoPro.Ca.Service/appsettings.json" /tmp/uc_config/CryptoPro.Ca.Service_appsettings.json ; fi
if [ -f "$dir/CryptoPro.CertRegistry.Service/appsettings.json" ]; then echo "File CertRegistry.Service/appsettings.json found" ; cp "$dir/CryptoPro.CertRegistry.Service/appsettings.json" /tmp/uc_config/CertRegistry.Service_appsettings.json ; fi
if [ -f "$dir/CryptoPro.CertRegistry.Web/appsettings.json" ]; then echo "File CryptoPro.CertRegistry.Web/appsettings.json found" ; cp "$dir/CryptoPro.CertRegistry.Web/appsettings.json" /tmp/uc_config/CryptoPro.CertRegistry.Web_appsettings.json ; fi
if [ -f "$dir/CryptoPro.Ra.Service/appsettings.json" ]; then echo "File CryptoPro.Ra.Service/appsettings.json found" ; cp "$dir/CryptoPro.Ra.Service/appsettings.json" /tmp/uc_config/CryptoPro.Ra.Service_appsettings.json ; fi
if [ -f "$dir/CryptoPro.Ra.Web/appsettings.json" ]; then echo "File CryptoPro.Ra.Web/appsettings.json found" ; cp "$dir/CryptoPro.Ra.Web/appsettings.json" /tmp/uc_config/CryptoPro.Ra.Web_appsettings.json ; fi
if [ -f "$dir/CryptoPro.Ra.Web.Ui/init.json" ]; then echo "File $dir/CryptoPro.Ra.Web.Ui/init.json found" ; cp "$dir/CryptoPro.Ra.Web.Ui/init.json" /tmp/uc_config/CryptoPro.Ra.Web.Ui_init.json ; fi
if [ -f "$dir/nats-streaming/nats.conf" ]; then echo "File nats-streaming/nats.conf found" ; cp "$dir/nats-streaming/nats.conf" /tmp/uc_config/nats.conf ; fi
if [ -f "$dir/nats-streaming/nats.no-tls.conf" ]; then echo "File nats-streaming/nats.no-tls.conf found" ; cp "$dir/nats-streaming/nats.no-tls.conf" /tmp/uc_config/nats.no-tls.conf ; fi
if [ -f "$dir/pkica/appsettings.json" ]; then echo "File pkica/appsettings.json found" ; cp "$dir/pkica/appsettings.json" /tmp/uc_config/pkica_appsettings.json ; fi
if [ -f "/etc/nginx/nginx.conf" ]; then echo "File nginx.conf found" ; cp "/etc/nginx/nginx.conf" /tmp/uc_config/nginx ; fi
if [ -f "/var/log/nginx/error.log" ]; then echo "/var/log/nginx/error.log found" ; cp "/var/log/nginx/error.log" /tmp/uc_config/nginx_error.log ; fi
if [ -f "/var/log/nginx/error.log" ]; then echo "/var/log/nginx/access.log found" ; cp "/var/log/nginx/access.log" /tmp/uc_config/nginx_access.log ; fi
tar -cvf /tmp/uc_config.gz /tmp/uc_config/

 #результатом будет архив uc_config.gz  который необходимо будет прикрепить к заявке на ТП.

 

2. Сбор информации о сертификатах 

#Чтобы получить информацию о сертификатах, установленных в хранилище пользователя необходимо:
#Важо выполнять команду от имени того пользователя, которому принадлежат права на диреторию УЦ, и из под которого запускаются демоны.

/opt/cprocsp/bin/amd64/certmgr -list -store uMy -verbose -chain > /tmp/cert_user_ca.txt

#То-же самое для пользователя nginx(или пользователя из под которого запускается nginx)

sudo -u nginx /opt/cprocsp/bin/amd64/certmgr -list -store uMy -verbose -chain > /tmp/cert_nginx.txt

Результатом будут файлы /tmp/cert_user_ca.txt и /tmp/cert_nginx.txt которые необходимо будет прикрепить к заявке на ТП.

  

3. Сбор логов УЦ, за текущую дату 

#Значение переменной dir=/var/log/cpca/ это путь к файлам логов по умолчанию, если у Вас используется другой путь, то это значение можно перезадать
dir=/var/log/cpca/

d=$(date +%Y%m%d)
mkdir "/tmp/$d"
find $dir -type f | grep $d |xargs -i cp {} /tmp/$d/
tar -cvf /tmp/$d_uclog.gz "/tmp/$d/"

Результатом будет файл /tmp/<текущая дата>_uclog.gz который необходимо будет прикрепить к заявке на ТП.

3.1(опционально) Сбор логов демонов в неструктурированном виде, за определенный промежуток времени: 

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

#Где 20 это количество минут, за которые надо собрать логи

sudo journalctl --since "20 min ago" | grep -e CryptoPro -e nginx -e nats -e cpro | grep -v capi > /tmp/uc_log.txt

 

4. TSP/OCSP

Конфиги:

OCSP - В директории установки службы OCSP распологается файл ocsp_2012.json -его необходимо скопировать и приложить в обращение.

TSP - В директории установки службы TSP распологается файл tsp_2012.json -его необходимо скопировать и приложить в обращение.

 

Лог файлы:

В конфиг файлах, распоолжене котрых описанно выше прописан путь к лог файлам, стандартный путь это 

для OCSP   /tmp/ocsp_2012_HH:mm:ss

для  TSP    /tmp/tsp_2012_HH:mm:ss

 

Самый свежий файл логов необходимо приложить в обращение

 

 

 

 

 

 

(4 плюсик(ов))
Класс!
Не очень :(

Коментарии (0)