Запуск своей программы

pavel_v

New member
Сообщения
8
#1
Всем привет.
Не могу понять проблему.
Astra Linux SE Smolensk 1.5
Захожу под любым уровнем доступа (в данный момент -- под 0).
Компилирую любую программу, но при попытке ее запустить, выскакивает "ошибка сегментирования", и внизу экрана появляется информационное сообщение: "Загрузка неподписанного файла заблокирована СЗ ОС (DIGSIG) ...".
dmesg выдает сообщение: DIGSIG:[ERROR] NOT SIGNED: path=/home/pavel/Programs/test uid=1000 gid=1000

Собственно вопрос: как разрешить выполнение своих файлов?
 

Olej

New member
Сообщения
1 307
#2
Захожу под любым уровнем доступа (в данный момент -- под 0).
Компилирую любую программу, но при попытке ее запустить, выскакивает "ошибка сегментирования", и внизу экрана появляется информационное сообщение: "Загрузка неподписанного файла заблокирована СЗ ОС (DIGSIG) ...".
1. Разрабатывать программный код в защищённой системе - это, по моему (IMHO), дурное занятие ... и об этом в том же духе уже высказывались здесь на форуме.

2. Ошибка "ошибка сегментирования" (сигнал SIGSEGV) - это слишком серьёзно для просто нарушения требований безопасности.
Не могли бы вы сказать:
- с какого языка (программирования) компилируете код?
- каким образом (командой)?
- привести фрагмент кода...

3. Не могу, к сожалению, ничего подсказать относительно "подписи" исполнимых файлов - мне дядя за большие деньги не покупал Astra SE :D
Но было бы очень интересно послушать знающих людей, а ещё лучше - ссылки, про то как это должно выглядеть.
 

AFilippov

New member
Сообщения
170
#4
Всем привет.
Не могу понять проблему...
Думаю, ознакомившись с данными разделами Вики, Вы решите свою проблему:
Подписывание ПО
Режим замкнутой программной среды
Смоленск 1.6: Режим замкнутой программной среды

Как совершенно справедливо заметили, зачем самому себе создавать трудности?
 
Последнее редактирование:

Olej

New member
Сообщения
1 307
#5
Смоленск 1.6: Режим замкнутой программной среды
Настройка режима функционирования механизма контроля целостности файлов при их открытии на основе ЭЦП в расширенных атрибутах файловой системы осуществляется с помощью графического инструмента fly-admin-smc (<<Панель управления --- Безопасность --- Политика безопасности --- Замкнутая программная среда>>) или путем редактирования конфигурационного файла /etc/digsig/digsig_initramfs.conf.
После внесения изменений в конфигурационный файл /etc/digsig/digsig_initramfs.conf и для загрузки модулем digsig_verif ключей после их размещения его в каталогах /etc/digsig/keys/ и /etc/digsig/xattr_keys/
необходимо от имени учетной записи администратора через механизм \verb|sudo| выполнить команду:
Код:
sudo update-initramfs -u -k all
Означает ли это, что изменения режима функционирования (1 из 3-х) через fly-admin-smc можно делать "на лету"? (без перегенерации initramfs, перезагрузки и т.д.)
 

AFilippov

New member
Сообщения
170
#6
не для работы, а лишь для ознакомления...
Измените формулировку от греха подальше.
Примерно так: Конечно, некоторые не для работы, а лишь для ознакомления, скачивают Смоленск 1.5 с торрент-трекеров. Но я это не одобряю.
А то какое-то подстрекательство к противоправным действия получается. ;)
 

AFilippov

New member
Сообщения
170
#8
Означает ли это, что изменения режима функционирования (1 из 3-х) через fly-admin-smc можно делать "на лету"? (без перегенерации initramfs, перезагрузки и т.д.)
У меня тоже дяди нет. Проверить не могу, со Смоленском только теория :(
 

kdewyz

New member
Сообщения
40
#9
А то какое-то подстрекательство к противоправным действия получается. ;)
то не призыв и не подстрекательство
то констатация факта всего лишь,
факта, для меня ненужного, так как
мне "от дяди" 5 дистрибутивов перепало
за полгода благодаря им разнообразил свой лексикон неприличных слов
 

AFilippov

New member
Сообщения
170
#10
...мне "от дяди" 5 дистрибутивов перепало за полгода благодаря им разнообразил свой лексикон неприличных слов
Есть возможность проверить вопрос из нижеприведенной цитаты?
Означает ли это, что изменения режима функционирования (1 из 3-х) через fly-admin-smc можно делать "на лету"? (без перегенерации initramfs, перезагрузки и т.д.)
 

kdewyz

New member
Сообщения
40
#11
не настолько знаком с линуксом, чтобы ответить
всего полгода изучения, да и то периодически (решаю только возникающие проблемы)
 

pavel_v

New member
Сообщения
8
#12
1. Разрабатывать программный код в защищённой системе - это, по моему (IMHO), дурное занятие ... и об этом в том же духе уже высказывались здесь на форуме.

2. Ошибка "ошибка сегментирования" (сигнал SIGSEGV) - это слишком серьёзно для просто нарушения требований безопасности.
Не могли бы вы сказать:
- с какого языка (программирования) компилируете код?
- каким образом (командой)?
- привести фрагмент кода...

