Russian Fedora

cообщество русскоязычных участников
международного проекта Fedora

Content (104 страница со старыми записями)

"i want 2 do project. tell me wat 2 do"

У нашего коллеги, создателя Fedora Electronic Lab, Shakthi Kannan, вышла актуальная книга!

http://www.shakthimaan.com/images/books/shak_bookcover.png

Иногда нам задают довольно странные вопросы, наподобие такого - "я люблю опенсорс, но не знаю, что делать, чтоб ему помочь". Честно говоря, порой сложно ответить что-то определенное, т.к. практика показывает, что самый хороший результат получается, когда человек чем-либо заинтересован - любимая игра глючит, что-то недопереведено, на работе платят за допиливание открытого ПО, и т.п. Но фишка в том, что во всех этих случаях, человек уже и так знает, что надо делать. Т.е. вопрос на самом деле такой - "я люблю опенсорс, скажите, что мне в нем будет интересно?" Теперь мы знаем, какую книгу посоветовать купить и прочитать!

Видеозаписи с OpenStack Summit 2015 Vancouver

Это архивная статья

Если кто не доехал до OpenStack Summit 2015, прошедшего в канадском Ванкувере, то теперь можно посмотреть видеозаписи выступлений.

Интересных видео довольно много, но есть и совсем бомбы. Вот, например, помните историю про то, как PayPal отказывается от любимого интеграторами VMware? Ну так вот, посмотрите это видео (для нетерпеливых - промотайте на 07:15): `100% of PayPal runs in production on #OpenStack. If you have concerns about #OpenStack scale, don’t. <https://twitter.com/blueboxjesse/status/600712897929596928>`__

Linux Capabilities и Tame из OpenBSD

Это архивная статья

В Linux хватает возможностей улучшить безопасность приложения. Это и разделение по пользователям, и chroot, и SELinux, и capabilities, и много чего еще. Само собой, идеального и подходящего всем варианта нет, а то, что есть, работает порой не очень интуитивно. Причем "интуитивно" даже для опытных разработчиков.
Приведем простой пример. Приложение запускается от пользователя - как ему позволить выполнить привилегированную операцию? Ну, например, открыть порт 80? Стандартный способ на сегодняшний день, начиная с RHEL 6, это установить на исполняемый файл нужные capabilities:
/usr/sbin/setcap 'cap_net_bind_service=+ep' /usr/bin/myexecutable

Что такое, cap_net_bind_service=+ep предлагаем почитать в `man 7 capabilities <http://man7.org/linux/man-pages/man7/capabilities.7.html>`__ и в `man 3 cap_from_text <http://linux.die.net/man/3/cap_from_text>`__. Раньше громоздили еще более странные конструкции - вы можете погуглить по "ports less than 1024", "bind to privileged ports" и т.п.
Это работает, но есть нюанс. Любой пользователь, кто может запустить помеченный таким образом исполняемый файл, получается, что может и открыть привилегированный порт. Чтоб не смог, надо сменить у исполняемого файла группу, сделать -x этой группе, и добавить нежелательных пользователей в эту группу (про этот трюк с группами вы уже могли слышать). Исполняемый файл можно куда-нибудь скопировать, но он потеряет capabilities, привязанные к файловому пути.
А можно ли лучше? Скажем, запустить исполняемый файл с помощью fork+exec, и как-то добавить нужные capabilities перед exec или еще где-нибудь? Вот этот вопрос как раз и обеспокоил нашего коллегу, Florian Weimer.
Интересно, что в systemd есть пара интересных директив - CapabilityBoundingSet и Capabilities, и о них даже упоминает Lennart Poettering, но они позволяют делать обратное - отбирать capabilities у запущенного от суперпользователя процесса, а не добавлять capabilities в процесс, запущенный от непривилегированного пользователя.
На самом деле, это известная проблема, и те, кто по разным причинам не хотят ставить метку на исполняемый файл, громоздят страшно выглядящие конструкции в своих service-файлах - к примеру, использовать iptables чтобы дать доступ к порту 80 непривилегированному процессу. В случае с портами можно еще использовать socket activation для контейнеров, но даже это порой требует модификации исполняемого файла. Но насчет того, можно ли добавить capabilities в процесс, запущенный от простого пользователя, чтобы решить задачу в общем случае, Andy Lutomirski ответил однозначно - нет, это невозможно.
Придется ждать до Linux 4.3, где появятся ambient capabilities, над которым как раз и работает Andy.
Таким образом прямо сейчас функционал capabilities, если не использовать метки на исполняемых файлах, позволяет лишь в runtime уменьшать поверхность атаки для процессов, запущенных от суперпользователя. Это, разумеется, серьезное архитектурное ограничение. Мы даже и не ожидали, что Theo de Raadt возьмет за базовую модель для недавно предложенного Tame именно Linux capabilities.
Вообще, мы привыкли, что идеи, предложенные нашими друзьями, растаскиваются нашими критиками, когда те дорастают до понимания предметной области. Например, после шумной критики systemd, аналог начали реализовывать и в FreeBSD (вы недавно могли об этом слышать), и даже в Haiku (открытый аналог Amiga OS).
Это, конечно, сделало неактуальным наш совет systemd-хейтерам, но тут ничего не поделаешь.
Так вот, изначально были предложения разработать для OpenBSD аналог seccomp из Linux (например тут), но Theo высказал соображение, что писать программу для того, чтобы обезопасить другую программу, это нерационально.

После этого, из вариантов был лишь один - составить список привилегий, необходимых для каких-то действий (причем ограничиться списком, который показался разумным для Theo), и представить функцию для установки флагов.

Выглядит это очень похоже на capabilities, за исключением заведомо урезанного API. Ну, что-то типа покрывает 80% функционала за 20% реализации. Первый вариант в процессе рассмотрения, так что схожесть по функционалу (и, соответственно, по объему реализации) может и возрасти.

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

Проблемы с архитектурой и ее качеством исполнения совершенно неудивительны, учитывая все сокращающееся количество BSD-разработчиков, вдобавок к этому более-менее равномерно распределенное среди дюжины несовместимых форков BSD. Brad Spengler замечает, что это не первый случай полурабочей реализации в OpenBSD функционала из других операционных систем, и делает вывод:

...наивный минималистический подход на основе syscall обязательно столкнется с проблемой - любая более-менее сложная программа обязательно потребует столько привилегий, что ей хватит, чтобы "выстрелить себе в ногу". ...возможно Tame будет достаточно для неинтерактивно работающего на i386-машине файерволла (типичная инсталляция OpenBSD), но на реальный мир и реальные приложения такой подход не перенести. Если Tame не защищает от простейшего наколеночного эксплойта, тогда в чем его смысл, кроме иллюзии применимости OpenBSD для приложений безопасности?

Telegram & Fedora

Это архивная статья

Fedora Telegram
Ниже описаны все способы использования telegram в Fedora. А ещё у нас есть канал -- Присоединиться к каналу RussianFedora.

Telegram Desktop (находится в репозитории Russian Fedora Free)

sudo dnf install telegram-desktop

The official desktop client.

Cutegram

Cutegram.

Плагин для Pidgin

sudo dnf install purple-telegram

Telegram CLI

sudo dnf install telegram-cli

Веб клиент

https://web.telegram.org/

Фото недели

Это архивная статья

На фото - известный пользователь Fedora, хулиган и матершинник, Linus Torvalds, учится управлять истребителем.

image0 [STRIKEOUT:Winter is Coming!] Может и нам уже пора учиться водить танк или вертолет?

LibreOffice и Firefox работают в Wayland.

Новостей о Wayland не было довольно давно. В целом, понятно почему - протокол утрясли, референсные реализации есть, и теперь из новостей можно ожидать лишь то, как его поддержку реализовывают в библиотеках. И в Qt, и в GTK поддержку уже добавили, и из новостей тут можно накопать лишь логи коммитов. Но остался один большой слон в лавке.

