1.1, Аноняшка (?), 09:04, 29/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
А если открыт допуск на запуск /bin/sh , - что еще надо подлому коту Леопольду? ))
| |
|
|
3.28, Аноним (28), 18:28, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как и sudo на запуск любого контекста
> OpenBSD
> sudo
ну-ну.
| |
|
2.10, Аноним (10), 11:53, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
В принципе, в сочетании с pledge можно как раз очень сильно ограничить возможности запускаемого шелла. Но пример, действительно, не самый удачный.
| |
|
1.3, Аноним (3), 09:15, 29/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Странно ограничивать приложение из него самого. Еще и окажется, что надо исходники править и пересобрать программу, чтобы добавить доступ в нужное тебе место, которое не предусмотрели разработчики.
| |
|
2.6, Аноним (4), 09:35, 29/07/2018 [^] [^^] [^^^] [ответить]
| –5 +/– |
Разработчикам стоит просто выпилить поддержку OpenBSD для решения проблемы.
| |
|
3.19, Аноним (28), 12:53, 29/07/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Разработчикам стоит просто выпилить поддержку OpenBSD для решения проблемы.
Разработчикам чего? Решению какой именно проблемы?
Боюсь, выпиливание поддержки опенка (т.е. на самом деле сознательное прибивание гвоздями к линуксизмам) не сможет заставить Экспертов Опеннета читать перед тем как комментировать и давать мудрые советы.
| |
|
2.7, anonymous (??), 11:02, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Наоборот, только приложение (автор приложения) знает какие доступы ему нужны. А пытаться угадывать через selinux/apparmor это как суслика в поле искать — можно, но нужно с ведерком по норам побегать.
| |
|
3.9, Prototik (ok), 11:33, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну да, и автор тоже великолепно знает, куда я хочу положить данные.
| |
|
4.13, anonymous (??), 12:07, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ну да, и автор тоже великолепно знает, куда я хочу положить данные.
А что, у нас open уже мысли научился читать? Так или иначе белый путь приложение будет знать.
| |
|
5.20, Аноним (20), 15:12, 29/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Так или иначе белый путь приложение будет знать.
C:\Program Files\Program name\Temp
| |
|
6.21, anonymous (??), 15:17, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я могу тоже написать любой путь. Какая мысль скрыта за ним? То что на системе пользователя C:\Program Files может быть любым? Ну так приложение как-то же делает open('Temp'). Считает от cwd или еще как узнает путь до установки. В общем автор и приложение все знают, не переживайте.
| |
|
|
4.68, Аноним (67), 11:01, 19/11/2019 [^] [^^] [^^^] [ответить]
| +/– |
Конечно знает. Хардкоденные пути он и так знает. Нехардкоденные - прочитает из конфига.
| |
|
3.11, Аноним (10), 11:58, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Более того, именно само приложение знает, когда привилегии перестают быть нужны. Скажем, тот же web-сервер нуждается в повышенных привилегиях и доступе к произвольным каталогам обычно только на этапе инициализации, а дальше список рабочих каталогов известен, сокеты все открыты - знай, принимай подключения, отдавай страницы.
| |
3.14, Аноним (14), 12:23, 29/07/2018 [^] [^^] [^^^] [ответить]
| +8 +/– |
> Наоборот, только приложение (автор приложения) знает какие доступы ему нужны
Я автор софта для наложения смешных эффектов на фотки. Моему приложению нужен доступ к камере, микрофону, галерее, списку контактов и истории браузера
| |
|
4.15, anonymous (??), 12:31, 29/07/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Я автор софта для наложения смешных эффектов на фотки.
Вам лучше так и оставаться на прикладном уровне и пользоваться android sdk. Ограничения по сисколам пока не для вас.
| |
|
|
2.16, aknor (?), 12:33, 29/07/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
Очевидное применение , - ограничивать любой интерпретатор ...
| |
2.17, Аноним (28), 12:39, 29/07/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Странно ограничивать приложение из него самого.
Странно не слышать ни разу о "добровольном" сбросе привилегий на случай уязвимостей.
https://www.google.ru/search?q="drop+privileges"
> Еще и окажется, что надо исходники править и пересобрать программу, чтобы добавить доступ в нужное тебе место, которое не предусмотрели разработчики.
Это какие-то фобии вчерашних вендузоводов про сорцы и пересборку?
Еще ведь может оказаться, что доступ к чему-то нужен только один раз, при старте. Поэтому сознательное урезание прав и привилегий автором обычно идет только в плюс.
| |
|
3.45, Аноним (45), 00:54, 30/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Чувак, я ничерта не понял из того что ты сказал, но ты заговорил и достучался до моего сердца.
| |
|
2.31, Аноним (31), 19:57, 29/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если приложение может прочитать путь из конфига, оно его и будет вайтлистить, не?
| |
2.35, PereresusNeVlezaetBuggy (ok), 20:47, 29/07/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
unveil — это защита от ситуаций, когда порядочная программа взламывается и кто нехороший с её помощью начинает делать то, что эта программа делать не должна. Если вам нужна защита от запуска изначально вредоносного кода, то вам к Данилову и прочим.
| |
|
|
2.12, Аноним (10), 12:00, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Нет, это не аналог firejail. Приезжайте на LVEE, расскажу подробнее. ;)
| |
2.50, Аноним (50), 03:43, 30/07/2018 [^] [^^] [^^^] [ответить] | +3 +/– | firejail и используемый там seccomp на бумаге гибче, но на практике абсолютно ... большой текст свёрнут, показать | |
|
1.23, Аноним (23), 16:06, 29/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
когда хотели изобрести SELinux, но не догадались вынести список файлов в отдельный конфиг, чтобы не патчить весь софт.
| |
|
2.25, Аноним (28), 17:02, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
> когда хотели изобрести SELinux, но не догадались вынести список файлов в отдельный
> конфиг, чтобы не патчить весь софт.
Когда лапчато-перепончатые не в курсе, но гордо задранную гузку после высказывания особо ценного мнения имеют.
| |
2.26, anonymous (??), 18:00, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Когда кто-то хотел сумничать, но громко напузырял. Пути сцеплены с логикой приложения. И разделять их можно только от безисходности (это база проектирования любой системы), собственно selinux и реализует костыльный вариант.
| |
|
3.29, Аноним (29), 19:27, 29/07/2018 [^] [^^] [^^^] [ответить]
| –4 +/– |
Что в SELinux костыльного? Реализация в ядре, гибкая настройка всего и всея в юзерспайсе. Опенбздишнекам стоило бы поучиться, а не дрчить протезной лапой, как обезьяна в "Кремниевой долине"
| |
|
4.30, adaww (?), 19:45, 29/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
чувааак ! тут недавно нет бсд 8 вышла...;) с тем же pkgsrc...не нравится опенка ибашЪ юзай ее или фрю. и не иби мозги...
| |
4.32, Аноним (31), 20:38, 29/07/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
Все. Потому что написание правил selinux заслуженно считается крайне трудоемким занятием, требующим сотни человекочасов для тестирования всех случаев.
А это скорее аналог sandboxing, как в chrome и firefox.
| |
|
5.36, PereresusNeVlezaetBuggy (ok), 20:54, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Верно. Как раз для Chrome уже давно реализована песочница на базе pledge(), теперь к ней добавляется и unveil. Для unveil() ещё нужна доработка, но в целом уже работает. С Firefox, к сожалению, всё не так хорошо, но уже есть пара патчей, добавляющих поддержку pledge(), а там и до unveil() недалеко.
| |
|
|
7.38, PereresusNeVlezaetBuggy (ok), 21:07, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Угу. К SECCOMP ещё несколько лет назад была масса вопросов (вроде возможности отыграть назад, фактически, выключая seccomp), сейчас — может, под давлением pledge? — часть из них решилась.
| |
|
|
|
4.34, PereresusNeVlezaetBuggy (ok), 20:43, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
В OpenBSD механизмы ограничения системных вызовов были тогда, когда на Linux не было вообще ничего подобного. Это уже далеко не первое поколение.
| |
|
5.65, Аноним (65), 23:50, 05/08/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
RSBAC, позволяющий ограничить все что угодно в линухе, появился в 2000 году. В то время опенок еще даже не был в состоянии загрузится на реальном железе(впрочем и сейчас с железом которому менее 10 лет у опенка жесткие проблемы).
А ты продолжай врать.
| |
|
6.66, PereresusNeVlezaetBuggy (ok), 02:22, 06/08/2018 [^] [^^] [^^^] [ответить]
| +/– |
1. «Появился» он в виде патча, а не в mainline ядре. Напомните, когда он стал частью дефолтного ядра в каком-либо крупном дистрибутиве? Потому что сравнивать доступный где-то патч и изначально доступную и работающую функциональность как-то некорректно, не находите?
Впрочем, я уже поправился по соседству, говоря про SELinux, — надо было здесь тоже, признаю.
2. OpenBSD работал на реальном железе и куче архитектур с момента рождения. В отличие от изначально x86-only Linux (я очень рад за ядро Linux, что сейчас оно может куда больше, чем в 1995-м). «А ты продолжай врать».
| |
|
|
4.42, Аноним (42), 22:48, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Я сам линуксоид, но SELinux - переусложненная хрeнь, которая, мягко говоря, не украшает стек. Костыльного в ней то, что профили по умолчанию долго пилились методом проб и ошибок в стиле "Запускаем нечто, оно вылетает. Ого, оно оказывается еще и такой доступ требует? Даем!" Это позорище! Профиль безопасности должен быть частью самого приложения, авторы лучше знают, что приложению надо. Так что даешь unveil(), но только более мощный.
| |
|
|
6.47, PereresusNeVlezaetBuggy (ok), 01:32, 30/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
А это как раз много «хорошего» говорит об архитектуре PAM и NSS.
Когда библиотека начинает делать за спиной приложения невесть что, жди беды. Круче PAM только QtWebEngine, который форкает процессы.
| |
|
7.55, Crazy Alex (ok), 19:15, 30/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Вообще-то это называется "API" и "information hiding". Приложение должно знать то, что оно само делает. Как именно работают используемые им сервисы, оно знать и не должно. В том числе и куда они лезут - это уровень системы.
| |
|
|
|
4.53, КО (?), 10:16, 30/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Реализация в ядре, гибкая настройка всего и всея в юзерспайсе.
И маленький ньюанс.
Для ускорения всего и вся занесли чать Самбы в ядро (ну чтоб меньше переключений контекста).
Все тру... И тут Селинукс начал вопить - куски йадра утекают всеть - запретить. Правда и сам не мог объяснить толком что именно и ссылался на забавные имена файлов в корневой системе. Завели баг, все пучком.
- разработчи селунукса : надо чтоб пакеты помечались пусть сделают
- самбисты : это к ядерщикам, они их генерят
- ядерщики : это не к нам, мы такой фигней не маемся - пишите правила
- писатели правил : это что? нам писать правило можно все из ядра в сеть? а зачем тогда все? Самбисты - метьте пакет.
- самбисты : да сказано же, мопед ядерщиков
- ядерщики : мопед не наш, мы только объяву разместили, пишите правила...
В общем, забавная была переписка.
Поэтому и считается что правила проще создавать самому и в динамике отслеживать.
Типа вот я запросил, попользовался и больше не надо. Чем один раз и на всегда.
| |
|
3.51, Ordu (ok), 04:11, 30/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
> собственно selinux и реализует костыльный вариант.
SELinux -- это не костыльный вариант. Это классический корпоративный оверинжиниринг.
| |
|
4.56, Crazy Alex (ok), 19:17, 30/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Который при этом так же классчиески работает в корпоративных системах, не привязан к заморочкам самого приложения и допускает отдельный аудит правил. А вот как сделать аудит того, что предлагают в топике, без аудита всего кода приложения - не представляю.
| |
|
5.58, Ordu (ok), 22:04, 30/07/2018 [^] [^^] [^^^] [ответить] | +2 +/– | Да-да, я о том же Корпоративный оверинжиниринг, попытка решить 200 проблем одн... большой текст свёрнут, показать | |
|
|
|
2.33, PereresusNeVlezaetBuggy (ok), 20:41, 29/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
1. SELinux появился куда позднее, скажем, systrace — который в OpenBSD уже давно успели выпилить.
2. SELinux не позволяет изменить привилегии после инициализации приложения, то есть программа всегда работает с максимально допустимыми привилегиями.
3. SELinux куда сложнее, в плохом смысле этого слова, и заточен прежде всего под соответствие требованиям законодательства (США), а не реальные потребности.
| |
|
3.39, PereresusNeVlezaetBuggy (ok), 21:21, 29/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
... и тут я немного наврал:
хотя systrace был добавлен в OpenBSD в 2002 году, а SELinux в ядро — в 2003-м, но именно презентован SELinux в виде, доступном для использования, был всё же раньше, в 2000-м.
| |
|
|
|
2.43, антончик (?), 00:13, 30/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Тоже задался таким вопросом. Можно было бы написать шелл-враппер для старта программы и явно указать куда ей можно ходить, чтоб в ~/.ssh даже не думала заглядывать.
| |
|
3.52, Аноним (52), 06:48, 30/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Получается с unveil нужно еще системное приложение писать, для программ которые его пока не поддерживают. Типо файрволла, только с правилами путей?
| |
|
4.54, PereresusNeVlezaetBuggy (ok), 13:07, 30/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Написать можно, но смысл теряется: немалая часть путей при типовом использовании pledge/unveil актуальна только на этапе инициализации, а при использовании внешнего приложения получается, что мы всегда позволяем максимум требуемого всегда.
| |
|
|
2.48, PereresusNeVlezaetBuggy (ok), 01:36, 30/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Для pledge это определяется вторым аргументом, он позволяет задать ограничения именно для запускаемых через exec бинарников. Для unveil семантика ещё до конца не устаканилась, что-то может поменяться, — изначально эта функциональность вообще планировалась как часть pledge, но постепенно стало понятно, что нужен другой принцип работы, поэтому и системный вызов отдельный.
| |
|
|