• 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 позволяет собирать различную отладочную информацию из одной или нескольких ОС, при необходимости очищать и защищать конфиденциальные данные.

Далее в статье термин "шифрование" применяется в значении защитного преобразования данных.

Примеры вызова утилиты:

  • sudo sos report — сбор отладочной информации с одной системы;
  • sudo sos clean — сокрытие потенциально конфиденциальной информации (имена пользователей, имена хостов, IP- или MAC-адреса или других данных, указанных пользователем).

Информация, собранная в отчете, содержит сведения о конфигурации, системную информацию и диагностическую информацию из ОС, такую как:

  • запущенная версия ядра;
  • загруженные модули ядра;
  • конфигурационные файлы системы и служб;
  • вывод диагностической команды;
  • список установленных пакетов.

По умолчанию утилита sos записывает собранные данные в архив с именем sosreport-<имя_хоста>-<номер_запроса>-<ГГГГ-ММ-ДД>-<случайные_уникальные_символы>.tar.xz.

Утилита сохраняет архив и его контрольную сумму в каталоге /tmp:

astra@astra:~$ 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 (пакет sosreport) входит в состав ОС 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. В ОС Astra Linux Special Edition 1.7 : Меню "Пуск" — Панель управления — Система — Центр системных отчетов .
    2. В ОС Astra Linux Special Edition 1.8 : Меню "Пуск" Параметры — Регистрация событий и аудит — Центр системных отчетов. 

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

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

    sudo sos report -a --all-logs
  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, соответствующий описанию из выходных данных команды:

    ls -l /tmp/sosreport*

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

    astra@astra:~$ 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

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

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

  • создает незашифрованный отчет;
  • шифрует отчет как новый файл;
  • удаляет незашифрованный архив.
  1. Выполнить команду, указав парольную фразу с помощью опции --encrypt-pass:
    sudo sos report -a --all-logs --encrypt-pass 1234
  2. Следовать инструкциям. Имя файла отчета отображается в конце вывода:
    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.
  3. Убедиться, что создан архив, соответствующий следующим требованиям:
    • имя файла начинается с secured;
    • файл имеет расширение .gpg;
    • архив находится в каталоге /tmp.
      ls -l /tmp/secured*
      Пример вывода команды:
      astra@astra-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. Выполнить команду:

      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:

    ls -l decrypted*

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

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

Создание отчета и защита его на основе ключа GPG

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

  • создает незашифрованный отчет;
  • шифрует отчет как новый файл;
  • удаляет незашифрованный архив.

Процесс генерации пары ключей GPG

Генерация пары ключей GPG производится стороной, которая должна прочитать отчет. В зависимости от принятой политики безопасности ключи могут генерироваться однократно для всей службы технической поддержки, индивидуально для каждого клиента или для каждого запроса. При генерации пары ключей создаются закрытый ключ и открытый ключ. Созданный открытый ключ передается для шифрования отчёта пользователю. Закрытый ключ может передаваться только тем, кто имеет право читать зашифрованные соответствующим открытым ключом отчеты.

Для генерации пары ключей:
  1. Создать файл key-input с предпочтительными данными. Например:
    cat >key-input <<EOF
    %echo Generating a standard key
    Key-Type: RSA
    Key-Length: 2048
    Name-Real: GPG support
    Name-Comment: first key
    Name-Email: support@example.com
    Expire-Date: 0
    %commit
    %echo Finished creating standard key
    EOF
  2. Сгенерировать ключ GPG2 на основе содержимого файла key-input:

    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 на сервере:

    gpg --list-key
    gpg --list-secret-key
  7. Экспортировать открытый ключ GPG для передачи клиенту:
    sudo gpg --export "support@example.com" > pub.key

Создание защищенных диагностических архивов

  • После описанного далее шифрования просмотр содержимого данного архива сможет осуществить только владелец закрытого ключа. Если требуется проверка или обфускация архива, то следует использовать процедуру с отложенным шифрованием.
  • Если при создании зашифрованного отчета на компьютере будет отсутствовать открытый ключ, то диагностический архив будет создан без шифрования.
  1. Импортировать на компьютер с которого необходимо собрать диагностический архив открытый ключ. В данном примере он имеет имя pub.key:
    sudo gpg --import < pub.key
  2. Проверить что данный ключ был успешно импортирован:
    sudo gpg --list-keys
  3. Создать диагностический архив зашифровав его с помощью ранее импортированного открытого ключа:
    sudo sos report -a --all-logs --encrypt-key 'GPG support'
  4. Убедиться, что создан архив, соответствующий следующим требованиям:
    1. Имя файла начинается с secured.
    2. Файл имеет расширение .gpg.
    3. Архив находится в каталоге /tmp
      ls -l /tmp/secured*
