Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление
maxLevel2

Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)

Назначение утилиты 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 Special Edition 1.6.x, требуются права суперпользователя и подключение к репозиторию:

  1. Скачать архив репозитория по ссылке.
  2. Распаковать архив.
  3. Выполнить команду:
    Блок кода
    sudo dpkg -i /путь_к_каталогу_sosreport/*.deb
  4. Убедиться, что пакет установлен:

    Блок кода
    sudo dpkg -s sosreport

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

  1. Установить графическую утилиту "Центр системных отчетов" (входит в состав ОС Astra Linux Special Edition 1.7 и выше):
    Блок кода
    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, см. Обфускация отчета.

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

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

Защита отчета с помощью шифрования GPG используется для передачи его по общедоступной сети третьей стороне.

Информация

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

  • создает незашифрованный отчет;
  • шифрует отчет как новый файл;
  • удаляет незашифрованный архив.
  1. Выполнить команду, указав парольную фразу с помощью опции --encrypt-pass:
    Блок кода
    sudo sos report --encrypt-pass
  2. Следовать инструкциям. Имя файла отчета отображается в конце вывода:
    Блок кода
    collapsetrue
    astra@pcmk-1:~$ sudo sos report --encrypt-pass root
    
    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.
  3. Убедиться, что создан архив, соответствующий следующим требованиям:
    • имя файла начинается с 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
      
  4. Убедиться, что архив можно расшифровать с помощью парольной фразы, которая использовалась для его шифрования:
    1. Выполнить команду:

      Блок кода
      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
    2. Ввести парольную фразу, которая использовалась для шифрования архива:

      Блок кода
                                                      ┌────────────────────────────────────────────────────────┐
                                                      │ Введите фразу-пароль                                   │
                                                      │                                                        │
                                                      │                                                        │
                                                      │ Фраза-пароль: ________________________________________ │
                                                      │                                                        │
                                                      │        <OK>                         <Отмена (C)>       │
                                                      └────────────────────────────────────────────────────────┘
      
  5. Убедиться, что создан незашифрованный архив с расширением .tar.gz:

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

Создание пары ключей GPG
Якорь
key GPG
key GPG

  1. Создать файл key-input, используемый для генерации пары ключей GPG с предпочтительными данными. Например:

    Блок кода
    collapsetrue
    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>

Создание отчета и защита его на основе пары ключей

Защита отчета с помощью пары ключей из связки ключей GPG подходит для отчетов, хранящихся на сервере.

Информация

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

  • создает незашифрованный отчет;
  • шифрует отчет как новый файл;
  • удаляет незашифрованный архив.
  1. Создать ключ GPG2 (см. ниже).
  2. Выполнить команду, указав имя пользователя, которому принадлежит связка ключей GPG, с помощью опции --encrypt-key:

    Блок кода
    sudo sos report --encrypt-key 1234
  3. Следовать инструкциям. Имя файла отчета отображается в конце вывода:

    Блок кода
    collapsetrue
    astra@pcmk-1:~$ sudo sos report --encrypt-key 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.
  4. Убедиться, что создан архив, соответствующий следующим требованиям:
    • имя файла начинается с 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
  5. Убедиться, что архив можно расшифровать с помощью парольной фразы, которая использовалась для его шифрования:

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

      Блок кода
      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
    2. Ввести кодовую фразу, которая использовалась при создании ключа GPG:
      Блок кода
                                                ┌───────────────────────────────────────────────────────────────────┐
                                                │ Введите фразу-пароль для разблокировки секретного ключа OpenPGP:  │
                                                │ "GPG User (first key) <root@example.com>"                         │
                                                │ 2048-битный ключ RSA, идентификатор B7354458F02D70D5,             │
                                                │ создан 2023-12-02.                                                │
                                                │                                                                   │
                                                │                                                                   │
                                                │ Фраза-пароль: ___________________________________________________ │
                                                │                                                                   │
                                                │         <OK>                                  <Отмена (C)>        │
                                                └───────────────────────────────────────────────────────────────────┘
      
  6. Убедиться, что создан незашифрованный архив с расширением .tar.gz:
    Блок кода
    astra@pcmk-1:~$ ls -l decrypted*
    -rw-r--r-- 1 root root 11025760 дек  2 08:32 decrypted-sosreport-key.tar.gz

Создание отчета из среды восстановления

Режим восстановления позволяет смонтировать целевую ОС, получив доступ к ее содержимому и запустить команду sos report.

Информация

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

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

    Блок кода
    Please press Enter to activate this console.
    BusyBox vl.30.1 (Debian 1:1.30.1—4+ci202301251328+astra2) built—in shell (ash)
    Enter 'help' for a list of built—in commands.
    
    ~ # chroot /target
    sh-5.0# _
  5. Выполнить команду:

    Блок кода
    sos report
  6. Следовать инструкциям для продолжения на экране:

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

    Блок кода
    collapsetrue
      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#
  8. Убедиться, что создан архив в каталоге /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#
  9. Скопировать диагностический архив на удаленное или USB-устройство:

    • по сети:
      1. Проверить статус сетевого интерфейса:
        Блок кода
        ip a
        Пример вывода команды:
        Блок кода
        sh—5.0# ip a
        
        1: 	lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
        	link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        2: 	enpls0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        	link/ether 52:51:00:2f:7f:7c brd ff:ff:ff:ff:ff:ff
        
        sh—5.0# _
      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:

            Блок кода
            1: 	lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
                link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
            2:  enpls0: <BROADCAST,MULTICAST,UP.LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1
            000
            	link/ether 52:51:00:2f:7f:7c brd ff:ff:ff:ff:ff:ff
            	inet 192.168.0.123/21 scope global enpls0
            		valid_lft forever preferred_lft forever
            	inet6 fe80::5054:ff:fe2f:7f7c/64 scope link
            		valid_lft forever preferred_lft forever
      4. Cкопировать диагностический архив на удаленное устройство:
        Блок кода
        scp /tmp/sosreport* test@192.168.0.100:/tmp
        где
        • test — имя пользователя для SSH-подключения;
        • 192.168.0.100 — IP-адрес удаленного устройства;
        • /tmp — каталог на удаленном устройстве.
          Примечание

          Для подключения на удаленном устройстве должен быть настроен SSH-сервер (см. статью Справочного центра SSH).

    • с помощью USB-устройства:
      1. Подключить USB-устройство.
      2. Выполнить поиск USB-устройства. Например:
        Блок кода
        sh—5.0# lsblk
        NAME		MAJ:MIN	 	RM	 	SIZE	 	RO         TYPE		MOUNTPRINT
        sda 		8:0 		0 		953.9G		0         disk
        '—sda1 		8:1 		0 		953.9G	    0         part
        sr0 		11:0 		1 		1.2G	    0         rom
        vda 		252:0 		0 		29.3G	    0         disk
        '—vda1 		252:1 		0 		29.3G	    0         part		/
        sh—5.0# _
      3. Смонтировать раздел USB-устройства в каталог:
        Блок кода
        mount /dev/sda1 /media
        где
        • /dev/sda1 — раздел USB-устройства;
        • /media — точка монтирования.
      4. Скопировать диагностический архив на USB-устройство:
        Блок кода
        cp /tmp/sosreport* /media
  10. Выполнить шаги из статьи Справочного центра Режимы восстановления.
  11. Завершить работу с псевдотерминалом.

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

Предупреждение

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

Предупреждение

Обфускация данных доступна начиная с обновлений Astra Linux Special Edition 1.6.14, 1.7.6 и 1.8.1.

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

Исходный архив, а также файлы obfuscation.log, private_map хранятся у инициатора отчета и не требуют отправки в техническую поддержку.

  1. Выполнить команду (для архива, созданного sos reportили sos collect):
    Блок кода
    sudo sos clean
  2. Следовать инструкциям на экране. Чтобы дополнительно заменить базовый список ключевых слов, добавить опцию --keywords:
    Блок кода
    collapsetrue
    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
    
  3. Убедиться, что создан архив со скрытыми данными в каталоге /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
    
  4. Проверить файл *-private_map на предмет обфускации данных:
    Блок кода
    collapsetrue
    {
        "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": {}
    }