The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
AppArmor заблокировать доступ в сеть, !*! sasha, 03-Май-21, 22:16  [смотреть все]
Все привет! Помогите, пожалуйста, с профилем для AppArmor
Вот профиль:

# Last Modified: Mon May  3 21:05:19 2021
#include <tunables/global>

/usr/bin/FBReader flags=(complain) {
  #include <abstractions/base>
  #include <abstractions/fonts>
  #include <abstractions/gnome>
  #include <abstractions/openssl>
  #include <abstractions/private-files>
  #include <abstractions/private-files-strict>
  #include <abstractions/ssl_certs>
  #include <abstractions/user-tmp>

  deny network,
  deny network inet,
  deny network inet6,
  deny network raw,

  / r,
  /** r,
  /usr/bin/FBReader m,
  /usr/share/** k,
  owner /home/*/** rk,
  owner /home/*/.FBReader/** rw,
  owner /proc/*/cmdline r,

}

Выход в сеть по-прежнему работает

  • AppArmor заблокировать доступ в сеть, !*! Аноним, 22:59 , 03-Май-21 (1)
    Это всё как-то ненадёжно звучит, как и iptables. Пока что unshare лучшее решение. И unshare -r -n в частности. Сама программа хорошая (если конечно дело в ней) -- в отличие от coolreader нормально открывает epub (cr генерирует кеши полтора часа, долго открывает и перелистывает, с навигацией по оглавлению тоже беда, мобильная версия вообще не юзабельна на больших файлах). Но вот эти все захардкоженные литресы, я не знаю. Помнится, я даже патчил, чтобы заменять литрес на флибусту, хотя зачем вообще сеть читалке файлов без drm сегодня?
    • AppArmor заблокировать доступ в сеть, !*! sasha, 23:51 , 03-Май-21 (2)
      > unshare -r -n
      > Но вот эти все захардкоженные литресы

      Под сетью я ввиду имел выход в инрернет... Там же sql-файл и он редактируется, удалите Литрес

      • AppArmor заблокировать доступ в сеть, !*! Аноним, 00:00 , 04-Май-21 (3)
        Не знаю где это там, в моём fbreader литрес и все магазины прямо в бинаре и надо редактировать исходники и перекомпилировать. Unshare именно и отключает любую сеть, если нужен 127 то только от рута пускать и поднимать сеть наверно (во всяком случае я других способов не знаю). А, ну ещё nsenter наверно.
        • AppArmor заблокировать доступ в сеть, !*! sasha, 00:22 , 04-Май-21 (4)
          > Не знаю где это там, в моём fbreader литрес и все магазины
          > прямо в бинаре и надо редактировать исходники и перекомпилировать. Unshare именно

          Десктопный с оф. сайта
          > и отключает любую сеть, если нужен 127 то только от рута
          > пускать и поднимать сеть наверно (во всяком случае я других способов
          > не знаю). А, ну ещё nsenter наверно.

          Да их немного namespace, apparmor/selinux, --gid-owner и sg что я знаю
          Кстати, конфиг в обучающем режиме, но на машине в принудительном


          • AppArmor заблокировать доступ в сеть, !*! Аноним, 00:49 , 04-Май-21 (5)
            Это тот проприетарный с бэкдорами наверно, у меня ещё старый опенсорсный.
            • AppArmor заблокировать доступ в сеть, !*! sasha, 01:01 , 04-Май-21 (6)
              > Это тот проприетарный с бэкдорами наверно, у меня ещё старый опенсорсный.

              Ну вот apparmor как раз позволяет ограничить доступ в ОС в том числе и для сети. Тока что-то у меня не работает, но эти же денишены работают прекрасно с wget

              • AppArmor заблокировать доступ в сеть, !*! sasha, 20:44 , 04-Май-21 (7)
                Вообщем это похоже какие-то дистропроблемы. В debian apparmor с сетью не работает. Почитал английский инет и пишут, что отсутствует код, отвечающий за работу с сетевыми соединениями. В ubuntu apparmor сеть блокирует. Даже денишены писать не надо, так как все, что не разрешено, запрещено по-умолчанию


                • AppArmor заблокировать доступ в сеть, !*! Аноним, 17:48 , 08-Май-21 (8)
                  Лично я написал запускалку в 3 строки, которая проверяет, отключилась ли сеть, и если да, то уже запускает приложение (через execve). По сути тот же unshare (я не помню, чтобы тот проверял что-либо, но в случае когда фейлится -- он останавливается). Изначально я делал форк и пытался делать что-то сложнее unshare вторым процессом, но что-то после unshare от юзера есть проблема -- у юзера нет совсем никаких прав, даже виртуальных. Вроде пришёл к тому чтобы добавить логику nsenter и изолировать доступ через файрвол, потому что приложениям всё же бывает необходим локалхост и связь с внешним миром (контролируемая). Но потом я убедился, что всяким гимпам всё же не нужна сеть, и unshare тут вполне хватает.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру