Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Adobe Flash Player и безопасность Linux-десктопов. Какие есть варианты?  (Прочитано 8028 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RF3557

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Всем доброго времени.

Тему поднял в связи с вопросом Adobe Flash Player (дальше для краткости - "AFP" ), который подвергает опасности любые операционные системы, включая и Линуксы.
Насколько известно, выпуск новых версий AFP для Linux-систем прекращен в прошлом году.
При этом, "Обновления с устранением уязвимостей будут выпускаться ещё в течение 5 лет, но релизы с реализацией новшеств под Linux больше выпускаться не будут.". Т.е. надо полагать, что AFP будут латать в случае нахождения уязвимостей, всяких дыр еще до 2017 года.

Есть еще такие моменты, как создание Адобом песочниц для разных браузеров:
для Хрома (в котором AFP вообще встроен прямо в браузер) - Google внедрила в браузер Chrome режим песочницы для Adobe Flash Player
для Firefox - Adobe Flash поместили в песочницу в браузере Firefox
//07.02.2012

и недавнее, для Safari - Adobe Flash Player помещен в «песочницу» Safari под Mac OS X

Естественно, и продолжение поддержки в виде обновлений безопасности и создание песочниц устраивает/успокаивает далеко не всех, и чаще всего адекватные Linux-пользователи, включая и гуру, вообще настоятельно рекомендуют совсем не ставить AFP, в целях безопасности системы. В качестве альтернатив AFP часто советуют два популярных решения, это - Gnash и Lightspark ( OpenSource альтернативы для Adobe Flash Player ). Но установив их на свою Ubuntu 12.10, я понял, что с помощью этих двух альтернатив я не смогу послушать музыку на music.yandex.ru (оказывается, можно слушать без флеш-плеера на Firefox, см. ниже UPD1) ,  не смогу посмотреть фильмы на тех же megogo.net , ivi.ru , zoomby.ru , Ютубе (ниже в ответах vit-irk варианты, как можно обойтись на Ютубе вовсе без флеша), да и на большинстве других сайтов, где требуется обычный стандартный AFP, итог - Flash Player для этих повседневных целей все-таки НЕОБХОДИМ..

Сразу хотелось бы уточнить детали:
Параметры моего ПК, два ядра, частота процессора 3 ГГц, ОЗУ - 2 гигобайта
Система - Ubuntu 12.10.
И насчет основного  браузера, уже давно и бескомпромиссно это - Firefox. Все семейство хромиумов - Google Crhome, Chromium, SWare Iron если и рассматриваются, то рассматриваются только как "второй браузер ТОЛЬКО ДЛЯ ТОГО, чтобы открывать сайты с музыкой и видео и больше ни для чего). Firefox считаю для себя оптимальнейшим браузером (за счет дополненений\расширений да и вообще), но ИМХО, хромиумы часто ведут себя легче, чем Firefox и не тормозят на многих сайтах с видео (лично у меня Firefox притормаживает на большинстве из них, что честно говоря НЕудобно в плане комфортного просмотра видео).

Какие приходили мысли:
1. Поставить Google Chrome
К сожалению, если и ставить что-то из хромиумов, то лучший из вариантов для этих целей - SWare Iron (в процессе выяснилось, что я скорее всего ошибался (но мнение поменялось уже точно) и оптимальнее скорее Chromium) , отсутствие всяких гугло-модулей, слежения за всякими идентификаторами пользователя, особенно "Chrome Копия Google Chrome содержит сгенерированный установочный номер, который отсылается в Google, когда Chrome устанавливается и используется впервые" , как и обычный Chromium не содержат предустановленный AFP ). Поэтому, чтобы не ставить Adobe Flash вообще в систему (т.е. для всех браузеров) и учитывая  "Тем не менее, новые версии Flash-плагина, базирующегося на PPAPI (Pepper API, поддерживаемый только в Chrome), будут формироваться компанией Google для Linux-версии браузера Chrome " а также момента с песочницей как от самого Адоб для их плеера, так и вообще система с песочницами самого Хрома, как вариант рассматривается установка обычного Гугл Хрома.
Но учитывая закрытые компоненты проприетарного Гугл Хром, держать этот браузер на компьютере как-то не очень хочется. Как развитие мысли дальше, если все таки поставить Гугл Хром, ограничить как сам браузер, так и можно преположить и Adobe Flash Player на нем бегущий с помощью SELinux или AppArmor. В итоге, если и можно запаковать ГуглХром через SELinux или  AppArmor , все равно на борту системы бежит Adobe Flash Player. P.S.: SELinux и AppArmor-ом почти не пользовался, хотелось бы узнать мнение, насколько вообще резонно пробовать вариант посадить в них Хром с вшитым Адоб-плеером. Если честно, есть неуверенность, что это особенно поможет.

