Pull to refresh

Comments 75

"Паранойя" пишется именно так. Статья не бог весть какая полная и полезная, man apparmor даст те же данные, но за продвижение полезной софтины и вообще идеи огораживания песочниц бетонными заборами (SSL, SSH, AppArmor, SELinux, etc.) я вам плюс поставил. Развивайтесь!
Да так, в то время, как сидел на OpenSuse — так и не дошли руки разобраться с этим AppArmorom. Вот, а сегодня решил скайп поставить, заодно освоить эту штуку. Да еще и в блог заодно написал:)
На полноту не претендовал, хотя, в общем там все на столько просто, что и не знаю, что можно добавить.
Всю персональную информацию можно скрыть простым распределением прав доступа.
Если хочется скрыть любую информацию, то проще chroot настроить, чем устанавливать и настраивать apparmor.
Установить и настроить AppArmor у меня заняло не больше десяти минут. А одну проблему решить можна, как известно множеством способов.
KISS - Keep Is Simple Stupid - основное правильно программирования для UNIX. Гланды, как известно, тоже через ж-пу можно удалять.
Угу. Рассказ про "для начала, ее нужно установить" особенно порадовал. Fedora, Ubuntu, Gentoo и т.п. используют SELinux, а не AppArmor и там действия будут заметно другими. Вместе AppArmor и SELinux не живут.
AppArmor включен в репозитории указаных дистрибутивов, в Ubuntu он появился с 7.10.

AppArmor значительно проще в настройке и работе, по сравнению с SeLinux, и намного лучше подходит для таких "небольших" мер безопастности, где не нужно разворачивать сложный и навороченый SeLinux.

Сравнение технологий здесь
Добавлю, AppArmor не просто включен в репозитории, он ставится вместе с системой. И для него автоматом ставятся профили например на mysql и cups :)

По самому топику: За статью спасибо, освещение всяких секьюрити-утилит - весьма хорошее занятие :)
сравнение напомнило легендарную компанию "Get The Facts". ага ;)
цитата: Fedora, Ubuntu, Gentoo и т.п. используют SELinux, а не AppArmor

в убунту apparmor ставиться автоматически при инсталляции
5 лет аппу - не такой он уж и новый по меркам ит
Но за пределы продуктов Novell, он вышел не так уж и давно.
AppArmor не разработка Novell. "Изначально программа была разработанна компанией Immunix. После её приобретения компанией Novell инструмент был открыт под лицензией GNU GPL и включён в openSUSE. Позже адаптирован для Ubuntu." ru.wikipedia
Спасибо, не знал.
Но при этом, мой предидущий коментарий остается правильным:)
UFO just landed and posted this here
Хехе, смешной какой-то комментарий, я его ни разу не пиарил, наоборот, я его не люблю, и запускаю только при необходимости.
А необходимость — иногда появляется, не втолковывать же зарубежному клиенту, что у меня скайп философии не соответствует, и пусть он мне через жабер пишет.

К тому же, если бы я скайп пиарил(в чем он в общем не нуждается), я бы не говорил о его подозрительности, и о том, что он лазит куда не надо. Иногда, стоит читать топики, перед тем, как их комментировать.
UFO just landed and posted this here
Ну, сил нарисовать значок AppArmor’а мне хватило, а вот как-то органически слепить их вместе уже было лень… Тогда, вы бы наверное сказали, что я есче и Novell пиарю:)
SIP — наше всё :). Да и в смартофона Nokia он из коробки :-P
лучше не надо. SIP в E65 - это катастрофа, а поддержка имени нокии - это просто ужас.:(((
UFO just landed and posted this here
не философия Linux, а философия безопасности личных данных
Спасибо, темы безопасности — это действительно важно. Но хотелось бы немного подробностей, «мяса». Это же Хабр, а не ubuntuforums.org для простых HOWTO по шагам :).
Чесно говоря, вся настройка app-armor сводится, к созданию файла-профиля для програмы, и вписывания в него директорий, и прав на доступ. Что я для скайпа сделал.
UFO just landed and posted this here
Ну, у меня только сегодня появилось желание поставить себе скайп. И увидев, что на русском подобной инфы нет, я решил заполнить пробел. Пусть и с опозданием:)
UFO just landed and posted this here
Так и до первого антивируса под Linux, который будет ловить вирусы для Linux недалеко...
Кстати, ещё чуть-чуть, и у clamav будет 300к вирусов в базе.
Вы уж уточняйте, а то ведь кто-то и поверить может. 300к разве униксовых вирусов в базе?
Ну, как бы это сказать... Все существующий антивирусы на данный момент ловят вредоносные программы для всех ОС. Будь то LoveSan или паблик эксплоит для OpenSSH. Что симантек под винду, что кламав под фрибсд :)
здрасте, вот и в линукс пришли файрволлы :)