Перевод Qt на Wayland получился сравнительно быстрым. Честно говоря, непонятно, как поведут себя приложения - тут надо смотреть, и этот год все покажет, но формально все закончено (реализовано в Qt5). А вот с GTK ситуация была похуже. Во-1, как оказалось, в версии GTK2 его кроссплатформенность - липовая, и серьезное приложение было вынуждено использовать платформо-специфичные вызовы для каждой платформы. Переход на GTK3, в котором эту проблему обещали решить, давался приложениям порой настолько тяжело, что некоторые предпочли перейти на Qt (как, например, Wireshark). А во-2 порочная практика, которой придерживались большие приложения, когда ради кроссплатформенности наворачивают настолько сложный тулкит, слегка основанный на GTK, что вообще непонятно, как с ними быть. Так спроектировали, к примеру, LibreOffice и Firefox.

Реализовывать поддержку Wayland в ветке GTK2 никто не взялся, и единственным вариантом для GTK2-приложений была работа под X11-прослойкой для Wayland (XWayland). Ну или гораздо более сложный, но архитектурно правильно выглядящий, процесс перехода на GTK3. Оба приложения - Firefox и LibreOffice выбрали обновление до GTK3. Поразительно, но результат не заставил себя ждать!

На днях Jiří Eischmann объявил в своей ленте Google+, что Firefox нативно работает в Wayland. Коллеги-аналитики сразу же скептически заметили, что Jiří не показал скриншот, что может означать "запускается", а не "работает", но даже так, это серьезное достижение!

В отличие от несколько поспешного анонса от Jiří, другой наш коллега, Caolán McNamara, подошел к делу основательнее. В его объявлении о том, что LibreOffice работает в Wayland, есть скриншот! Коллеги-аналитики сразу же скептически заметили, что Caolán не показал скринкаст, что может означать "запускается", а не "работает", но даже так, это серьезное достижение!

https://2.bp.blogspot.com/-NQCynqSyvgA/VakMSd8a-hI/AAAAAAAABZ0/bucLRBXIRG4/Screenshot%2Bfrom%2B2015-07-17%2B15-03-52.png

LibreOffice в Wayland

Из других новостей - инженер Red Hat, Leo Ufimttsev, ведет работу по переводу Eclipse на GTK3, и заодно начал работу по запуску его в Wayland. Пожелаем удачи соотечественнику!

День рождения CRIU

Это архивная статья

У CRIU, проекта от наших друзей из Parallels, день рождения! Проекту исполнилось четыре года.

Поздравляем! Image and video hosting by TinyPic По случаю праздника Pavel Emelyanov и Cyrill Gorcunov выступят завтра на подкасте DevZen, а сегодня, до 23 часов по московскому времени, вы можете задать им вопрос, на который они постараются ответить в подкасте.

Пятилетие OpenStack в Москве

Это архивная статья

В этом году OpenStack исполняется пять лет! Приглашаем Вас отпраздновать с нами это замечательное событие! 22 июля мы соберемся `на площадке Cube завода Флакон (ул. Большая Новодмитровская 36, стр.

System Message: WARNING/2 (<string>, line 4); backlink

Inline interpreted text or phrase reference start-string without end-string.
  1. <https://www.google.com/maps?f=q&hl=en&q=ул.+Большая+Новодмитровская+36,+стр.+12,+Moscow,+ru>`__.

Начало в 11 часов утра. В программе: конференция, поздравления, подарки, фуршет, розыгрыш призов! За эти годы OpenStack прошел путь стремительного развития. Нашему глобальному сообществу удалось создать, поддерживать, обновлять и внедрять одну из самых востребованных и эффективных технологий для построения частных и публичных облаков.

Сейчас проект OpenStack объединяет более 25 тысяч специалистов из 165 стран и поддерживается более, чем 500 компаниями. На нашем первом OpenStack саммите в 2010 году было всего 75 человек, а уже в ноябре 2014 – более 4700! Каждый год в июле все локальные OpenStack сообщества по всему миру собираются вместе для того, чтобы подвести итоги предыдущего года, пообщаться друг с другом и главное – поздравить OpenStack с днем рождения. Для нашей страны прошедший год был знаковым, так как к нашему сообществу присоединились не только новые разработчики, но и российские компании, которые работают с данной технологией.

Мы приглашаем Вас разделить с нами радость этого дня и принять участие в мероприятии! Подробности и регистрация.


Приходите, будет интересно и весело!

Photobucket