×
Биржа Crossover в России: низкий старт. (25 март 2017)

Внимание: "турниры" и тесты, хамство и спам от Crossover.com.

Skype в клетке SElinux Sandbox

Больше
3 года 1 мес. назад - 2 года 10 мес. назад #1 от Aleksej
Давно у меня руки чесались - проприетарную эту хреновину, созданную в бытность руками профессиональных хакеров (а без скайпа, как ни крути, обойтись сегодня весьма непросто), упрятать куда-нибудь поглубже и построже... когда-то обходился для этой цели Apparmor-ом , но времена меняются; развитие Apparmor, после увольнения из Novell ведущих разработчиков проекта, по всей видимости, окончательно сегодня остановилось, а skype - идет и идет вперед... ну, что же. Прибегнем, в духе времени, к SELinux Sandbox (эксперименты проводились на новенькой Fedora 20).





Начинаем с создания двух каталогов в нашей домашней директории skype:
$ mkdir ~/.Skype/se_home
$ mkdir ~/.Skype/se_tmp

теперь, собственно, устанавливаем сами политики для песочницы:
# yum install policycoreutils-sandbox

Далее - пытаемся запустить наш линуксовый skype 4.2:
$ sandbox -H ~/.Skype/se_home/ -T ~/.Skype/se_tmp/ -X -t sandbox_net_t skype

и - тут же получаем ошибку, что-нибудь вроде:
skype-bin: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied.

Отлично, теперь выполняем (под рутом)
# semanage fcontext -a -t textrel_shlib_t '/usr/lib/libQtWebKit.so.4.10.3'
# restorecon -v '/usr/lib/libQtWebKit.so.4.10.3'

Учтите, название либы приведена именно в контексте актуальной на момент написания статьи Fedora 20; все очень быстро меняется в нашем мире.

Далее:
# grep skype-bin /var/log/audit/audit.log | audit2allow -M skype

Теперь вы можете увидеть в домашней директории два новых файла, с расширениями *pp и *te; открыв второй из них - узнать, чего же именно не хватает скайпу для полного счастья:
$ cat skype.te

module skype 1.0;

require {
        type bin_t;
        type sandbox_net_client_t;
        class file execmod;
}

#============= sandbox_net_client_t ==============
allow sandbox_net_client_t bin_t:file execmod;

Ничего такого страшного, как видим. Ок, коли так -
# semodule -i skype.pp

В дальнейшем вы легко сможете отключить, удалить либо изменить вновь созданный модуль, воспользовавшись командой semodule .

P.S. Видео в скайпе я не использую и описанных экзекуций мне более чем хватило; разве что пришлось чуть изменить дефолтные настройки в устройствах скайпа, см. скриншот (по дефолту не было звука). Если видео в контексте скайпа критично для вас - рекомендую обратиться к исчерпывающему материалу этой странички (увы, страницы более не существует, линк удаляю).


Последнее редактирование: 2 года 10 мес. назад от p.rishard.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад #2 от beginner
действительно есть основания так сильно не доверять скайпу?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад - 3 года 1 мес. назад #3 от rashid-ad-din

beginner пишет: действительно есть основания так сильно не доверять скайпу?


А то. Была когда-то чудная статья Криса Касперски на тему. Не поленитесь, найдите в сети.

Skype – скрытая угроза. Skype, созданный отцами-основателями скандально известной Kazaa и унаследовавший от своей прародительницы самые худшие ее черты, работает по принципу самоорганизующейся распределенной пиринговой сети (distributed self-organized peer-to-peer network, P2P). Skype – это черный ящик с многоуровневой системой шифрования напичканного антиотладочными приемами исполняемого файла, считывающий с компьютера конфиденциальную информацию и передающий ее в сеть по закрытому протоколу. Последний обходит брандмауэры и сурово маскирует свой трафик, препятствуя его блокированию. Все это превращает Skype в идеального переносчика вирусов, червей и дронов, создающих свои собственные распределенные сети внутри Skype-сети. К тому же Skype довольно бесцеремонно обращается с ресурсами твоего узла, используя его для поддержания связи между остальными узлами Skype-сети, напрягая ЦП и генерируя мощный поток трафика. А трафик, как известно, редко бывает бесплатным (особенно в России), так что кажущаяся бесплатность звонков весьма условна: за узлы с «тонкими» каналами расплачиваются «толстые» владельцы.