astra@astra:~$ sudo gpg --import < pub.key 
gpg: ключ 473ED41A7363401F: импортирован открытый ключ "GPG support (first key) <support@example.com>"
gpg: Всего обработано: 1
gpg:                  импортировано: 1
astra@astra:~$ sudo gpg --list-keys
/root/.gnupg/pubring.kbx
------------------------
pub   rsa2048 2025-08-13 [SCEA]
      1EC52EDA89C0411463CC608C473ED41A7363401F
uid         [ неизвестно ] GPG support (first key) <support@example.com>
astra@astra:~$ sudo sos report -a --all-logs --encrypt-key 'support@example.com'

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 для выхода.

Please enter the case id that you are generating this report for []: 

 Setting up archive ...
 Setting up plugins ...
mysql.dbdump: database user name and password must be supplied
[plugin:networking] skipped command 'ip -s macsec show': required kmods missing: macsec.  Use '--allow-system-changes' to enable collection.
[plugin:networking] skipped command 'ss -peaonmi': required kmods missing: unix_diag, inet_diag, netlink_diag, udp_diag, tcp_diag, af_packet_diag.  Use '--allow-system-changes' to enable collection.
[plugin:systemd] skipped command 'resolvectl status': required services missing: systemd-resolved. 
[plugin:systemd] skipped command 'resolvectl statistics': required services missing: systemd-resolved. 
 Running plugins. Please wait ...

  Finishing plugins              [Running: networking]                                    
  Finished running plugins                                                               
Создаётся архив...

Your sosreport has been generated and saved in:
	/tmp/secured-sosreport-astra-2025-08-19-jujyrtu.tar.xz.gpg

 Size	17.17MiB
 Owner	root
 md5	5708ab6afca6d806a4a1619b2a6f8ed1

Please send this file to your support representative.
astra@astra:~$ ls -l /tmp/secured*
-rw-r----- 1 root astra-admin 18007143 авг 19 12:04 /tmp/secured-sosreport-astra-2025-08-19-jujyrtu.tar.xz.gpg
-rw-r--r-- 1 root root              33 авг 19 12:04 /tmp/secured-sosreport-astra-2025-08-19-jujyrtu.tar.xz.gpg.md5
  1. Импортировать открытый ключ на компьютер где будет производится шифрование диагностического архива. В данном примере он имеет имя pub.key:
    sudo gpg --import < pub.key
  2. Проверить что данный ключ был успешно импортирован:
    sudo gpg --list-keys
  3. Созадать диагностический архив или скопировать его на данный компьютер.
  4. Произвести его проверку и при необходимости произвести обфускацию.
  5. Зашифровать диагностический архив:
    sudo gpg --encrypt --recipient 'GPG support' /путь/до/диагностический архива.tar.gz
  6. Убедиться, что создан архив, соответствующий следующим требованиям:
    1. Файл имеет расширение .gpg
    2. Файл распологается в том же каталоге где и не зашифрованный файл:
      ls -l /путь/до/диагностический архива.tar.gz.gpg
astra@astra:~$ sudo gpg --import < pub.key 
gpg: ключ 473ED41A7363401F: импортирован открытый ключ "GPG support (first key) <support@example.com>"
gpg: Всего обработано: 1
gpg:                  импортировано: 1

astra@astra:~$ sudo gpg --list-keys
/root/.gnupg/pubring.kbx
------------------------
pub   rsa2048 2025-08-13 [SCEA]
      1EC52EDA89C0411463CC608C473ED41A7363401F
uid         [ неизвестно ] GPG support (first key) <support@example.com>

astra@astra:~$ sudo sos report -a --all-logs

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 для выхода.

Please enter the case id that you are generating this report for []: 

 Setting up archive ...
 Setting up plugins ...