Вы боитесь что скайп заберет кеш вашего браузера? Кстати, а почему он читает именно из ~/.mozilla а не из переменных окружения? Этот факт лишь доказывает мастдайность скайпа...
Файрволы в линуксе были давным давно, более того, многие embeded-фаерволы работают под linux. И AppArmor совсем не фаервол.
Класс программ "защити себя от себя самого"
Наибольшая дыра в безопастности операционной системы — пользователь. Так что фраза не лишена смысла:)
Firewall встроен в ядро Linux. В чём проблема? ;)
iptables видимо не файервол :)
Чтение /etc/password не поможет никому узнать ваш пароль. С-О-В-С-Е-М никак не поможет.

А в конфиге Мозиллы что такого ценного? Люди, вы хоть смотрите, чем вы себя пугаете. Прячетесь от того, что неспособно вам навредить.
Никто не запрещает вам называть остальных параноиками, так же как не заставляет делать описанное в статье.
А скайп — довольно подозрительная програма с закрытым исходным кодом, которая иногда делает невесть что. Предосторожность не помешает:)
Любая закрытая программа в некоторой степени подозрительна. И совершенно не понимаю этого ажиотажа вокруг скайпа (просто уже не в первый раз вижу, что от него пытаются защититься).
Скажем так. Не всякая закрытая программа гоняет непонятно какой трафик через вас, и идеально подходит для распространения троянов. И уж тем более не всякая закрытая программа закрыта ТАК. Если бы все было так радужно, как может показаться, к чему бы все эти ухищрения с многократным шифрованием трафика? Боятся сторонних клиентов? - значит, хозяевам сети зачем-то нужно, чтобы люди пользовались именно их клиентом.
Можете считать меня параноиком :)
Естественно они боятся, что напишут сторонний клиент в котором будет галочка "не гонять через меня чужой трафик" и вся сеть распадется, потому как сообщения идут через машины пользователей, имеющие внешний IP-адрес, а не через сервер.

А боятся они этого этого в первую очередь из-за того не смогут обеспечить платную передачу голоса в городские сети и сети сотовых операторов.
Вот только не надо мне рассказывать архитектуру скайпа? :)
Извините, но ИМХО вы не правы. У нас (в ex-USSR) и так процентов 50% пользователей скайпа сидят за натом, и использование их в качестве маршрутизаторов голосового трафика невозможно. Да, я думаю, и на западе картина похожая: крупные фирмы используют VoIP решения классом повыше, а вот для мелких и средних контор скайп - чуть ли панацея (не всем по карману циски за $10k). И сеть что-то не спешит распадаться.
Люди (в большинстве своем, параноики вроде меня не в счет :) ) в случае появления 3-rd party клиента начнут переходить на него только в случае, если этот клиент будет удобнее/предоставлять больший функционал/безопаснее (нужное подчеркнуть). Если скайповцы боятся такого развития событий - значит, они неспособны/не хотят развивать сеть.
Ситуация повторяет противостояние продукции Microsoft и открытого ПО, с той лишь разницей, что скайп пока еще не расковыряли.
А остальные 50%? :)

