Como colocar um serviço D-Bus na lista negra?

8

Como um usuário não privilegiado pode impedir o lançamento de um serviço D-Bus? Por exemplo, /usr/share/dbus-1/services/org.bluez.obex.service é iniciado pelo barramento da sessão. Não parece haver uma maneira de "colocar na lista negra".

É o barramento de sessão ao qual minha pergunta se refere. Gostaria de saber se é possível impedir que serviços específicos sejam iniciados no barramento da sessão.

    
por Nathan Osman 29.10.2016 / 09:00

1 resposta

2

As configurações padrão de barramento de mensagens por todo o sistema e por sessão são configuradas nos arquivos /usr/share/dbus-1/system.conf e /usr/share/dbus-1/session.conf . Esses arquivos normalmente são um system-local.conf ou session-local.conf em / etc / dbus-1; você pode colocar substituições locais nesses arquivos para evitar modificar os arquivos de configuração primários.

O arquivo de configuração é um documento XML. Deve ter a seguinte declaração de doctype:

Eu acredito que você precisa modificar o /usr/share/dbus-1/session.conf , que é o que o / etc / dbus-1 no Ubuntu está vinculado.

Nota: Normalmente, os limites são de interesse apenas no barramento de todo o sistema, não nos barramentos de sessão do usuário, mas acho que você pode usá-los no barramento da sessão.

O elemento define uma política de segurança a ser aplicada a um determinado conjunto de conexões ao barramento. Uma política é composta de elementos. Políticas são normalmente usadas com o barramento em todo o sistema; eles são análogos a um firewall, pois permitem o tráfego esperado e impedem o tráfego inesperado.

As políticas aplicadas posteriormente substituirão as aplicadas anteriormente, quando as políticas se sobrepuserem. Várias políticas com o mesmo usuário / grupo / contexto são aplicadas na ordem em que aparecem no arquivo de configuração.

Você pode apenas colocar algo assim no final de /usr/share/dbus-1/session.conf antes da linha </busconfig> , o que permitiria o acesso para aqueles no grupo lp e negaria para todos os outros. É claro que você precisará modificar isso para corresponder ao seu ambiente e às suas necessidades.

<policy group="lp">
    <allow send_destination="org.bluez"/>
    <allow send_destination="org.bluez.obex"/>
  </policy>

  <policy context="default">
    <deny send_destination="org.bluez"/>
    <deny send_destination="org.bluez.obex"/>
  </policy>

Fontes:

link link link link

    
por Elder Geek 03.11.2016 / 18:40

Tags