Утилита sos предназначена для анализа системы при поступлении запроса в службу технической поддержки, предоставляет стандартизированный способ сбора диагностической информации, на которую инженеры службы технической поддержки могут ссылаться при диагностирование проблем. Использование данной утилиты помогает исключить повторные запросы данных об ошибках.
Утилита sos позволяет собирать различную отладочную информацию из одной или нескольких систем, при необходимости очищать конфиденциальные данные.
Параметры утилиты:
sos report — сбор отладочной информации с одной системы;sos collect — запуск и сбор отдельных отчетов с указанного набора узлов;sos clean — сокрытие потенциально конфиденциальной информации (имена пользователей, имена хостов, IP- или MAC-адреса или другие данные, указанные пользователем).Информация, собранная в отчете, содержит сведения о конфигурации, системную информацию и диагностическую информацию из системы, такую как:
Утилита sos записывает собранные данные в архив с именем sosreport-<имя_хоста>-<номер_запроса>-<ГГГГ-ММ-ДД>-<случайные_уникальные_символы>.tar.xz.
Утилита сохраняет архив и его контрольную сумму в каталоге /tmp/:
astra@server:~$ ls -l /tmp/sosreport* -rw-r----- 1 root astra-admin 87036 ноя 27 09:27 /tmp/sosreport-server-123-2023-11-27-aywdsnl.tar.xz -rw-r--r-- 1 root root 33 ноя 27 09:27 /tmp/sosreport-server-123-2023-11-27-aywdsnl.tar.xz.md5 |
Утилита sos входит в состав ОС Astra Linux Special Edition 1.7.
Чтобы установить утилиту на другие версии ОС Astra Linux, требуются права суперпользователя:
Выполнить команду:
sudo apt install sosreport |
Убедиться, что пакет установлен:
sudo dpkg -s sosreport |
sudo apt install fly-sosreport |
Выполнить команду:
sudo sos report |
Следовать инструкциям на экране:
sosreport (version 4.0) This command will collect system configuration and diagnostic information from this Debian system. For more information on the Debian project visit: https://www.debian.org/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Нажмите ENTER для продолжения или CTRL-C для выхода. |
Имя файла отчета отображается в конце вывода:
Finished running plugins
Создается архив...
Your sosreport has been generated and saved in:
/tmp/sosreport-server-123-2023-11-27-ztdyuvc.tar.xz
Size 11.14MiB
Owner root
md5 9713252c24d0ea5f524b119156b6825f
Please send this file to your support representative. |
Чтобы обфусцировать создаваемый sosreport, исключив конфиденциальную информацию, следует использовать опцию --clean:
|
Убедиться, что создан архив в каталоге /tmp/, соответствующий описанию из выходных данных команды:
astra@server:~$ ls -l /tmp/sosreport* -rw-r----- 1 root astra-admin 87036 ноя 27 09:27 /tmp/sosreport-server-123-2023-11-27-aywdsnl.tar.xz -rw-r--r-- 1 root root 33 ноя 27 09:27 /tmp/sosreport-server-123-2023-11-27-aywdsnl.tar.xz.md5 |
Во всех системах должны соблюдаться условия:
|
sos collect |
По умолчанию Опции утилиты
|
astra@pcmk-1:~# sudo sos collect -o process --nodes=pcmk-1,pcmk-2 --ssh-user=astra --password sos-collector (version 4.0) ... Press ENTER to continue, or CTRL-C to quit Please enter the case id you are collecting reports for: test Provide the SSH password for user astra: Cluster type set to Pacemaker High Availability Cluster Manager The following is a list of nodes to collect from: pcmk-1 pcmk-2 Connecting to nodes... Beginning collection of sosreports from 2 nodes, collecting a maximum of 4 concurrently pcmk-1 : Generating sosreport... pcmk-2 : Generating sosreport... pcmk-2 : Retrieving sosreport... pcmk-2 : Successfully collected sosreport pcmk-1 : Retrieving sosreport... pcmk-1 : Successfully collected sosreport The following archive has been created. Please provide it to your support team. /tmp/sos-collector-test-2023-12-02-lnyhg.tar.xz |
/tmp/, соответствующий описанию из выходных данных команды:astra@pcmk-1:~# sudo ls -l /tmp/sos* -rw------- 1 root root 13109664 дек 2 13:26 /tmp/sos-collector-test-2023-12-02-lnyhg.tar.xz |
Защита отчета с помощью шифрования GPG используется для передачи его по общедоступной сети третьей стороне.
При создании зашифрованного отчета используется вдвое больше места на диске, т. к. утилита sos:
|
sudo sos report |
--encrypt-pass.astra@pcmk-1:~$ sudo sos report --encrypt-pass 1234
sosreport (version 4.0)
...
Нажмите ENTER для продолжения или CTRL-C для выхода.
Please enter the case id that you are generating this report for []: gpg-test
Setting up archive ...
Setting up plugins ...
Running plugins. Please wait ...
Finishing plugins [Running: pacemaker]
Finished running plugins
Создается архив...
Your sosreport has been generated and saved in:
/tmp/secured-sosreport-pcmk-1-gpg-test-2023-12-02-bluhmko.tar.xz.gpg
Size 10.54MiB
Owner root
md5 005d7b79b61ebcfc0c97707b355306db
Please send this file to your support representative. |
secured;.gpg;/tmp/.astra@pcmk-1:~$ ls -l /tmp/secured* -rw-r----- 1 root astra-admin 11051437 дек 2 07:26 /tmp/secured-sosreport-pcmk-1-gpg-test-2023-12-02-bluhmko.tar.xz.gpg -rw-r--r-- 1 root root 33 дек 2 07:26 /tmp/secured-sosreport-pcmk-1-gpg-test-2023-12-02-bluhmko.tar.xz.gpg.md5 |
Выполнить команду:
astra@pcmk-1:~$ sudo gpg --output decrypted-sosreport.tar.gz --decrypt /tmp/secured-sosreport-pcmk-1-gpg-test-2023-12-02-bluhmko.tar.xz.gpg |
Ввести кодовую фразу, которая использовалась для шифрования архива:
┌────────────────────────────────────────────────────────┐
│ Введите фразу-пароль │
│ │
│ │
│ Фраза-пароль: ________________________________________ │
│ │
│ <OK> <Отмена (C)> │
└────────────────────────────────────────────────────────┘
|
Убедиться, что создан незашифрованный архив с расширением .tar.gz:
astra@pcmk-1:~$ ls -l decrypted* -rw-r--r-- 1 root root 11025760 дек 2 07:32 decrypted-sosreport.tar.gz |
Защита отчета с помощью пары ключей из связки GPG подходит для отчетов, хранящихся на сервере.
При создании зашифрованного отчета используется вдвое больше места на диске, т. к. утилита sos:
|
Выполнить команду:
sudo sos report |
Указать имя пользователя, которому принадлежит связка ключей GPG, с помощью опции --encrypt-key.
Следовать инструкциям. Имя файла отчета отображается в конце вывода:
secured..gpg.архив находится в каталоге /tmp/.
astra@pcmk-1:~$ ls -l /tmp/secured* -rw-r----- 1 root astra-admin 11051437 дек 2 08:26 /tmp/secured-sosreport-pcmk-1-gpg-test-key-2023-12-02-bluhmko.tar.xz.gpg -rw-r--r-- 1 root root 33 дек 2 08:26 /tmp/secured-sosreport-pcmk-1-gpg-test-key-2023-12-02-bluhmko.tar.xz.gpg.md5 |
Убедиться, что архив можно расшифровать с помощью парольной фразы, которая использовалась для его шифрования:
Выполнить команду:
astra@pcmk-1:~$ sudo gpg --output decrypted-sosreport-key.tar.gz --decrypt /tmp/secured-sosreport-pcmk-1-gpg-test-key-2023-12-02-bluhmko.tar.xz.gpg |
┌───────────────────────────────────────────────────────────────────┐
│ Введите фразу-пароль для разблокировки секретного ключа OpenPGP: │
│ "GPG User (first key) <root@example.com>" │
│ 2048-битный ключ RSA, идентификатор B7354458F02D70D5, │
│ создан 2023-12-02. │
│ │
│ │
│ Фраза-пароль: ___________________________________________________ │
│ │
│ <OK> <Отмена (C)> │
└───────────────────────────────────────────────────────────────────┘
|
.tar.gz:astra@pcmk-1:~$ ls -l decrypted* -rw-r--r-- 1 root root 11025760 дек 2 08:32 decrypted-sosreport-key.tar.gz |
Создать файл key-input, используемый для генерации пары ключей GPG с предпочтительными данными. Например:
astra@pcmk-1:~$ cat >key-input <<EOF %echo Generating a standard key Key-Type: RSA Key-Length: 2048 Name-Real: GPG User Name-Comment: first key Name-Email: root@example.com Expire-Date: 0 %commit %echo Finished creating standard key EOF |
Сгенерировать ключ GPG2 на основе содержимого файла key-input:
astra@pcmk-1:~$sudo gpg --batch --gen-key key-input |
Ввести кодовую фразу для защиты ключа GPG (доступ к закрытому ключу для расшифровки):
┌────────────────────────────────────────────────────────┐
│ Введите фразу-пароль │
│ для защиты нового ключа │
│ │
│ Фраза-пароль: ________________________________________ │
│ │
│ <OK> <Отмена (C)> │
└────────────────────────────────────────────────────────┘ |
Повторить ввод кодовой фразы:
┌────────────────────────────────────────────────────────┐
│ Повторите фразу-пароль: │
│ │
│ Фраза-пароль: ________________________________________ │
│ │
│ <OK> <Отмена (C)> │
└────────────────────────────────────────────────────────┘ |
Убедиться, что новый ключ GPG успешно создан:
gpg: Generating a standard key gpg: /root/.gnupg/trustdb.gpg: создана таблица доверия gpg: ключ B7354458F02D70D5 помечен как абсолютно доверенный gpg: создан каталог '/root/.gnupg/openpgp-revocs.d' gpg: сертификат отзыва записан в '/root/.gnupg/openpgp-revocs.d/0BF533429D80F579827F61CFB7354458F02D70D5.rev'. gpg: Finished creating standard key |
Проверить GPG-ключи пользователя root на сервере:
astra@pcmk-1:~$ sudo gpg --list-secret-key
/root/.gnupg/pubring.kbx
------------------------
sec rsa2048 2023-12-02 [SCEA]
0BF533429D80F579827F61CFB7354458F02D70D5
uid [ абсолютно ] GPG User (first key) <root@example.com> |
Режим восстановления позволяет смонтировать целевую систему, получив доступ к ее содержимому и запустить команду sos report.
Должны соблюдаться следующие условия:
|
Выполнить команду chroot /target для получения доступа к корневому разделу:

Выполнить команду:
sos report |
Следовать инструкциям на экране:
sh-5.0# sos report sosreport (version 4.0) This command will collect system configuration and diagnostic information from this Debian system. For more information on the Debian project visit: https://www.debian.org/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Нажмите ENTER для продолжения или CTRL-C для выхода. |
Имя файла отчета отображается в конце вывода:
Finishing plugins [Running: systemd] Finished running plugins Создается архив... Your sosreport has been generated and saved in: /tmp/sosreport-astra-rescue-mod-test-2023-12-06-bfbowtj.tar.xz Size 10.43MiB Owner root md5 ddd7de0e428d7e4c7dc5caf36555b714 Please send this file to your support representative. sh-5.0# |
Убедиться, что создан архив в каталоге /tmp/:
sh-5.0# ls -l /tmp/sosreport* -rw-r----- 1 root astra-admin 10939108 дек 6 09:34 /tmp/sosreport-astra-rescue-mod-test-2023-12-06-bfbowtj.tar.xz -rw-r--r-- 1 root root 33 дек 6 09:34 /tmp/sosreport-astra-rescue-mod-test-2023-12-06-bfbowtj.tar.xz.md5 sh-5.0# |
Скопировать диагностический архив на удаленное или USB-устройство:
ip a |

ip link set enp1s0 up |
enp1s0 — имя необходимого интерфейса.dhclient |
ip addr add 192.168.0.123/255.255.255.0 dev enp1s0 |
192.168.0.123 — IP-адрес устройства; 255.255.255.0 — маска подсети, enp1s0 — имя необходимого интерфейса.Пример настроенного интерфейса enp1s0:

scp /tmp/sosreport* test@192.168.0.100:/tmp |
/tmp — каталог на удаленном устройстве.Для подключения на удаленном устройстве должен быть настроен SSH-сервер (см. статью Справочного центра SSH). |

mount /dev/sda1 /media |
/dev/sda1 — раздел USB-устройства;/media — точка монтирования.cp /tmp/sosreport* /media |
Сохранить копии оригинального необфусцированного архива и файла |
Утилита sos позволяет скрывать конфиденциальные данные. Исходный отчет остается неизменным, при этом создается новый файл *-obfuscated.tar.xz, предназначенный для передачи третьим лицам.
sos report или sos collect):sudo sos clean |
--keywords:astra@pcmk-1:~#sudo sos clean /tmp/sos-collector-test-2023-12-02-lnyhg.tar.xz sos clean (version 4.0) ... Press ENTER to continue, or CTRL-C to quit. Found 3 total reports to obfuscate, processing up to 4 concurrently sosreport-pcmk-2-test-2023-12-02-qkjsswr : Extracting... sosreport-pcmk-1-test-2023-12-02-xjjpysa : Extracting... sos-collector-test-2023-12-02-lnyhg : Beginning obfuscation... sos-collector-test-2023-12-02-lnyhg : Obfuscation completed sosreport-pcmk-2-test-2023-12-02-qkjsswr : Beginning obfuscation... sosreport-pcmk-1-test-2023-12-02-xjjpysa : Beginning obfuscation... sosreport-pcmk-1-test-2023-12-02-xjjpysa : Re-compressing... sosreport-pcmk-2-test-2023-12-02-qkjsswr : Re-compressing... sosreport-pcmk-2-test-2023-12-02-qkjsswr : Obfuscation completed sosreport-pcmk-1-test-2023-12-02-xjjpysa : Obfuscation completed Successfully obfuscated 3 report(s) A mapping of obfuscated elements is available at /tmp/sos-collector-test-2023-12-02-lnyhg-private_map The obfuscated archive is available at /tmp/sos-collector-test-2023-12-02-lnyhg-obfuscated.tar.xz Size 12.52MiB Owner root Please send the obfuscated archive to your support representative and keep the mapping file private |
/tmp/, соответствующий описанию из выходных данных команды:astra@pcmk-1:~# ls -l /tmp/sos-collector-test-2023-12-02-lnyhg* -rw------- 1 root root 13130372 дек 2 13:50 /tmp/sos-collector-test-2023-12-02-lnyhg-obfuscated.tar.xz -rw------- 1 root root 1253 дек 2 13:50 /tmp/sos-collector-test-2023-12-02-lnyhg-obfuscation.log -rw------- 1 root root 2198 дек 2 13:50 /tmp/sos-collector-test-2023-12-02-lnyhg-private_map -rw------- 1 root root 13109664 дек 2 13:26 /tmp/sos-collector-test-2023-12-02-lnyhg.tar.xz |
*-private_map на предмет отображения карты соотношения реальных данных к обфусцированным:{
"hostname_map": {
"pcmk-2": "host0",
"pcmk-1": "host1"
},
"ip_map": {
"10.10.10.0/24": "100.0.0.0/24",
...
},
"mac_map": {
"52:54:00:cb:d0:d9": "53:4f:53:b7:47:88",
...
"1b36:0100:1af4:1100": "534f:53ff:fe5f:c599"
},
"keyword_map": {}
} |