В научной организации, в которой я был у всех был внешний ИП. И даже знаю одного человека, который писал объяснительную, почему рассылал оскорбительные сообщения по Skype: он выступал просто промежуточным пунктом в чьей-то передаче.
Ошибка в конфиге?
/home/tee/skype/skype {
Должно быть
/usr/bin/skype {
Точно:) Накосячил немного, одалживая конфиг у человека.
Еще кое-что, не знаю про другие дистрибутивы, а под убунтой нет такой опции: "k", то есть на kr,krw ругается
kubuntu 8.04

May 22 21:45:40 localhost kernel: [12203.416815] audit(1211492740.982:69): type=1503 operation="inode_permission" requested_mask="::r" denied_mask="::r" name="/usr/bin/skype" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:41 localhost kernel: [12203.448337] audit(1211492741.010:70): type=1503 operation="inode_permission" requested_mask="::r" denied_mask="::r" name="/proc/15866/mounts" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.175415] audit(1211492742.334:71): type=1503 operation="file_lock" requested_mask="k::" denied_mask="k::" name="/home/ivan/.kde/share/config/kdeglobals" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.248391] audit(1211492742.410:72): type=1503 operation="setattr" requested_mask="w::" denied_mask="w::" attribute="mode,ctime," name="/home/ivan/.Skype/" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.249841] audit(1211492742.410:73): type=1503 operation="file_mmap" requested_mask="::mr" denied_mask="::m" name="/usr/share/skype/lang/skype_ru.qm" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.280762] audit(1211492742.442:74): type=1503 operation="file_mmap" requested_mask="::mr" denied_mask="::m" name="/usr/share/fonts/type1/gsfonts/n019003l.pfb" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.296286] audit(1211492742.458:75): type=1503 operation="file_mmap" requested_mask="::mr" denied_mask="::m" name="/usr/share/fonts/type1/gsfonts/n019004l.pfb" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.410802] audit(1211492742.570:76): type=1503 operation="inode_permission" requested_mask="r::" denied_mask="r::" name="/home/ivan/.Skype/" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.413194] audit(1211492742.574:77): type=1503 operation="inode_permission" requested_mask="r::" denied_mask="r::" name="/home/ivan/.compose-cache/l4_024_313cb605_00280cc0" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.485448] audit(1211492742.646:78): type=1503 operation="inode_permission" requested_mask="r::" denied_mask="r::" name="/home/ivan/.compose-cache/l4_024_313cb605_00280cc0" pid=15866 profile="/usr/bin/skype" namespace="default"
May 22 21:45:42 localhost kernel: [ 5632.551579] audit(1211492742.714:79): type=1503 operation="file_mmap" requested_mask="::mr" denied_mask="::m" name="/usr/lib/qt4/plugins/inputmethods/im-scim-bridge.so" pid=15866 profile="/usr/bin/skype" namespace="default"

Ща буду разбиратся ( apparmor не пользовал)
А у меня такая бага вылазит:
audit(1211493218.639:333): REJECTING attribute (mode,ctime,) change to /home/alex/.Skype (skype(32201) profile /usr/bin/skype active /usr/bin/skype)

И об установках аттрибутов ни слова
Гмм... в общем после непродолжительного изучения документации apparmor я прихожу к выводу, что топикстартер запустил

# aa-genprof /usr/bin/skype

И создал стандартный профиль, который лично у меня не работает. скайп абортиться.

Итог: Не подтверждаю работоспособность конфига на K 8.04.
Вот этот профиль работает. Остаеться убрать лишнее по вкусу.