2. И другая мысль - ставим Виртуалбокс, в него какой-нибудь легковесный Линукс и в нем ГуглХром (или отдельно флеш-плеер для Линукса и на выбор Хромиум или вышеупомянутый SWare Iron). Общие папки в виртуальную машину не расшариваем, буфер обмена не открываем и т.п. И все, любое видео можно теперь смотреть в параллельно запущенной виртуальной машине, которую в моменты ненадобности можно или ставить на паузу или выключать-включать снимки системы в течение "меньше минуты". Виртуалбокс в этом случае выходит как наилучшая (?) песочница для Adobe Flash Player (в любом виде) и для того же Google Chrome, и в виртуальной машине (установленной сугубо для аудио-видео сайтов) можно уже и  не заморачиваться с SELinux или  AppArmor. Минусы такого подхода - трата ресурсов компьютера (процессор, ОЗУ) на виртуальную машину и сам Виртуалбокс. Что пробовал сам - ставил Lubuntu 12.10, выделяя ей 256 или 512 мегабайт ОЗУ в Виртуалбоксе. И там заходил на ту же music.yandex.ru или megogo.net и вполне комфортно слушал музыку, смотрел видео. В общем, главный минус тут, держать работающую виртуальную машину, которая забирает ресурсы компьютера, т.к. в каких-то случаях это может быть не удобно, хотя если в хостовой Убунте не запущен Фотошоп или еще что-то тяжелое, больших тормозов вроде как не выходит. И тут же вопросы, какой дистрибутив из легковесных Линуксов лучше всего держать в таких целях в виртуальной машине. Пробовал Lubuntu как наиболее простой и наверное первый пришедший на ум вариант, учитывая простоту установки и отсутствие особых заморочек с установкой дополнений гостевой системы (которые дают возможность раскрыть гостевую Lubuntu на весь экран, в случае просмотра видео).

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

Если рассматривать вариант с Виртуалбоксом, можно поискать лучшие сочетания легковесный Линукс + легковесный браузер для видео-сайтов, и например отдельно легковесный Линукс + легковесный браузер для аудио-сайтов. В чем разница, что чаще всего, если человек слушает музыку, он параллельно может работать в Фотошопе или играть в игрушку на хостовой системе, поэтому тут можно взять браузер, который возможно будет чуть тупить с видео (даже падать например), но хорошо и без падений работать с аудио-сайтами, но потреблять как можно меньше ресурсов. А для видео просто держать на виртуальной машине то, что будет лучше всего его воспроизводит, т.к. если мы смотрим фильм, врядли кто-то параллельно сидит в Фотошопе или например, требовательной к ресурсам игрушке.

*UPD1:

soarin подсказал насчет Яндекс.Музыки music.yandex.ru :
нужно набрать about:config в адресной строке Firefox, найти опцию media.gstreamer.enabled и поставить "true"(возможно будет нужен установленный кодек из стандартных реп типа gstreamer-mp3)