mysql.dbdump: database user name and password must be supplied
[plugin:networking] skipped command 'ip -s macsec show': required kmods missing: macsec.  Use '--allow-system-changes' to enable collection.
[plugin:networking] skipped command 'ss -peaonmi': required kmods missing: tcp_diag, udp_diag, unix_diag, netlink_diag, af_packet_diag, inet_diag.  Use '--allow-system-changes' to enable collection.
[plugin:systemd] skipped command 'resolvectl status': required services missing: systemd-resolved. 
[plugin:systemd] skipped command 'resolvectl statistics': required services missing: systemd-resolved. 
 Running plugins. Please wait ...

  Finishing plugins              [Running: networking]                                    
  Finished running plugins                                                               
Создаётся архив...

Your sosreport has been generated and saved in:
	/tmp/sosreport-astra-2025-08-19-nubtdnv.tar.xz

 Size	16.89MiB
 Owner	root
 md5	12e7ba63742eb0964cb76cfe66afefca

Please send this file to your support representative.

astra@astra:~$ sudo gpg --encrypt --recipient 'support@example.com' /tmp/sosreport-astra-2025-08-19-nubtdnv.tar.xz
gpg: 473ED41A7363401F: Нет свидетельств того, что данный ключ принадлежит названному пользователю

pub  rsa2048/473ED41A7363401F 2025-08-13 GPG support (first key) <support@example.com>
 Отпечаток первичного ключа: 1EC5 2EDA 89C0 4114 63CC  608C 473E D41A 7363 401F

НЕТ уверенности в том, что ключ принадлежит человеку, указанному
в идентификаторе пользователя. Если Вы ТОЧНО знаете, что делаете,
можете ответить на следующий вопрос утвердительно.

Все равно использовать данный ключ? (y/N) y

