Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 6 Следующий »

Назначение утилиты sos

Утилита 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

Терминал

Утилита sos входит в состав ОС Astra Linux Special Edition 1.7.

Чтобы установить утилиту на другие версии ОС Astra Linux, требуются права суперпользователя:

  1. Выполнить команду:

    sudo apt install sosreport
  2. Чтобы убедиться, что пакет установлен, выполнить команду:

    sudo dpkg -s sosreport

Графический режим

  1. Установить графическую утилиту "Центр системных отчетов":
    sudo apt install fly-sosreport
  2. Запустить утилиту: Меню "Пуск" — Панель управления — Система — Центр системных отчетов.

Создание отчета

  1. Выполнить команду:

    sudo sos report
  2. Следовать инструкциям на экране:

    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 для выхода.
    
    
  3. Имя файла отчета отображается в конце вывода:

      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:

    sudo sos report --clean

  4. Убедиться, что утилита sos создала архив в /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 для запуска команды sos report может использоваться в нескольких системах.

Должны быть соблюдены следующие условия:

  • есть информация о типе кластера или списке узлов для запуска;
  • установлен пакет sos на все системы;
  • ssh-ключи для учетной записи root есть во всех системах (или пароль root указывается с помощью опции --password).

Запустите команду sos collect и следуйте инструкциям на экране.

По умолчанию sos collect пытается определить тип кластера, в котором он выполняется, чтобы автоматически идентифицировать узлы, с которых будут собираться отчеты.

  1. Чтобы вручную задать типы кластеров или узлов, необходимо использовать опции --cluster-type или --nodes.
  2. Чтобы указать утилите sos на удаленный узел для определения типа кластера и списков узлов, необходимо использовать параметр --master. Таким образом, не нужно входить в систему на узлах кластера, чтобы собирать отчеты sos.
  3. Любая допустимая опция sos report может быть дополнительно указана (например, --batch и --clean) и будет передаваться при выполнении всех отчетов.

    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
    
    

Убедитесь, что команда sos collect создала архив в /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


Обфускация отчета

Утилита sos позволяет скрывать конфиденциальные данные. Исходный отчет остается неизменным, при этом создается новый файл *-obfuscated.tar.xz, предназначенный для передачи третьим лицам.

Запустите команду sos clean на архив из sos report или sos collect и следуйте инструкциям на экране. Чтобы дополнительно заменить базовый список ключевых слов, необходимо добавить опцию --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


Убедитесь, что команда sos clean создала архив со скрытыми данными в /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": {}
}

Рекомендуем сохранить копии оригинального необфусцированного архива и файла *private_map в локальном каталоге(не /tmp), т.к. сотрудникам технической поддержки могут потребоваться уточнения обфусциорванных данных, которые потребуют от вас перевода к реальным данным.

Создание отчета и защита его с помощью шифрования GPG

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

Убедитесь, что у вас достаточно места при создании зашифрованного отчета, поскольку он временно использует вдвое больше места на диске:

  1. Утилита sos создает незашифрованный отчет.
  2. Утилита шифрует отчет как новый файл.
  3. Затем утилита удаляет незашифрованный архив.

Запустите команду 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.

Убедитесь, что утилита sos создала архив, соответствующий следующим требованиям:

  • Имя файла начинается с 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

Убедитесь, что архив возможно расшифровать с помощью той же парольной фразы, которая использовалась для его шифрования:

  • Использовать команду gpg для расшифровки архива:

    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)>       │
                                                    └────────────────────────────────────────────────────────┘
    
    
  • Необходимо убедиться, что утилита gpg создала незашифрованный архив с расширением .tar.gz файл:

    astra@pcmk-1:~$ ls -l decrypted*
    -rw-r--r-- 1 root root 11025760 дек  2 07:32 decrypted-sosreport.tar.gz

Создание отчета и защита его с помощью GPG-шифрования на основе пары ключей

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

Убедитесь, что у вас достаточно места при создании зашифрованного отчета, поскольку он временно использует вдвое больше места на диске:

  1. Утилита sos создает незашифрованный отчет.
  2. Утилита шифрует отчет как новый файл.
  3. Затем утилита удаляет незашифрованный архив.

Должны быть соблюдены следующие условия:

  • Создан ключ GPG2.
  1. Запустите команду sos report, укажите имя пользователя, которому принадлежит связка ключей GPG, с помощью опции --encrypt-key и следуйте инструкциям. Имя файла отчета отображается в конце вывода консоли:

  2. Убедитесь, что утилита sos создала архив, соответствующий следующим требованиям:
    • Имя файла начинается с 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
  3. Убедитесь, что архив возможно расшифровать с помощью той же парольной фразы, которая использовалась для его шифрования:

  • Используйте команду gpg для расшифровки архива:

    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

  • При появлении запроса необходимо ввести кодовую фразу, которая использовалась при создании ключа GPG:
                                              ┌───────────────────────────────────────────────────────────────────┐
                                              │ Введите фразу-пароль для разблокировки секретного ключа OpenPGP:  │
                                              │ "GPG User (first key) <root@example.com>"                         │
                                              │ 2048-битный ключ RSA, идентификатор B7354458F02D70D5,             │
                                              │ создан 2023-12-02.                                                │
                                              │                                                                   │
                                              │                                                                   │
                                              │ Фраза-пароль: ___________________________________________________ │
                                              │                                                                   │
                                              │         <OK>                                  <Отмена (C)>        │
                                              └───────────────────────────────────────────────────────────────────┘
    
    

4. Убедитесь, что утилита gpg создала незашифрованный архив с расширением .tar.gz файл:

astra@pcmk-1:~$ ls -l decrypted*
-rw-r--r-- 1 root root 11025760 дек  2 08:32 decrypted-sosreport-key.tar.gz


Создание ключа GPG

Эта процедура описывает, как сгенерировать пользователю root GPG-ключ для использования с утилитами шифрования.

  1. Создайте файл 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
  2. Сгенеририруйте новый ключ GPG2 на основе содержимого файла key-input:

    astra@pcmk-1:~$sudo gpg --batch --gen-key key-input

  3. Введите кодовую фразу для защиты ключа GPG для доступа к закрытому ключу для расшифровки:

                                                    ┌────────────────────────────────────────────────────────┐
                                                    │ Введите фразу-пароль                                   │
                                                    │ для защиты нового ключа                                │
                                                    │                                                        │
                                                    │ Фраза-пароль: ________________________________________ │
                                                    │                                                        │
                                                    │        <OK>                         <Отмена (C)>       │
                                                    └────────────────────────────────────────────────────────┘


  4. Подтвердите правильность парольной фразы, введя ее еще раз:

                                                    ┌────────────────────────────────────────────────────────┐
                                                    │ Повторите фразу-пароль:                                │
                                                    │                                                        │
                                                    │ Фраза-пароль: ________________________________________ │
                                                    │                                                        │
                                                    │        <OK>                         <Отмена (C)>       │
                                                    └────────────────────────────────────────────────────────┘
  5. Убедитесь, что новый ключ 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
  6. Проверьте 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.

Должны быть соблюдены следующие условия:

  • Если хост представляет собой обычный сервер, необходим физический доступ к компьютеру.
  • Если хост является виртуальной машиной, необходим доступ к настройкам виртуальной машины в гипервизоре.
  • Технический установочный диск операционной системы специального назначения Astra Linux: файл образа ISO, установочный DVD, компакт-диск netboot или конфигурация среды выполнения предварительной загрузки (PXE).
  1. Следуя инструкциям статьи Справочного центра: Режимы восстановления, перейдите в псевдотерминал. Активируйте консоль, нажав "Enter"
  2. Для получения доступа к корневому разделу выполнить команду chroot /target

  3. Запустите команду sos report и следуйте инструкциям на экране:

  4. Имя файла отчета отображается в конце вывода консоли:

  5. Убедитесь, что утилита sos создала архив в каталоге /tmp/:

  6. Скопируйте диагностический архив на другое устройство или носитель для дальнейшей отправки.

    Перемещение диагностического архива

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

    По сети:

    1. Проверить статус сетевого интерфейса, выполнив команду:

    ip a

    Пример вывода команды:

    2. Если интерфейс имеет состояние DOWN, как показано на скришоте, следует поднять интерфейс, выполнив команду:

    ip link set enp1s0 up
    где enp1s0 - имя необходимого интерфейса.

    3. Назначить ip-адрес интерфейсу:

    • если в локальной сети работает DHCP -сервер, выполнить команду:

      dhclient

    • если в локальной сети отсутствует DHCP - сервер, назначить адрес вручную, выполнив команду:

      ip addr add 192.168.0.123/255.255.255.0 dev enp1s0
      где 192.168.0.123 - ip-адрес устройства; 255.255.255.0 - маска подсети, enp1s0 - имя необходимого интерфейса.

    Пример настроенного интерфейса enp1s0:

    4. Использовать утилиту scp, для копирования диагностического архива на работающее устройство в локально сети:

    scp /tmp/sosreport* test@192.168.0.100:/tmp

    где test- имя пользователя для SSH подключения, 192.168.0.100 - ip-адрес удаленного устройства, :/tmp -директория на удаленном устройстве.

    Для подключения на удаленном устройстве должен быть настроен SSH-сервер. Для настройки SSH-сервера на ОС СН Astra Linux рекомендуем ознакомиться со статье справочного центра: SSH

    Через съемный носитель информации:

    1. Подключить съемный носитель информации(далее -СНИ) к устройству.

    2. Выполнить поиск устройства с помощью утилиты lsblk. Например:


    3. Выполнить монтирование раздела в каталог с помощью утилиты mount. Например:

    mount /dev/sda1 /media
    где /dev/sda1 - раздел СНИ, /media - точка монтирования.

    4. Использовать утилиту cp, для копирования диагностического архива на СНИ:

    cp /tmp/sosreport* /media
    где /media - точка монтирования.

  7. Следуя инструкциям статьи Справочного центра: Режимы восстановления, завершить работу с псевдотерминалом.
  • Нет меток