После этой настройки Яндекс.Музыка работает в Firefox без необходимости устанавливать в систему флеш-плеер.
И еще Яндекс.Музыка работает "из коробки" без флеш-плеера на Midori

« Последнее редактирование: 26 Ноября 2013, 19:32:51 от RF3557 »
Перешел с Windows на Ubuntu)

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
RF3557, у вас 2 последних пункта сводятся к виртуализации, и кстати говоря, варианты реализации виртуализации на этом не заканчиваются (см. KVM / LXC / etc.).
По сути, сюда можно также отнести удалённый доступ и всяческие способы проброса графического терминала (дисплея), NX / VNC / RDP / Spice.
А есть и принципиально иные способы защиты:

3. Разделение прав доступа на уровне учётных записей.
По идее, реализовать можно без особых проблем, но есть пара минусов.
Надо держать отдельный профиль браузера под другим юзером, что не очень-то удобно, но вполне надёжно по отношению к остальным данным текущего юзера.
Кроме того, у процесса plugin-container будет доступ ко всему профилю браузера и вероятно, к текущему дисплею.

4. Организация мандатного доступа посредством SELinux / AppArmor.
Надо настраивать профиль процесса plugin-container.
Насколько мне известно, это задача нетривиальная, хотя теоретически, можно сделать достаточно гибко.
« Последнее редактирование: 26 Ноября 2013, 15:30:18 от ArcFi »

Оффлайн Rosenfeld

  • Активист
  • *
  • Сообщений: 388
  • Fedora GNU/Linux
    • Просмотр профиля
Цитировать
Виртуалбокс в этом случае выходит как наилучшая (?) песочница для Adobe Flash Player (в любом виде) и для того же Google Chrome, и в виртуальной машине (установленной сугубо для аудио-видео сайтов) можно уже и  не заморачиваться с SELinux или  AppArmor. Минусы такого подхода - трата ресурсов компьютера (процессор, ОЗУ) на виртуальную машину и сам Виртуалбокс.

Искренне сочувствую, что в Вашей ОС невозможно предложить другое решение, кроме как виртуальная машина. У меня же, к примеру, встроенная в ОС "песочница" доступна "из коробки".

Цитировать
Как развитие мысли дальше, все таки поставить Гугл Хром, но ограничить как сам браузер, так и можно преположить и Adobe Flash Player на нем бегущий с помощью SELinux

И это будет единственным разумным решением (я про браузер) - SELinux. Делается это всего-навсего одной простейшей командой; я сам частенько ее использую.
Зарегистрированный пользователь Linux # 526899.

Оффлайн RF3557

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
ArcFi, да, убрал 3-ий пункт

Насчет указанных вами KVM / LXC не слышал, почитал сейчас общее, если честно для меня это пока темный лес))) Вот насчет LXC вроде бы понял сейчас сходу, т.е. эта штука может создавать копии ОС (например той же Убунты), но использует одно и то же ядро.

Насчет NX / VNC / RDP недопонял, как можно это применить? Т.е. если взять другой комп, на нем запускать что душе угодно, хоть ГуглХром, хоть AdobeFlash Player, а результат (видео или аудио) транслировать к себе на основной компьютер?

___________________

Искренне сочувствую, что в Вашей ОС невозможно предложить другое решение, кроме как виртуальная машина. У меня же, к примеру, встроенная в ОС "песочница" доступна "из коробки".
На Федоре? Если правильно понял, речь идет про Xen (сейчас нагуглил об этом)?
А если говорить о варианте с Виртуалбоксом, вы считаете это достаточно безопасная "песочница", если вы пишите, что невозможно предложить другое решение?

И это будет единственным разумным решением (я про браузер) - SELinux. Делается это всего-навсего одной простейшей командой; я сам частенько ее использую.

