LINUX.ORG.RU

Изоляция потенциальных малварей в Linux - как сделать удобно и в меру безопасно?

 , , ,


0

1

Всем привет. Года 3 уже сижу на Линуксе с виндой в дуалбуте и недавно решил что так продолжать не охотно мне. Мой текущий десктопный сетап с дуалбутом в некоторых моментах крайне затратен по времени и неудобен. В основном я работаю за Linux`ом, а когда мне становится нужно воспользоваться какой-либо виндовой программой, то мне нужно выполнить целый ряд действий и встретится с несколькими ограничениями:

  • Перенести на NTFS раздел файлы, c которыми я собираюсь работать там
  • Перезагрузится в винду
  • Быть готовым писать и отвечать людям в мессенджерах с «неважных» аккаунтов
  • А так-же из-за того, что Debian стоит на ext4 в LUKS, а значительное количество файлов в зашифрованных датасетах ZFS - не иметь к ним доступа пока я нахожусь в Windows. (Даже если бы Microsoft и внедрили поддержку хоть чего-нибудь кроме своей всратой NTFS, то я бы не вводил бы там никакие ключи по понятным причинам.)

Как вы уже наверняка поняли, установка Windows у меня на компьютере является чем-то в роде изолированного подвала, где я разрешаю проприетарному софту Microsoft и крякам делать всякий треш, сохраняя основную систему в безопасноти и чистоте.

К счастью есть такая вещь, как изоляция, которая должна позволить мне запускать кряки некоторого Linux софта и программы через wine, прямо под Linux, не давая заглянуть недоверенному софту туда или тронуть того, что трогать не надо. Ну и конечно меньше загружаться в винду. (К сожаления есть софт который заставить работать на линуксе невозможно и игры. У текущих d3d трансляторов с производительностью печально и для меня это критично)

Казалось бы, всё очевидно - устанавливаю firejail, создаю парочку простых профилей…? Profit! Конечно это в идеале…

Но в реальности я сталкиваюсь с проблемами:

  • Утилиты к сожаления написаны не так хорошо, как хотелось бы и иногда в них находят эксплойты, которые позволяют выбраться из песочницы в аккаунт юзера. Ладно - создаю отдельного юзера который мало к чему будет иметь доступ.
  • Дальше - на сколько защищены иксы по дефолту и если они таковыми не являются, то как настроить их? Кроме того возможно ли безопасно в иксах одного пользователя запустить программу дргуим пользователем? Или же мне придётся использовать что-то вроде VNC или скакать по нескольким TTY? (Не хотелось бы конечно, сильно тормознуто выходит, особенно с VNC) В моем случае DE это KDE на Wayland

И это только те подводные камни, с которыми мне пришлось столкнуться. Наверняка есть ещё таких, пожалуйства напишите про подобные, и как их обойти, если знаете.

После всего этого, я конечно понимаю что даже с изоляцией запускать недоверенный код запускать полностью безопасно - будет возможно никогда. Также про виртуальные машины и докер я знаю, но там проблемы с производительностью и графической отзывчивостью (Например докер хоть и является контейнером, но аппаратное 3D ускорение не поддерживает на AMD), так что на постоянной основе такое использовать будет больно. И от софта сомнительного софта отговаривать меня не надо. К сожалению FOSS софт сегодня не может обеспечить мне некоторых функциональностей и возможностей, к которым я так привык или которые просто есть только в проприетарном софте.


Дальше - на сколько защищены иксы по дефолту и если они таковыми не являются, то как настроить их?

Нинасколько и никак. Все приложения, имеющие доступ к x-server'у равны. Изоляция через запуск приложения в отдельном x-server'е, но вам же нужно 3d. Так что страдайте.

mky ★★★★★
()

Также про виртуальные машины и докер я знаю

Докер — это не про безопасность, это костыль для обхода убогих пакетных менеджеров

но там проблемы с производительностью и графической отзывчивостью

Не поскупись, не пожалей <0.5%. 2023 год на дворе, аппаратное ускорение виртуализации в каждом тапке, проброс видеокарт 10 лет как сделан.

Ну и незаслуженно обойден сценарий с отдельной железкой под.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Дак, ТС это вариант отмёл, если я правильно расшифровал:

или скакать по нескольким TTY? (Не хотелось бы конечно, сильно тормознуто выходит,

Я не знаю какой у него сценарий использования «плохих» программ, может ему всё время между ними нужно данные мышкой (клипбордом) перекидывать.

mky ★★★★★
()
Ответ на: комментарий от t184256

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

mky ★★★★★
()

Второй комп заводи и KVM переключатель устройств ввода и монитора между двумя ПК. Изолировать, так железно. От уязвимостей нулевого дня тебя даже изоляция на уровне ядра не спасёт. Либо нахлобучки и тормоза с секурити, либо отдельная тачка. Либо текущей тачке нужна прокачка, виртуалка с проброшеной видимокартой и хреноядерный проц, тогда работа в виртуалке ничем не будет отличатся от работы на хосте. На всё это нужны денюфки :( Так что файреджаил, баблврап и молись или виртуалка и терпи. =)

LINUX-ORG-RU ★★★★★
()

К чему такой перфекционизм? Лично за тобой у кого-то есть основания следить?

99.999% малварей ориентируются на совершенно стандартные условия. Им нет необходимости пытаться преодолеть какие-то изолированные окружения ради того, чтобы окучить дополнительных 5 пользователей, которые такими пользуются: простая арифметика. Простая малварь пишется за 10 дней и окучивает 3 миллиарда пользователей. Сложная малварь напишется за 100 дней и окучит 3 миллиарда +10 пользователей. Стоит ли оно затраченных усилий?

Наверняка есть сложные малвари, которые используют zero day уязвимости ядра, железа, и т.д. Но эти малвари, скорее всего, направлены на конкретных людей, делаются и распространяются конторами типа ЦРУ. Но ЦРУ и так встраивает жучки во всё железо (см. откровения Сноудена более, чем 10 летней давности, с тех пор всё стало только хуже). Кроме того, если ты заинтересовал ЦРУ, они смогут снять твои данные и удаленными способами типа Tempest, и залезть в твою квартиру пока ты на работе (в курсе, что любой замок открывается спецом за максимум 5 минут?) и наставить жучков, в т.ч. в твой комп.

Короче, более-менее надёжный способ: разделить железки. Работа с GnuPG и банками на одном компе. Интернет и игори - на другом. Всё остальное - полумеры.

X11, с точки зрения безопасности, решето. Если запущена вредоносная программа в виде, скажем, игры, то она может и записывать экран, и нажатия клавиш, в тот момент, когда, например, входишь в свой Интернет-банк. И даже нажимать клавиши за тебя может, чтобы, например, перевести деньги с твоего счёта в неизвестном направлении. Любая программа на том же X-сервере, насколько я помню.

emorozov
()
Ответ на: комментарий от emorozov

Лично за тобой у кого-то есть основания следить?

Совершенно убогий и отвратительный аргумент.

1) ты не можешь знать, это стараются делать незаметно

2) когда начнут (и уж тем более когда заметишь), уже может быть поздно принимать меры

firkax ★★★★★
()
Ответ на: комментарий от mky

При этом он загружается в винду не отключая диск с LUKS. То есть он боится утечки данных, но не боится их уничтожения шифровальщиком или каким ещё вирусом...

И при этом даже от утечки он не защищён. Впрочем, классическая ситуация у криптофанатиков, ставить дверь (ладно, с куском стены даже) в открытом поле.

firkax ★★★★★
()

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

скакать по нескольким TTY? (Не хотелось бы конечно, сильно тормознуто выходит,

Если речь про разделение нескольких юзеров в одной системе - то переключение tty как раз самый быстрый и удобный вариант. И ничего не тормознуто, если только не хочешь копипаст между ними делать.

Варианты изоляции такие:

1) отдельный юзер (опционально с контейнером) в линуксе и внимательная настройка прав, чтоб у него не было никуда доступа, запускать из отдельного tty; но этот вариант имеет ряд минусов в плане безопасности

2) виртуалка (тут тоже есть минусы, на выход из виртуалок бывают эксплоиты, но редко)

3) отдельный комп (тут надо следить чтобы он не начал заниматься вредительством в локалке, имея полный доступ к настройке сетевой карты)

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Аргумент очень простой. Я не призываю распахнуть двери и окна, выбросить замки.

Я просто хорошо понимаю, что 99.99% населения Земли никому не интересно с их «секретами», и их достаточно хорошо защищают меры по умолчанию.

А если есть реальные невыдуманные основания считать, что тебе действительно нужен сверхвысокий уровень секретности, то надо учитывать, что уже даже в CPU встроены целые небольшие секретные ОС, работающие на ЦРУ и АНБ. А также наверняка в прошивки жёстких дисков, сетевых карт, роутеров, и всего остального, в чём есть минимально разумный процессор.

emorozov
()
Ответ на: комментарий от t184256

Это очень правильно.

Однако, приложение в контейнере потом очень удобно огораживать каким-нибудь SELinux, не разбираясь в логике работы приложения и требуемых правах. podman+udica – очень просто, но действенно. Есть и более продвинутые инструменты для этой же цели.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)
Ответ на: комментарий от t184256

<0.5%. 2023 год на дворе, аппаратное ускорение виртуализации в каждом тапке, проброс видеокарт 10 лет как сделан

Если всё действительно так, то всё равно остаются минусы в виде ещё одной загруженой системы, которая занимает ресурсы

Ну и незаслуженно обойден сценарий с отдельной железкой под.

Это конечно хорошо, но как-то дороговато выходит

Velent
() автор топика
Ответ на: комментарий от mky

ТС это вариант отмёл, если я правильно расшифровал

Нет, не отмёл, сильные тормоза это про VNC, а тут всего-то секунду переключение, моему юзкейсу это не помешает. Однако если есть какой-то вариант лучше, то я бы предпочёл его.

Ну т.е. две отдельные сессии всё-таки изолированы друг от друга?

Velent
() автор топика
Ответ на: комментарий от mky

При этом он загружается в винду не отключая диск с LUKS. То есть он боится утечки данных, но не боится их уничтожения шифровальщиком

Постоянно отключать и подключать NVME накопители проблематично. А также я постоянно делаю бекапы всего важного, так что много не потеряю, если уж всё-таки нарвусь на что-то.

Velent
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Второй комп заводи и KVM переключатель устройств ввода и монитора между двумя ПК. Изолировать, так железно.

Уже отвечал, это хорошо, но стоит слишком дорого

тогда работа в виртуалке ничем не будет отличатся от работы на хосте.

Да, мне б оперативки побольше, но сомневаюсь что разницы не будет

Velent
() автор топика
Ответ на: комментарий от emorozov

X11, с точки зрения безопасности, решето.

Это и я знаю, но речь же шла изначально про Wayland. Одна из целей его разработки - привнесение изоляции. Или это всё ещё только цели и обещания?

Velent
() автор топика
Ответ на: комментарий от firkax

И при этом даже от утечки он не защищён.

А это почему? Допустим, что-то умудрилось вытянуть зашифрованный раздел, а дальше что? Брутить его будут?) Ну пусть попробуют)

Velent
() автор топика
Ответ на: комментарий от Velent

Ты сам введёшь все пароли от него. Ты же делаешь это иногда. Оттуда и заберут. Никто не мешает винде прописать загрузочный троян тебе на линуксовый диск.

firkax ★★★★★
()
Ответ на: комментарий от Velent

Уже отвечал, это хорошо, но стоит слишком дорого

Програмные способы изоляции имеют тенденцию обрастать дырами. Чего там дорого то? И вообще у тебя странные желания - всё сразу и бесплатно.

firkax ★★★★★
()
Ответ на: комментарий от Velent

На уровне X-протокола разные X-сервера изолированы друг от друга. Но нужно не забыть убрать возможность процессов одной X-сессии подключится к другом X-серверу (изолировать X11-unix-сокет или хотя бы X11 MIT-MAGIC-COOKIE).

Что касается XWayland, то я не знаю, слушает ли он abstract socket и можно ли это отключить. Но, может, и не страшно, может MAGIC-COOKIE нельзя брутфорснуть.

mky ★★★★★
()

Быть готовым писать и отвечать людям в мессенджерах с «неважных» аккаунтов

Можешь раскрыть, как именно этот пункт связан с перезагрузкой в винду? С остальными понятно. (Просто если у тебя какой-то конкретный мессенджер только в винде, и держится только на «неважных» аккаунтах, может, и не стоит его держать вообще. Ну или ты что-то другое имел в виду. :) )

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

Можешь огласить примерный список этих функциональностей и возможностей? А то вдруг ЛОРовцы некоторые из них найдут. Полностью мы тебя от перезагрузок в винду не избавим, но если сократим их число хотя бы на треть — уже неплохо.

hobbit ★★★★★
()

Во-первых, выдохни и расслабься. Ты слишком серьезно воспринимаешь банальные вещи.

  1. Если тебе нужен виндовый софт, и если это не автокад с ANSYS, то тебе за глаза хватит виртуалки в VBox.
  2. Если нужен дуалбут — сделать общий раздел с ntfs и просто храни всю дату там. Тогда всегда будет доступ их обоих система без сношения с ПК.

Быть готовым писать и отвечать людям в мессенджерах с «неважных» аккаунтов

Даже комментировать не буду.

Debian стоит на ext4 в LUKS, а значительное количество файлов в зашифрованных датасетах ZFS - не иметь к ним доступа пока я нахожусь в Windows

Зачем это все? Ты хранишь секретные коды от запуска ракет?

всратой NTFS

В чем ее всратость?

я разрешаю проприетарному софту Microsoft и крякам делать всякий треш

Какой?

сохраняя основную систему в безопасноти и чистоте

Как винда может что-то сделать линуксу? Она не умеет в его ФС при всем желании.

изоляция

А щапошку из фольги не забыл надеть? Вдруг чо. Соседи тебя, кстати, не облучают микроволновками?

Zhbert ★★★★★
()
Ответ на: комментарий от chenbr0

А как ты определяешь, какому коду можно доверять, а какому нет?

Хочется верить, что он самолично проводит аудит каждой строчки ядра линукса, но что-то мне кажется, что там просто условие «Если «открытый» — значит проверенный».

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Как винда может что-то сделать линуксу? Она не умеет в его ФС при всем желании.

А ты в этом уверен? Она тебе не показывает, что она умеет, это да. Как в том анекдоте — «Ну так и вы говорите».

Но технически при громадном объёме винды туда совершенно несложно запихать, скажем, драйвер ext*, который будет работать, например, на фоне Защитника Windows или ещё чего-то ресурсожручего, смотреть «а что это у нас такого есть на соседнем разделе» и отправлять сводочку куда надо в виде «телеметрии». А то и записать туда чего-нибудь лишнего (хотя последний вариант палевный, парочки квалифицированных параноиков с хорошо настроенной безопасностью на весь земной шарик вполне хватит, чтобы эту схему разоблачить).

hobbit ★★★★★
()
Ответ на: комментарий от Shushundr

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

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Не надо коробок, одной 19" 2-метровой стойки хватит скорее всего, и провода в ней будут в основном аккуратно уложены внутри вдоль каркаса. Я себе сразу такую приобрёл как компов стало больше одного.

firkax ★★★★★
()
Ответ на: комментарий от firkax

одной 19" 2-метровой стойки хватит скорее всего

Я себе сразу такую приобрёл как компов стало больше одного.

Пытаюсь представить реакцию жены/девушки на такое.

Я иногда в командировках тоже посмотрю на серверный шкаф, подумаю: «Эх, домой бы такое прикольно». Потом вспоминаю про семью, и меня отпускает.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

В этом случае наверное надо ещё заниматься уборкой квартиры?

(есть ещё, конечно, вариант заключить договор аренды офиса… А некоторые, я слышал, токарные станки в гаражах ставят)

Shushundr ★★★★
()
Последнее исправление: Shushundr (всего исправлений: 2)
Ответ на: комментарий от Shushundr

Да, проблему пыли уборка решит. Проблему места — нет.

А некоторые, я слышал, токарные станки в гаражах ставят

Во, чтобы поиграть с высокими FPS, в гараж бежать самое то. А ещё гараж — неотапливаемое помещение, для компьютерной техники — смерть.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Я иногда в командировках тоже посмотрю на серверный шкаф, подумаю: «Эх, домой бы такое прикольно». Потом вспоминаю про семью, и меня отпускает.

Просто при планировании стен в квартире надо выделять комнатку под серверную.

annulen ★★★★★
()