репозитории и установка ПО

Olej

New member
Сообщения
1 307
#1
Известное дело, что ... допустимыми источниками установки ПО (репозиториями) разработчики Astra Linux SE (1.6) считают:

1). замкнутый репозиторий дистрибутива на 2-х DVD:
Код:
olej@ACER:~/Загрузки/ISO/astra/Astra Linux SE 1.6 Смоленск$ ls -l *.iso
-rw-r--r-- 1 olej olej 7039606784 авг  8 08:51 devel-smolensk-1.6.iso
-rw-r--r-- 1 olej olej 2585231360 авг  8 08:52 smolensk-1.6.iso
2-й DVD - это инсталляционный ISO системы, а 1-й - это DVD разработчика, содержащий основной набор пакетов.
Код:
olej@astra:/etc/apt$ cat /etc/apt/sources.list
deb file:///mnt/cdrom1 smolensk contrib main non-free
deb file:///mnt/cdrom2 smolensk contrib main non-free
2), репозитории (сетевые) ограниченного числа партнёнов по разработке ... среди которых, например, Лаборатория 50 + ещё некоторое количество разработчиков:
Код:
olej@astra:~$ cat /etc/apt/sources.list.d/lab50.list
deb http://packages.lab50.net/se16/ smolensk main
deb-src http://packages.lab50.net/se16/ smolensk main
Все остальные источники (кроме этих 2-х категорий), вообще то говоря, должны признаваться нелегитимными, и их использование разрушает условия лицинзирования и лишает сертификации систему (так насколько я понимаю?).
 

Olej

New member
Сообщения
1 307
#2
Все остальные источники (кроме этих 2-х категорий), вообще то говоря, должны признаваться нелегитимными, и их использование разрушает условия лицинзирования и лишает сертификации систему (так насколько я понимаю?).
Но я тут непроизвольно столкнулся с любопытной ситуацией, неочевидной ... которой хочу поделиться.
Возился тут с Python кодом: Доступ к внешним ресурсам из java приложения ...
Код:
olej@astra:~/WORK/User-Agent$ pip3 install requests
bash: pip3: команда не найдена
Оп-па... Довольно неожиданно: Python установлен, а основной инструмент управления его пакетами - нет!
 

Olej

New member
Сообщения
1 307
#3
Оп-па... Довольно неожиданно: Python установлен, а основной инструмент управления его пакетами - нет!
Но это дело легко поправить...
Используя только легальные репозитории Astra Linux SE 1.6:
Код:
olej@astra:~/WORK/User-Agent$ aptitude search '\-pip'
p   python-pip                                            - Python package installer                                       
p   python-pip-whl                                        - Python package installer                                       
p   python3-pip                                           - Python package installer
Установлю сразу под Python и 2 и 3:
Код:
olej@astra:~$ sudo apt install python-pip python3-pip
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
...
Код:
olej@astra:~$ which pip3
/usr/bin/pip3
 

Olej

New member
Сообщения
1 307
#4
Установлю сразу под Python и 2 и 3:
И установлю модуль Python:
Код:
olej@astra:~$ sudo pip3 install requests
Collecting requests
  Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
    100% |████████████████████████████████| 61kB 761kB/s
Collecting certifi>=2017.4.17 (from requests)
  Downloading https://files.pythonhosted.org/packages/18/b0/8146a4f8dd402f60744fa380bc73ca47303cccf8b9190fd16a827281eac2/certifi-2019.9.11-py2.py3-none-any.whl (154kB)
    100% |████████████████████████████████| 163kB 2.9MB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests)
  Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
    100% |████████████████████████████████| 143kB 3.1MB/s
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests)
  Downloading https://files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl (125kB)
    100% |████████████████████████████████| 133kB 3.4MB/s
Collecting idna<2.9,>=2.5 (from requests)
  Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
    100% |████████████████████████████████| 61kB 4.2MB/s
Installing collected packages: certifi, chardet, urllib3, idna, requests
Successfully installed certifi-2019.9.11 chardet-3.0.4 idna-2.8 requests-2.22.0 urllib3-1.25.7
Ну и замечательно!
Код:
olej@astra:~$ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.get( 'https://httpbin.org/get' )
>>> print( r.status_code )
200
...
Ну и так далее ... в данном контексте это не интересно...
 

Olej

New member
Сообщения
1 307
#5
Но что здесь произошло???
- пользуясь только легальными репозиториями, предписанными для Astra Linux SE...
- не прописывая ничего дополнительно в конфигурациях и sources.list ...
- я устанавливаю по сети публичное программное обеспечение для Python в любых количествах и из любых источников.