а какой командой? укажите наводку?
то есть насчет SELinux, это вариант, если например рассматривать ГуглХром или AdobeFlash как отдельное ПО на борту ОС как "неизбежное зло" (чтобы не тратить ресурсы на Виртуалбокс)? но вариант с SELinux я так думаю все равно слабее, чем с Виртуалбоксом?

В общем, в Линуксах пока нуб) Наверное надо копать в сторону гипервизоров выходит или SELinux \ AppArmor. Честно говоря, глаза разбегаются немного.
« Последнее редактирование: 26 Ноября 2013, 15:34:05 от RF3557 »
Перешел с Windows на Ubuntu)

Оффлайн vit-irk

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
RF3557,

Ютуб, вообще-то, можно легко смотреть и без флеш плеера. Я сам давно его удалил, проблем не испытываю. Решение запускать проприетарные программы в виртуалке считаю разумным. Гугл хром для флеша ставить не обязательно, для этого сойдёт любой легковесный webkit браузер (midori, qupzilla, epiphany). Вместо всяких Selinux можно использовать более простое решение: создать бесправного юзера user1, в .bashrc написать alias par='su user1 -c'
а программы запускать "par 'chromium'".
Asus Eeepc x101ch --- Intel GMA 3600 --- ArchLinux
//kernel 3.15-gnu GNU/Linux
Compaq Evo N600c (256ram) --- Debian Wheezy

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Т.е. если взять другой комп, на нем запускать что душе угодно, хоть ГуглХром, хоть AdobeFlash Player, а результат (видео или аудио) транслировать к себе на основной компьютер?
В общем случае, можно подключаться как реальной машине, так и к виртуальной, которая находится на сервере виртуализации.
А сервер виртуализации, в свою очередь, может крутиться как на локальной машине, так и на удалённой.

Оффлайн RF3557

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
vit-irk,
Да, насчет Ютуба слышал, но некоторые ролики по-прежнему просят флеш-плеер. Я бы тоже удалил его, но есть сайты, где видимо без него никак..

Про midori слышал, думаю буду пробовать ваши варианты, что полегче выйдет в итоге.

Вместо всяких Selinux можно использовать более простое решение: создать бесправного юзера user1, в .bashrc написать alias par='su user1 -c'
а программы запускать "par 'chromium'".

Тут недогоняю пока ничего).. О чем подумал, сидеть из-под этого бесправного юзера? Я вообще думал про такое раньше, вообще насчет безопасности с правами, но вроде не всегда удобно это, дополнительные заморочи в настройках отдельных программ (может что путаю)
Перешел с Windows на Ubuntu)

Оффлайн Rosenfeld

  • Активист
  • *
  • Сообщений: 388
  • Fedora GNU/Linux
    • Просмотр профиля
Цитировать
На Федоре? Если правильно понял, речь идет про Xen

На Fedor'e. Но про Xen  речь не идет. Я же написал выше, что эта тривиальная задача решается средствами SELinux.

Для начального ознакомления почитайте кратенькую PDF-презентацию Дэна Уолша из Red Hat, ведущего специалиста по SELinux:

http://people.fedoraproject.org/~dwalsh/SELinux/Presentations/sandbox.pdf

Если окажется что-то непонятно, то вот здесь гораздо проще:

http://blog.bodhizazen.net/linux/selinux-sandbox/

А это, наоборот, сложнее, но гораздо интереснее (подробнее о SELinux), там целая подборка:

http://rosenfeld.blogs.se/tags/selinux/

P.S. И вот вся эта красота и в самом деле работает "из коробки". :)
Зарегистрированный пользователь Linux # 526899.

Оффлайн vit-irk

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
RF3557,
Абсолютно все ролики ютуба можно смотреть через vlc, smplayer, gnome-mplayer. Для того, чтобы в браузере не требовал флеш, надо поставить пакет chromium-codecs-extra (вроде этот). В итоге получаем 2 способа смотреть ютуб без флеша.

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

А что? Вполне нормально запускать программы из-под другого пользователя.