3. Не могу, к сожалению, ничего подсказать относительно "подписи" исполнимых файлов - мне дядя за большие деньги не покупал Astra SE :D
Но было бы очень интересно послушать знающих людей, а ещё лучше - ссылки, про то как это должно выглядеть.

Поясню, чтобы было понятнее.
1. Есть свой вычислительный код, с помощью которого собираемся проводить вычисления в защищенной системе. То есть, установить этот код на компьютере в защищенной среде НУЖНО.
Собираю и использую его от имени рядового пользователя, без админских прав.

2. Теперь непонятки: На реальном компьютере под Astra SE все собралось, запускается и работает без проблем. Теперь понадобилось этот код несколько изменить. Для этого на другом рабочем месте (Ubuntu mate) в виртуалке установил Astra SE, где хотел поработать над кодом. И вот тут-то появилась проблема.
Не запускается даже простой "hello_world".
Вот код, если нужно:
C++:
#include <iostream>
int main (int argc, char* argv[]){
   std::cout << "Hello world!\n";
   return 0;
}
Язык C++,
компилирую: g++ hello.cc -o hello
запуск: ./hello

Про подписывание я почитал. Но (честно скажу, невнимательно еще читал) остался вопрос: при каждом новом изменении и компиляции программы нужно ее заново подписывать?
И почему на рабочей машине все сработало? Вроде виртуалку старался сделать такую же, как и рабочую машину.
 

Olej

New member
Сообщения
1 307
#13
при каждом новом изменении и компиляции программы нужно ее заново подписывать?
Да, по логике вещей - при каждом.
Но никто не компилирует программы командами gcc и т.п. - для этого используются сценарии сборки make (Makefile).
Запишите последним действием в Makefile команды подписания собранного - и будет вас счастье.
И почему на рабочей машине все сработало?
Потому что есть 3 режима жёсткости контроля подписи - Режим замкнутой программной среды
и может функционировать в одном из следующих режимов:
  • исполняемым файлам и разделяемым библиотекам с неверной ЭЦП, а также без ЭЦП загрузка на исполнение запрещается (штатный режим функционирования);
  • исполняемым файлам и разделяемым библиотекам с неверной ЭЦП, а также без ЭЦП загрузка на исполнение разрешается, при этом выдается сообщение об ошибке проверки ЭЦП (режим для проверки ЭЦП в СПО);
  • ЭЦП при загрузке исполняемых файлов и разделяемых библиотек не проверяется (отладочный режим для тестирования СПО).
 

Olej

New member
Сообщения
1 307
#15
но при попытке ее запустить, выскакивает "ошибка сегментирования", и внизу экрана появляется информационное сообщение: "Загрузка неподписанного файла заблокирована СЗ ОС (DIGSIG) ...".
Но если при нарушении условий безопасности действительно выскакивает ошибка SIGSEGV - то вот об этом нужно писать в техподдержку разработчика!
 

Olej

New member
Сообщения
1 307
#16
не настолько знаком с линуксом, чтобы ответить
А для этого с Linux и знакомым быть не надо...
1. копируете вот те 5 строчек от ТС в файл hello_world.cc - любым редактором (я для таких простых действий предпочитаю mc и его редактор mcedit - только установить стандартно mc нужно);
2. выполняете команду:
Код:
$ g++ hello_world.cc -o
3. пробуете выполнить:
Код:
$ ./hello_world
4. сообщаете нам сюда о своих успехах...
5. Заходите в системное меню: Панель управления --- Безопасность --- Политика безопасности --- Замкнутая программная среда ... и меняете одну из 3-х альтернатив (хорошо бы скриншот этого дела показать сюда)...
6. повторяете попытку запуска, п.3 ...

P.S. Это не пустая трата времени для вас, поверьте - это вам ещё много раз пригодится!
 
Последнее редактирование:

Montfer

New member
Сообщения
2 364
#17
В 1.5 нашел только галочку "Запрет установки исполняемого бита". Но он не влияет на компиляцию и запуск (всё прошло успешно как под админской учеткой, так и под пользовательской).
А делать настройки безопасности по RedBook с wiki астры лень(
 

AFilippov

New member
Сообщения
170
#18
А делать настройки безопасности по RedBook с wiki астры лень..
Так а за шо тада деньги плочены!!! :D
А вопрос, может быть в курсе: насколько рекомендации из RedBook-а обязательны к исполнению. Ведомство (иной орган) как-то их регламентируют?
 

Montfer

New member
Сообщения
2 364
#19
Так а за шо тада деньги плочены!!! :D
А вопрос, может быть в курсе: насколько рекомендации из RedBook-а обязательны к исполнению. Ведомство (иной орган) как-то их регламентируют?
Слышал, что там разрабатывают свои методички по настройке. Но насколько сильно они перекликаются или отличаются - не в курсе.
 

pavel_v

New member
Сообщения
8
#20
Потому что есть 3 режима жёсткости контроля подписи - Режим замкнутой программной среды
Спасибо, завтра попробую поиграть с этими настройками.

И кто до вас конфигурировал этот реальный компьютер?
Да я и конфигурировал. Я и админ, я и работник :)
Но как-то не встретился с такими проблемами при установке. Если я правильно сейчас вспоминаю, при установке был выбор "включить режим замкнутой программной среды". Видимо, я по-разному ответил на этот вопрос на реальном железе и в виртуалке.