#include
/usr/bin/skype flags=(complain) {
#include
#include
#include
#include

/home/*/.ICEauthority r,
/home/*/.Skype/ rw,
/home/*/.Skype/** krw,
/home/*/.Xauthority r,
/home/*/.config/Trolltech.conf kr,
/home/*/.fontconfig/* r,
/home/*/.mozilla/ r,
/home/*/.mozilla/firefox/ r,
/home/*/.mozilla/firefox/*/ r,
/home/*/.mozilla/firefox/*/bookmarkbackups/ r,
/home/*/.mozilla/firefox/*/chrome/ r,
/home/*/.mozilla/firefox/*/extensions/ r,
/home/*/.mozilla/firefox/*/prefs.js r,
/proc/interrupts r,
/tmp/.ICE-unix/* w,
/tmp/.X11-unix/X0 w,
/usr/bin/skype mr,
/usr/lib/qt4/plugins/iconengines/ r,
/usr/lib/qt4/plugins/imageformats/ r,
/usr/lib/qt4/plugins/imageformats/*.so mr,
/usr/lib/qt4/plugins/inputmethods/ r,
/usr/share/X11/locale/** r,
/usr/share/icons/** r,
/usr/share/skype/sounds/*.wav kr,
/var/cache/libx11/compose/* r,
}
Так, уточнение... Он и будет по любому работать

flags=(complain)

Так что извиняюсь...
У вас парсер инклуды сьел. Попробуйте тегом «pre» воспользоваться…
И доступ к папке мозиллы разрешен:)
У меня автоматическая зоздавалка профилей не работает:)
Так что конфиг слеплен из того, что было в интернете. У меня при некоторых настройках скайп вообще сегфолтится.
UFO just landed and posted this here
Скайп не обеспечивает секретности переговоров, скайп обеспечивает секретность своего собственного софта.
Он и это не в полной мере обеспечивает... Да оно и понятно. Что один сделал, другой всегда сломать сможет.
Fedora имеет иную аналогичную разработку - SELinux. Скайп зло. Вы не сдержите никаким фаерволом (если конечно звонить хотите) передачу вашего мак адреса и множество другой конфиденциальной инфы. Пользуйтесь SIP протоколом, под который множество клиентов и есть из чего выбирать. Gizmo, например...
поправьте опечатки, чтоб потомкам красивый текст достался :)
параметрам яра, которое
профилях и прогармах
UFO just landed and posted this here
Кстати, Novell уже уволила разработчиков apparmor... :(((
http://www.vdel.ru/redhat/info/history/07-10-1

//Firewall встроен в ядро Linux. В чём проблема? ;)
Да, но лично меня настройки по умолчанию (В Убунте) мягко говоря не удовлетворяют, но это от уровня паранойи зависит... По этому юзаю Firestarter. И вообще Skype легко обходит любой фаэрвол как ни настраивай (его разработчики открыто об этом говорят):
http://www.xakep.ru/magazine/xa/100/064/3.asp

Так что ограничивать эту вещицу надо и apparmor возможно и не плохое средство ;)
WengoPhone - не вариант. Это слишком плохо написанный и падучий софт. Это тупик.
Со времени публикации статьи прошло немало времени. На дворе Skype 4.2. После того, как я выловил, что это вороватое шпионское отродье шарится по файлам кукейсов Firefox'а в адресах клиент-банка, то немедленно предпринял настройку AppArmor с предложенным конфигом. Не вышло. После поисков и экспериментов привожу актуальный конфиг. Проверено на Lubuntu 13.10 с PulseAudio, Skype 4.2.0.11

#include <tunables/global>

/usr/bin/skype {
  #include <abstractions/audio>
  #include <abstractions/base>
  #include <abstractions/kde>
  #include <abstractions/nameservice>
  #include <abstractions/fonts>
  /etc/pulse/client.conf r,
  /etc/xdg/Trolltech.conf rk,
  /home/*/.Skype/ rwk,
  /home/*/.Skype/** rwk,
  /home/*/.Xauthority r,
  /home/*/.config/Skype/Skype.conf rwk,
  /home/*/.config/Trolltech.conf rk,
  /home/*/.config/pulse/cookie rk,
  /home/*/.kde/share/config/kioslaverc r,
  /proc/sys/kernel/osrelease r,
  /proc/sys/kernel/ostype r,
  /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq r,
  /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq r,
  /usr/bin/skype mr,
  /usr/share/icons/hicolor/index.theme rk,
  /usr/share/javascript/mathjax/fonts/** r,
  /usr/share/skype/** r,
  /var/cache/fontconfig/** rwk,
}


В ссылке можно найти добротный материал, по которому реально сделать свою конфигурацию и настройку «с нуля».
1. Такой вопрос. В Вашем конфиге решена проблема клика по присылаемым через Skype ссылкам? По идее, должен открываться дефолтный браузер, но на деле получается, что Skype запускает целый каскад скриптов, для того, чтобы определить какой именно из установленных в системе браузеров является дефолтным. Если ему позволить все команды из этих скриптов, то можно о безопасности забыть напрочь.

2. Как-то стрёмно этому шпионскому отродью предоставлять столько прав:

#include <abstractions/audio>
#include <abstractions/base>
#include <abstractions/kde>
#include <abstractions/nameservice>
#include <abstractions/fonts>
#include <abstractions/video>
#include <abstractions/dbus>
#include <abstractions/nvidia>
#include <abstractions/X>

К примеру, из логов apparmor постоянно вылавливаю попытки Skpe запуска команды arp. На первый взгляд ничего страшного… НО! Слив маков локальной сети? Зачем это легитимному IM? Поэтому с #include поосторожнее, неизвестно что в скайп ANB напихало ещё!
Мой вариант в последней редакции: pastebin.com/xd1QPhFs

Спасибо за блок HOWTO! Полезно, чтобы не забывать нюансы.
Вопрос — а почему не засунуть скайп тупо в chroot (благо mkschroot позволяет с большим удобством создавать тюрьмы) и запускать его там от лица заблаговременно созданного непривилегированного пользователя у которого нет прав «лазить пальцАми куда не надо»)?

Или оно настолько ушленькое что может «выбраться обратно»? (Тогда наверное вообще Docker надо, чего уж там...)
В первую очередь по причине взаимодействия с программами. Кликнул на ссылку в скайпе и открылся не отдельный браузер из chrooted окружения, но дополнительная вкладка в уже запущенном Firefox, например.

Во вторую очередь из-за взаимодействия с аппаратной средой. К примеру, вывод звука через pulseaudio со всеми настройками и привязкой к программам, настройка камеры.

Да, всё можно реализовать через chroot, но если Вы попытаетесь это сделать, то поймёте как всё оказалось непросто. Для меня AppArmor стал приятным открытием. С его помощью жёсткая изоляция приложений достигается гораздо проще по сравнению с иными средствами.

AppArmor удобнее во всех смыслах. Даже конфигами, как показывает практика, можно обмениваться. Представляю себе портянку на 20 страниц с хаутушкой по настройке подобной среды в chrooted с учётом разных дистрибутивов…
В первую очередь по причине взаимодействия с программами. Кликнул на ссылку в скайпе и открылся не отдельный браузер из chrooted окружения, но дополнительная вкладка в уже запущенном Firefox, например.


Ссылки я предпочитаю ручками копипастить.

Во вторую очередь из-за взаимодействия с аппаратной средой. К примеру, вывод звука через pulseaudio со всеми настройками и привязкой к программам, настройка камеры.


Звуки из chroot работать заставить не такая уж проблема (да и под всякие адовые контейнеры вроде Docker есть инструкция), камеру не пробовал т.к. не пользуюсь, но думаю что тоже все будет терпимо.

Представляю себе портянку на 20 страниц с хаутушкой по настройке подобной среды в chrooted с учётом разных дистрибутивов…


Наверное я чтото делаю не так…

P.S.:
Не спорю насчет удобства AppArmor, просто для изоляции «мелкого гадства» как-то с детства привык использовать непривилегированного пользователя в Chroot, а для крупного гадства ИМХО надо делать контейнер (и уже в контейнере — апп апрмор ;-) )
Sign up to leave a comment.

Articles

Change theme settings