А на сегодня инструментарий Python а). намного обширнее и б). намного мощнее, чем любые скрипты shell, да и все существующие утилиты GNU Linux...

Ладно, я это делал сознательно и зная и понимая что происходит "под капотом".
Но кто-то из пользователей в критически важных областях применения защищённой ОС может делать нечто подобное, сознательно или несознательно, даже не заметив и не понимая что он при этом сделал.
 

Mrshll

New member
Сообщения
77
#6
Приветствую.
Как правило, в нормальных организациях, используется эшелонированная оборона, так как одно средство покрыть все варианты отаки не сможет. Как говориться использую межсетевой экран, но дверь не забывай закрывать.
Это все равно что от защищенной ОС требовать работать 20 минут при отключенном электричестве...
 

Olej

New member
Сообщения
1 307
#7
используется эшелонированная оборона, так как одно средство покрыть все варианты отаки не сможет.
Ничего не понял о чём это вы...
Вы описанную проблему читали вообще?:
- Linux без Python не будет работать ... от слова "в принципе", будь это хоть супер-пупер защищённая Astra...
- Если Python использовать чуть шире чем просто множество утилит Linux, то ему придётся доустанавливать модули...
- модули Python ставятся из глобальной сети ... для этого есть несколько пакетных систем Python, самая популярная из них - pip
- для установки произвольных модулей Python в Astra Linux SE 1.6 не требуется никаких root полномочий, для прописывания конфигураций и sources.list b т.д., не нужно вносить никаких изменений в настройки системы - любой пользователь системы, начитавшись публикаций, может начать это делать.
покрыть все варианты отаки
Никакие атаки здесь вообще не при чём.
Речь о том, что в защищённой ОС с замкнутой системой сертифицированных репозиторниев для пользлователей открывается "задняя дверь" установки самого разнообразного ПО, никак не предусмотренного разработчиками ОС.
 

Mrshll

New member
Сообщения
77
#8
Такие задние двери закрываются другими средствами, например, запретом запуска не нужных приложений.
 

Olej

New member
Сообщения
1 307
#9
например, запретом запуска не нужных приложений.
Во всём тексте выше я показал запуск только и исключительно нужных, легитимизированных и сертифицированных приложений Astra Linux SE - ни одно из использованных приложений не привнесено извне и сверх того, что есть в стандартной поставке Astra Linux SE.
Вы что Python будете "запрещать"? Или удалите его из системы ... после чего Astra Linux тут же рухнет безвозвратно.
 

Mrshll

New member
Сообщения
77
#10
Запрещу запускать неположенные скрипты, из не положенных мест, не подписанные, не с теми хешами и вариантов ограничений вагон и маленькая тележка.
 

Olej

New member
Сообщения
1 307
#11
например, запретом запуска не нужных приложений.
Вообще то, мне, к примеру, совершенно не интересно что вы там станете "запрещать" как ненужное, и каким образом вы собираетесь добиться исполнения этой глупости...

Вопрос даже не в Python, с которого я начал рассмотрение.
А в том, что:
1). многие и другие языки программирования и средства разработки ПО создали и имеют свои собственные независимые технологии инсталляций и свои репозитории
2). и вообще, похоже, сама идея построения замкнутого и ограниченного подмножества ПО, которое сертифицировано и только допустимо для присутствия в системе - нереализуемая ... идея по первому взгляду, может, и заманчивая для обеспечения надёжности, но при практической её реализации оказывается "дырявая".

Для конкретности, для примеров, вот для каких языковых систем (кроме Python) используются свои независимые системы инсталляций:
Perl - установки модулей из архивов CPAN
Java - добавление библиотек в репозитории Maven
Java, Scala, Kotlin - ресурс SDKMAN! (The Software Development Kit Manager)
Haskell - система cabal (Common Architecture for Building Applications and Libraries)
Да и другие языки программирования тоже ... рано или поздно создают свои системы инсталляций.

А это означает, что как только вы развернёте хоть какие-то разработки программного обеспечения, любые разговоры о замкнутой ограниченной системе инсталляций - становятся пустыми.
 

Olej

New member
Сообщения
1 307
#12
Запрещу запускать неположенные скрипты, из не положенных мест, не подписанные, не с теми хешами и вариантов ограничений вагон и маленькая тележка.
И станете за каждым пользователем следом с горшком ходить... :p
 

oko

New member
Сообщения
1 257
#13
to Mrshll
+1

to Olej
Primo, nix функционирует и без Python - все зависит от конечных задач. Так что не лейте народу в уши свой радикализм, надоело уже...
Secundo, почитайте про ЗПС + про запрет установки бита "+x" по умолчанию в Astra Linux. Подумайте про исполнение сторонних утилит или компонент, полученных из внешних источников, и про исполнение сторонних скриптов пусть даже через "доверенный" интерпретатор в таком режиме...
Tertio, Astra Linux SE в большинстве своем применяется в автономных системах, физически отключенных от внешних сетей связи, включая ИТКС "Интернет"...
Quatro, фильтрация сетевого трафика на уровне ОС или на уровне сети в целом (если мы говорим об Astra Linux SE в КОНФИ-системах, например), по принципу "белых списков" - де факто стандарт в наши суровые дни...
Last, разработка софта под Astra Linux SE имеет ряд тонкостей. И выявленные проблемы доверия/недоверия к случаю разработки, скажем так, решаются организационным путем и не несут в себе потенциальных технических уязвимостей...

ЗЫ Если очень неймется, напишите о выявленной баге (оставленная по умолчанию возможность для pip3 получения тех или иных компонент из недоверенных источников) разработчикам в РусБиТех официально - нехай реагируют. Или предложите конкретный метод исправления данной баги с целью повышения защищенности оконечных систем в целом и выложите его здесь. Иная возня и пустые форумные "возопения", imho, ни к чему хорошему все равно не приведут...
 
Последнее редактирование:

Olej

New member
Сообщения
1 307
#14
Я, вообще то, создал эту тему не в качестве вопроса: как кто станет в своей конторе решать регламент работы с Astra Linux SE... Мне это абсолютно неинтересно и пусть это будет ваша собственная головная боль.

Тема шире, меня это интересует принципиально: можно ли ограничением номенклатуры доверенного ПО создать замкнутую систему, и будет ли она обладать повышенной надёжностью/защищённостью?
Или такая архитектура скорее призвана усугубить :p (поправить) коммерческий успех на рынке разработчика такой системы?

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

P.S. Вопрос не только в невозможности обеспечить замкнутую систему ПО, но и в том, что поддержка множества самого разнообразного и экзотического оборудования не включена в репозитории Astra Linux SE (читайте темы - стоны народные: принтеры, сканеры, WiFi, SD-ридеры ... не говоря уже про видео - "имя им легион"). И всё это вынуждено будет доставляться со стороны.
 
Последнее редактирование:

oko

New member
Сообщения
1 257
#15
*в сторону*
Откровенно надоело вести культурный разговор с дегенератом. Что ж, будем как обычно в Сети, ага...

to Olej
поддержка множества самого разнообразного и экзотического оборудования не включена в репозитории Astra Linux SE ... И всё это вынуждено будет доставляться со стороны.
Гениально. В фонд золотых цитат дебила, который считает, что существуют системы общего (не узко функционального) назначения, в которых все-все предусмотрено заранее...
Linux прекрасно работает без Python. Не десктопные системы и не системы под управлением любителей что-то разработать, но тем не менее...
Вот тебе пример рабочего сервера (на данный момент с ролью web-сервера, ага) вовне, где нет ни единого компонента среды python за исключением share-кусков:

root@testserver ~ # netstat -tpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN 473/apache2
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 471/sshd
root@testserver ~ # apt list --installed | grep python

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

root@testserver ~ # dpkg -l | grep python
root@testserver ~ # find / -name *python*
/usr/share/mc/syntax/python.syntax
/usr/share/nano/python.nanorc
/usr/share/mime/text/x-python.xml
/usr/share/mime/application/x-python-bytecode.xml
root@testserver ~ #

Вывод: Олежа, прекращай строить из себя поэта, и люди перестанут считать тебя уродом...

ЗЫ Замкнутыми являются не ОС, а АС на их основе. Пойми ты разницу, наконец, и успокойся...
 

oko

New member
Сообщения
1 257
#16
to Olej
Primo, machine learning, big data и проч. к текущему положению дел с Astra Linux SE никакого отношения не имеет. Она не для того разрабатывалась. Поэтому занимайся своим делом и не мешай другим работать...
Secundo, экстрасенс из тебя посредственный - ни к преподаванию, ни к уральским ВУЗам (что ты против них имеешь? тебя побила профессура на симпозиуме в Свердловске?) никакого отношения не имею. Я работаю, а вот ты, судя по активности на форуме, страдаешь от безделья...
Tertio, кто категорично заявлял про невозможность юзать nix без Python? Это не так и доказательства приведены. Конечно, балабол в твоем лице остается балаболом, но факта реального положения вещей это не отменяет...
Last, вся соль в уязвленном самолюбии? Записываешь мои фразы на диктофон по каждому ответу на форуме? Такое внимание, конечно, приятно. Но тем не менее рекомендую обратиться к специалисту - такое поведение попахивает патологией и серьезным расстройством личности...