astra@astra:~$ ls -l /tmp/*.gpg
-rw-r--r-- 1 root root 17714787 авг 19 12:30 /tmp/sosreport-astra-2025-08-19-nubtdnv.tar.xz.gpg

Описанный далее метод шифрует диагностический архив публичным ключом и симметричным шифром, поэтому для расшифровки может использоваться И приватный ключ, И пароль (на выбор). Данный метод позволяет просмотреть содержимое архива после его шифрования открытым ключом с помощью ввода парольной фразы.

Парольная фраза используемая для шифрования диагностического архива не подлежит распространению.
  1. Импортировать открытый ключ на компьютер где будет производится шифрование диагностического архива. В данном примере он имеет имя pub.key:
    sudo gpg --import < pub.key
  2. Проверить что данный ключ был успешно импортирован:
    sudo gpg --list-keys
  3. Создать диагностический архив или скопировать его на данный компьютер.
  4. Произвести его проверку и при необходимости произвести обфускацию.
  5. Зашифровать диагностический архив:
    sudo gpg --encrypt -c --recipient 'GPG support' /путь/до/диагностический архива.tar.gz
  6. В появившемся окне ввести парольную фразу для шифровки диагностического архива.
  7. Убедиться, что создан архив, соответствующий следующим требованиям:
    1. Файл имеет расширение .gpg
    2. Файл располагается в том же каталоге где и не зашифрованный файл
      ls -l /путь/до/диагностический архива.tar.gz.gpg
  8. Убедиться, что архив можно расшифровать с помощью парольной фразы, которая использовалась для его шифрования:
    sudo gpg --output /путь/до/расшифрованного диагностического архива.tar.gz --decrypt /путь/к/зашифрованному/архиву.tar.gz.gpg
astra@astra:~$ sudo gpg --import < pub.key 
gpg: ключ 473ED41A7363401F: импортирован открытый ключ "GPG support (first key) <support@example.com>"
gpg: Всего обработано: 1
gpg:                  импортировано: 1

astra@astra:~$ sudo gpg --list-keys
/root/.gnupg/pubring.kbx
------------------------
pub   rsa2048 2025-08-13 [SCEA]
      1EC52EDA89C0411463CC608C473ED41A7363401F
uid         [ неизвестно ] GPG support (first key) <support@example.com>

astra@astra:~$ sudo sos report -a --all-logs

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 для выхода.

Please enter the case id that you are generating this report for []: 

 Setting up archive ...
 Setting up plugins ...
mysql.dbdump: database user name and password must be supplied
[plugin:networking] skipped command 'ip -s macsec show': required kmods missing: macsec.  Use '--allow-system-changes' to enable collection.
[plugin:networking] skipped command 'ss -peaonmi': required kmods missing: tcp_diag, inet_diag, udp_diag, unix_diag, af_packet_diag, netlink_diag.  Use '--allow-system-changes' to enable collection.
[plugin:systemd] skipped command 'resolvectl status': required services missing: systemd-resolved. 
[plugin:systemd] skipped command 'resolvectl statistics': required services missing: systemd-resolved. 
 Running plugins. Please wait ...

  Finishing plugins              [Running: networking]                                    
  Finished running plugins                                                               
Создаётся архив...

Your sosreport has been generated and saved in:
	/tmp/sosreport-astra-2025-08-19-hremliq.tar.xz

 Size	18.30MiB
 Owner	root
 md5	08f35ea185bef4fabdc9adc1e4badd36

Please send this file to your support representative.

astra@astra:~$ sudo gpg --encrypt -c --recipient 'support@example.com' /tmp/sosreport-astra-2025-08-19-hremliq.tar.xz

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

                                                ┌────────────────────────────────────────────────────────┐
                                                │ Повторите фразу-пароль:                                │
                                                │                                                        │
                                                │ Фраза-пароль: ________________________________________ │
                                                │                                                        │
                                                │        <OK>                         <Отмена (C)>       │
                                                └────────────────────────────────────────────────────────┘

gpg: 473ED41A7363401F: Нет свидетельств того, что данный ключ принадлежит названному пользователю

pub  rsa2048/473ED41A7363401F 2025-08-13 GPG support (first key) <support@example.com>
 Отпечаток первичного ключа: 1EC5 2EDA 89C0 4114 63CC  608C 473E D41A 7363 401F

НЕТ уверенности в том, что ключ принадлежит человеку, указанному
в идентификаторе пользователя. Если Вы ТОЧНО знаете, что делаете,
можете ответить на следующий вопрос утвердительно.

Все равно использовать данный ключ? (y/N) y

astra@astra:~$ ls -l /tmp/*gpg
-rw-r--r-- 1 root root 19192014 авг 19 13:03 /tmp/sosreport-astra-2025-08-19-hremliq.tar.xz.gpg

astra@astra:~$ sudo gpg --output decrypted-sosreport-astra-2025-08-19-hremliq.tar.xz --decrypt /tmp/sosreport-astra-2025-08-19-hremliq.tar.xz.gpg

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

gpg: сеансовый ключ зашифрован по AES256.CFB
gpg: зашифровано одной фразой-паролем
gpg: зашифровано 2048-битным ключом RSA с идентификатором 473ED41A7363401F, созданным 2025-08-13
      "GPG support (first key) <support@example.com>"

astra@astra:~$ ls -l decrypted*
-rw-r--r-- 1 root root 16524696 авг 19 13:32 decrypted-sosreport-astra-2025-08-19-hremliq.tar.xz

Расшифровка зашифрованного с помощью открытого ключа отчета sos

Расшифровка диагностический архива с помощью закрытого ключа GPG должна производиться на компьютере где присутствует закрытый ключ.

  1. Скопировать на компьютер зашифрованный диагностический архив.
  2. Расшифровать диагностический архив с помощью парольной фразы закрытого ключа:
    1. Выполнить команду:

      sudo gpg --output /путь/до/расшифрованного диагностического архива.tar.gz --decrypt /путь/до/зашифрованого диагностического архива.tar.gz.gpg
    2. Ввести кодовую фразу, которая использовалась при создании ключа GPG:
                                                ┌───────────────────────────────────────────────────────────────────┐
                                                │ Введите фразу-пароль для разблокировки секретного ключа OpenPGP:  │
                                                │ "GPG support (first key) <support@example.com>"                   │
                                                │ 2048-битный ключ RSA, идентификатор B7354458F02D70D5,             │
                                                │ создан 2025-08-13.                                                │
                                                │                                                                   │
                                                │                                                                   │
                                                │ Фраза-пароль: ___________________________________________________ │
                                                │                                                                   │
                                                │         <OK>                                  <Отмена (C)>        │
                                                └───────────────────────────────────────────────────────────────────┘
      
    3. Убедиться, что создан незашифрованный архив с расширением .tar.gz:
      ls -l /путь/до/расшифрованного диагностического архива.tar.gz
      

Защита отчета sos с помощью шифрования GPG2

Диагностический архив полученный данным образом возможно расшифровать только на компьютере содержащем закрытый ключ.
  1. Выполнить команду, указав имя ключа с помощью опции --encrypt-key:

    sudo sos report -a --all-logs --encrypt-key 'GPG support'
  2. Следовать инструкциям. Имя созданного файла отчета отображается в конце вывода:

    astra@pcmk-1:~$ sudo sos report -a --all-logs --encrypt-key 'GPG support'
    
    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.

      ls -l /tmp/secured*
      
  4. Убедиться, что архив можно расшифровать с помощью парольной фразы закрытого ключа, которым использовалась для его шифрования:

    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 support (first key) <support@example.com>"                         │
                                                │ 2048-битный ключ RSA, идентификатор B7354458F02D70D5,             │
                                                │ создан 2025-08-13.                                                │
                                                │                                                                   │
                                                │                                                                   │
                                                │ Фраза-пароль: ___________________________________________________ │
                                                │                                                                   │
                                                │         <OK>                                  <Отмена (C)>        │
                                                └───────────────────────────────────────────────────────────────────┘
      
    3. Убедиться, что создан незашифрованный архив с расширением .tar.gz:
      ls -l decrypted*
      

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

Режим восстановления позволяет смонтировать целевую ОС, получив доступ к ее содержимому и запустить команду 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 -a --all-logs
  6. Следовать инструкциям для продолжения на экране:

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

      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:

    ls -l /tmp/sosreport*
    
  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, т. к. сотрудники технической поддержки могут запросить уточнение обфусцированных данных.

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

Обфускация зашифрованных отчетов возможна. При необходимости обфусцированный отчет можно зашифровать любым из ранее перечисленных способов. 

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

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

  1. Выполнить команду (для архива, созданного командой sos report или с помощью графической утилиты fly-sosreport):
    sudo sos clean <файл_отчета>
    

    Чтобы дополнить базовый список ключевых слов для их обфускации, добавите опцию --keywords. При использовании данной опции в файле *-private_map будет добавленн блок keyword_map с обфусцированными словами . В результате в сформированном отчете везде где встречаются указанные слова (даже если они входят в состав других слов) будет произведенна замена.

    astra@pcmk-1:~# sudo sos clean /tmp/sos-collector-test-2023-12-02-lnyhg.tar.xz --keywords=password,token,secret    
    
    ...
    
    astra@pcmk-1:~# sudo tail /tmp/sos-collector-test-2023-12-02-lnyhg-private_map
    
    ...
    
    "keyword_map": {
            "password": "obfuscatedword0",
            "token": "obfuscatedword1",
            "secret": "obfuscatedword2"
    
    ...
    

    Утилита не гарантирует скрытие всех данных в архиве.

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

  2. Следовать инструкциям на экране.
    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, соответствующий описанию из выходных данных команды:
    ls -l /tmp/sos-collector-test-2023-12-02-lnyhg*
  4. Проверить файл *-private_map на предмет обфускации данных:
    {
        "hostname_map": {		# В данном блоке находятся сопоставления обфусцированных даннх наименования устройств. Где "pcmk-2" - оригинальное имя устройства, а "host0" - имя устройства которое будет фигурировать в обфусцирированном отчете.
            "pcmk-2": "host0", 
            "pcmk-1": "host1"
        },
        "ip_map": {			    # В данном блоке находятся сопоставление обфусцированных данных ip адресов найденных при формировании отчёта. Где "10.10.10.0/24" - оригинальный ip адрес, а "100.0.0.0/24" - ip адрес который будет фигурировать в обфусцирированном отчете.
            "10.10.10.0/24": "100.0.0.0/24",
    ...
    
        },
        "mac_map": {		    # В данном блоке находятся сопоставление обфусцированных данных mac адресов найденных при формировании отчёта. Где "52:54:00:cb:d0:d9" - оригинальный mac адрес, а "53:4f:53:b7:47:88" - mac адрес который будет фигурировать в обфусцирированном отчете.
            "52:54:00:cb:d0:d9": "53:4f:53:b7:47:88"
        }
    }