Skype активно изучается в хакерских лабораториях и security-организациях по всему миру, и большинство исследователей единодушно сходятся во мнении, что Skype это дьявольски хитрая программа, написанная бесспорно талантливыми людьми в стиле Black Magic Art. Skype не брезгует грязными трюками, создающими огромные проблемы, о которых я и собираюсь рассказать.

Последнее редактирование: 3 года 1 мес. назад от rashid-ad-din.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
3 года 1 мес. назад #4 от Aleksej
Один любопытный момент.
Не вдаваясь глубоко в анализ общественно-полезной деятельности скайпа... попробуем еще раз грепнуть (от слова grep) этот лог:
/var/log/audit/audit.log

Получим в ответ , помимо уже разрешенной нами в политиках смены контекста (об этом выше), еще и следующую "просьбу":
allow sandbox_net_client_t config_usr_t:dir read;

Нахрена козе баян - непонятно. Зачем скайпу еще и это разрешение? Подчеркну, позволять в политиках Selinux Sandbox для skype данное разрешение - не нужно, skype прекрасно работает и без него. Спрашивается - зачем ему dir read ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 10 мес. назад #5 от Aleksej
День или два назад, после очередного апдейта Fedora 20, skype перестал запускаться в сандбоксе. Описание и дискус по баге, линки на фиксы здесь ; а если по простому - подключите равхайд и обновите указанную либу, все заработает сразу же. Никаких иных поспешных телодвижений свершать не нужно.

$ sudo yum install fedora-release-rawhide

$ sudo yum --enablerepo=rawhide upgrade libcap-ng

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 9 мес. назад #6 от tekumze
Народ, а знаете что появился новый скайп v.4.3.0.37, с этой версией skype sandbox пахать будет?

Skype 4.3 for Linux
Enjoy the upcoming summer with the fresh, new Skype for Linux version 4.3.0.37. Here is a preview of what you can expect:

  • An updated UI
  • Our new cloud-based Group Chat experience
  • More reliable file transfer support when using multiple devices at once
  • Greater accessibility by blind and visually impaired users
  • PulseAudio 3.0 and 4.0 support
  • Lot of bug fixes
This version dropped support for direct Alsa support; please install PulseAudio 4.0 or greater for the best calling experience.
If you’re having trouble setting up PulseAudio, check our FAQ.
  • поддержка нового протокола чатов с более надёжной синхронизацией истории;
  • поддержка PulseAudio 3.0 и 4.0;
  • улучшения в интерфейсе для людей с ограниченными возможностями;
  • многочисленные исправления ошибок.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 9 мес. назад #7 от evgenij

tekumze пишет: Народ, а знаете что появился новый скайп v.4.3.0.37, с этой версией skype sandbox пахать будет?


должно работать, чего ж нет то.

Дождались! Fedora 25.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 6 мес. назад #8 от stan
По моему не работает с Skype 4.3. Я только что попробовал установить на свежую Федору 20.
Комманда: "sandbox -H ~/.Skype/se_home/ -T ~/.Skype/se_tmp/ -X -t sandbox_net_t skype"

Ошибок не возникате - но и кайп не запускается. Не подскажете как разрешить проблему?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 6 мес. назад - 2 года 6 мес. назад #9 от Aleksej
Нет, все прекрасно продолжает работать.
Выполнили по порядку все экзекуции, описанные в первом посте?
semanage и restorecon сделали?
libcap-ng из равхайда обновили? - описание в пятом по счету сообщении топика, проблема появилась уже после написания основного step-by-step мануала. Вполне возможно, что дело именно в этом; прочтите по ссылке дискуссию на fedoraforum.org и попробуйте. Я не знаю, что там с этой версией либы сейчас, в равхайде она или в основных репах... не следил за темой. Но у меня все продолжает прекрасно работать в контексте самого свежего скайпа из репов russian fedora.
Последнее редактирование: 2 года 6 мес. назад от Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
2 года 6 мес. назад #10 от stan
@Aleksej
Ну да - вроде все сделал правильно. libcap-ng обновил из rawhide.
Единственная разница - скайп у меня установлен через утилиту fedy (previously fedora-utils), т.е. из другого репозитория - не russian-fedora. В общем наверное я подожду до 21-го релиза и там попробую снова. не беда.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.