Пользователь решил продолжить мысль 26 Ноября 2013, 16:32:52:

Вот нашёл способ, как запустить прогу из-под другого юзера. Предположим, user1 - это бесправный юзер, тогда
#добавляем разрешение юзеру подключаться к нашим иксам
xhost +local:user1

#работаем в браузере
su user1 -lc 'chromium-browser'
# либо gksu -u user1 chromium-browser

#удаляем юзера из списка разрешений
xhost -local:user1
Можно оформить в виде скрипта. Этот способ не лишён недостатков безопасности, т.к непроверенная программа может работать с буфером обмена, делать снимки экрана, и.т.д. , но может и сойти, если запускать проприетарщину, когда другие программы не запущены.
« Последнее редактирование: 26 Ноября 2013, 17:38:19 от vit-irk »
Asus Eeepc x101ch --- Intel GMA 3600 --- ArchLinux
//kernel 3.15-gnu GNU/Linux
Compaq Evo N600c (256ram) --- Debian Wheezy

Оффлайн RF3557

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
vit-irk,
если правильно понял вас (а может и не понял пока..), например если я просто User (админ), делаю отдельно User1 (бесправного), из-под учетки бесправного юзера ставим Google Crhome с вшитым флеш-плеером, затем выходим, заходим снова в User (админ) и из под него вызывает прогу, которая установлена у User1 и это частично ограничивает права выполняющегося Хрома?

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

Да.. в этом прикол, что нежелательно запускать проприетарщину в основном сеансе/системе, где обычно бежит чисто опенсорс.
Перешел с Windows на Ubuntu)

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net

Оффлайн RF3557

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
ArcFi,
Да, я это почти понял, как вы написали, vit-irk просто более подробно расписал, а так я понимаю, что речь об одном и том же идет. Просто не сталкивался пока с этим. Но думаю вариант скорее всего не тот, который нужен, если  потенцитально вредная программа все-таки не до конца "изолирована" и может видеть буфер основной системы/сеанса, делать снимки и т.п.
« Последнее редактирование: 26 Ноября 2013, 16:58:43 от RF3557 »
Перешел с Windows на Ubuntu)

Оффлайн vit-irk

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
RF3557,
Алгоритм:
1. Заводим бесправного пользователя user1, проверяем, чтобы от не мог читать файлы в нашей домашней папке
2. Ставим проприетарный хром. От обычного юзера (т.е. себя) его не запускаем.
3. Запускаем хром приведённым мною скриптом, желательно не запуская другие программы вместе с ним.
4. После работы с хромом убираем права доступа к иксам у юзера и закрываем терминал
Вот и всё.
Есть совсем бешеный вариант - запуск браузера в chroot среде.
Asus Eeepc x101ch --- Intel GMA 3600 --- ArchLinux
//kernel 3.15-gnu GNU/Linux
Compaq Evo N600c (256ram) --- Debian Wheezy

Оффлайн RF3557

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
vit-irk,
Думаю понял детали. Т.е. сижу например из-под обычного юзера и от имени бесправного User1 вызываю Хром (который я под User1 и поставил).

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

Про chroot благодарю, сейчас глянул мельком, на заметку взял.
Перешел с Windows на Ubuntu)

Оффлайн vit-irk

  • Участник
  • *
  • Сообщений: 200
    • Просмотр профиля
RF3557,

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

Пользователь решил продолжить мысль 26 Ноября 2013, 17:31:45:
Кстати, кроме virtualbox есть и другие виртуалки. Можно попробовать qemu-kvm, говорят, он быстрее работает.
« Последнее редактирование: 26 Ноября 2013, 17:31:45 от vit-irk »
Asus Eeepc x101ch --- Intel GMA 3600 --- ArchLinux
//kernel 3.15-gnu GNU/Linux
Compaq Evo N600c (256ram) --- Debian Wheezy

 

Страница сгенерирована за 0.038 секунд. Запросов: 25.