Re: Security mechanisms in connman

2015-04-28 Thread Lukasz Wojciechowski

Thank You. I'll read more about it.
Best regards
Lukasz

W dniu 2015-04-28 o 13:26, Sven Schwedas pisze:

On 2015-04-28 13:15, Lukasz Wojciechowski wrote:

Thank You Sven

I did see the dbus conf, but it allows only robust security
configuration at the level of interfaces and already defined users.

Take a look at dbus-daemon's documentation. It allows member-level
configuration, not just interfaces, and can work with groups just as
well as users.


I would like to have more granularity and that is why I analyzed
security plugins.

Let me give an example:
I would like to allow only some users to configure wifi. Users can be
created at runtime of a system. I would have to change connman-dbus.conf
every time a user is created, removed or I just want to limit his/her
privileges. With polkit working I can change or add rules that can
distinguish users and methods not only interfaces.

I just wonder if anyone uses it or is interested in maintaining that
mechanism or is it just a relict of the past.

Best regards
Lukasz

W dniu 2015-04-28 o 13:02, Sven Schwedas pisze:

On 2015-04-28 12:42, Lukasz Wojciechowski wrote:

Hi

I'm studying connman's code and I'm interested in limiting access to
some API.
I found that there is a mechanism for defining security plugins, that
set GDBusSecurityTable by calling g_dbus_register_security().
There is only one such plugin implemented - polkit plugin.

However IMO it seems to be dead.
It registers polkit checks for privileges: CONNMAN_PRIVILEGE_MODIFY and
CONNMAN_PRIVILEGE_SECRET,
but all gdbus methods registered with GDBUS_*_METHOD macros do not set
privilege field in GDBusMethodTable structure.
Because of that security checks are never run, because method->privilege
never equals security->privilege (check_privilege() function in
gdbus/object.c).

So I have few questions:
* What am I missing? How this security works ?
* Are there any plans for defining privileges for methods ?

Connman uses DBus' bus policies to limit access, cf.


http://git.kernel.org/cgit/network/connman/connman.git/tree/src/connman-dbus.conf


and the respective file for connman-vpn. Distributions seem to tweak
those to limit/grant access.

No idea what the other code is for.



___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman



___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: Security mechanisms in connman

2015-04-28 Thread Sven Schwedas
On 2015-04-28 13:15, Lukasz Wojciechowski wrote:
> Thank You Sven
> 
> I did see the dbus conf, but it allows only robust security
> configuration at the level of interfaces and already defined users.

Take a look at dbus-daemon's documentation. It allows member-level
configuration, not just interfaces, and can work with groups just as
well as users.

> I would like to have more granularity and that is why I analyzed
> security plugins.
> 
> Let me give an example:
> I would like to allow only some users to configure wifi. Users can be
> created at runtime of a system. I would have to change connman-dbus.conf
> every time a user is created, removed or I just want to limit his/her
> privileges. With polkit working I can change or add rules that can
> distinguish users and methods not only interfaces.
> 
> I just wonder if anyone uses it or is interested in maintaining that
> mechanism or is it just a relict of the past.
> 
> Best regards
> Lukasz
> 
> W dniu 2015-04-28 o 13:02, Sven Schwedas pisze:
>> On 2015-04-28 12:42, Lukasz Wojciechowski wrote:
>>> Hi
>>>
>>> I'm studying connman's code and I'm interested in limiting access to
>>> some API.
>>> I found that there is a mechanism for defining security plugins, that
>>> set GDBusSecurityTable by calling g_dbus_register_security().
>>> There is only one such plugin implemented - polkit plugin.
>>>
>>> However IMO it seems to be dead.
>>> It registers polkit checks for privileges: CONNMAN_PRIVILEGE_MODIFY and
>>> CONNMAN_PRIVILEGE_SECRET,
>>> but all gdbus methods registered with GDBUS_*_METHOD macros do not set
>>> privilege field in GDBusMethodTable structure.
>>> Because of that security checks are never run, because method->privilege
>>> never equals security->privilege (check_privilege() function in
>>> gdbus/object.c).
>>>
>>> So I have few questions:
>>> * What am I missing? How this security works ?
>>> * Are there any plans for defining privileges for methods ?
>> Connman uses DBus' bus policies to limit access, cf.
>>
>>> http://git.kernel.org/cgit/network/connman/connman.git/tree/src/connman-dbus.conf
>>>
>> and the respective file for connman-vpn. Distributions seem to tweak
>> those to limit/grant access.
>>
>> No idea what the other code is for.
>>
>>
>>
>> ___
>> connman mailing list
>> connman@connman.net
>> https://lists.connman.net/mailman/listinfo/connman
> 
> ___
> connman mailing list
> connman@connman.net
> https://lists.connman.net/mailman/listinfo/connman

-- 
Mit freundlichen Grüßen, / Best Regards,
Sven Schwedas
Systemadministrator
TAO Beratungs- und Management GmbH | Lendplatz 45 | A - 8020 Graz
Mail/XMPP: sven.schwe...@tao.at | +43 (0)680 301 7167
http://software.tao.at



signature.asc
Description: OpenPGP digital signature
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Re: Security mechanisms in connman

2015-04-28 Thread Lukasz Wojciechowski

Thank You Sven

I did see the dbus conf, but it allows only robust security 
configuration at the level of interfaces and already defined users.
I would like to have more granularity and that is why I analyzed 
security plugins.


Let me give an example:
I would like to allow only some users to configure wifi. Users can be 
created at runtime of a system. I would have to change connman-dbus.conf 
every time a user is created, removed or I just want to limit his/her 
privileges. With polkit working I can change or add rules that can 
distinguish users and methods not only interfaces.


I just wonder if anyone uses it or is interested in maintaining that 
mechanism or is it just a relict of the past.


Best regards
Lukasz

W dniu 2015-04-28 o 13:02, Sven Schwedas pisze:

On 2015-04-28 12:42, Lukasz Wojciechowski wrote:

Hi

I'm studying connman's code and I'm interested in limiting access to
some API.
I found that there is a mechanism for defining security plugins, that
set GDBusSecurityTable by calling g_dbus_register_security().
There is only one such plugin implemented - polkit plugin.

However IMO it seems to be dead.
It registers polkit checks for privileges: CONNMAN_PRIVILEGE_MODIFY and
CONNMAN_PRIVILEGE_SECRET,
but all gdbus methods registered with GDBUS_*_METHOD macros do not set
privilege field in GDBusMethodTable structure.
Because of that security checks are never run, because method->privilege
never equals security->privilege (check_privilege() function in
gdbus/object.c).

So I have few questions:
* What am I missing? How this security works ?
* Are there any plans for defining privileges for methods ?

Connman uses DBus' bus policies to limit access, cf.


http://git.kernel.org/cgit/network/connman/connman.git/tree/src/connman-dbus.conf

and the respective file for connman-vpn. Distributions seem to tweak
those to limit/grant access.

No idea what the other code is for.



___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: Security mechanisms in connman

2015-04-28 Thread Sven Schwedas
On 2015-04-28 12:42, Lukasz Wojciechowski wrote:
> Hi
> 
> I'm studying connman's code and I'm interested in limiting access to
> some API.
> I found that there is a mechanism for defining security plugins, that
> set GDBusSecurityTable by calling g_dbus_register_security().
> There is only one such plugin implemented - polkit plugin.
> 
> However IMO it seems to be dead.
> It registers polkit checks for privileges: CONNMAN_PRIVILEGE_MODIFY and
> CONNMAN_PRIVILEGE_SECRET,
> but all gdbus methods registered with GDBUS_*_METHOD macros do not set
> privilege field in GDBusMethodTable structure.
> Because of that security checks are never run, because method->privilege
> never equals security->privilege (check_privilege() function in
> gdbus/object.c).
> 
> So I have few questions:
> * What am I missing? How this security works ?
> * Are there any plans for defining privileges for methods ?

Connman uses DBus' bus policies to limit access, cf.

> http://git.kernel.org/cgit/network/connman/connman.git/tree/src/connman-dbus.conf

and the respective file for connman-vpn. Distributions seem to tweak
those to limit/grant access.

No idea what the other code is for.

-- 
Mit freundlichen Grüßen, / Best Regards,
Sven Schwedas
Systemadministrator
TAO Beratungs- und Management GmbH | Lendplatz 45 | A - 8020 Graz
Mail/XMPP: sven.schwe...@tao.at | +43 (0)680 301 7167
http://software.tao.at



signature.asc
Description: OpenPGP digital signature
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Security mechanisms in connman

2015-04-28 Thread Lukasz Wojciechowski

Hi

I'm studying connman's code and I'm interested in limiting access to 
some API.
I found that there is a mechanism for defining security plugins, that 
set GDBusSecurityTable by calling g_dbus_register_security().

There is only one such plugin implemented - polkit plugin.

However IMO it seems to be dead.
It registers polkit checks for privileges: CONNMAN_PRIVILEGE_MODIFY and 
CONNMAN_PRIVILEGE_SECRET,
but all gdbus methods registered with GDBUS_*_METHOD macros do not set 
privilege field in GDBusMethodTable structure.
Because of that security checks are never run, because method->privilege 
never equals security->privilege (check_privilege() function in 
gdbus/object.c).


So I have few questions:
* What am I missing? How this security works ?
* Are there any plans for defining privileges for methods ?

Best regards
Lukasz Wojciechowski
___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman