[apparmor] cross-distribution profile repo

Jamie Strandboge jamie at canonical.com
Mon Jul 28 19:34:50 UTC 2014


On 07/28/2014 02:16 PM, Christian Boltz wrote:
> Hello,
> 
> Am Montag, 28. Juli 2014 schrieb Jamie Strandboge:
>> On 07/27/2014 12:47 PM, Christian Boltz wrote:
>>> I discussed a bit with intrigeri about a profile repo for
>>> cross-distribution usage and profile sharing. Here's the log -
>>> feedback welcome ;-)
> 
>>> [19:08:47] <cboltz> just as a quick idea:
>>> http://paste.opensuse.org/96760488
>>>
>>> + apparmor-profiles
>>>   |-- debian
>>>   |   |-- Wheezy
>>>   |   '-- Jessie
>>>   |-- openSUSE
>>>   |   |-- 12.3
>>>   |   '-- 13.1
>>>   '-- Ubuntu
>>>       |-- Trusty_Tahr
>>>       '-- Utopic_Unicorn
>>
>> This is the intent for apparmor-profiles, but so far only Ubuntu has
>> put profiles there. I think it would be great to have other distro
>> profiles in there. You've probably seen this, but in case you
>> haven't:
>>
>> http://wiki.apparmor.net/index.php/Profiles
> 
> Yes, I know this page and the apparmor-profiles repo.
> 
>> Now, the way Ubuntu handles profiles is that we ship production
>> distro-profiles in the packages themselves and the apparmor-profiles
>> repository is a place for in progress profiles or profiles that for
>> some reason don't fit with the distro. We ship the profiles in the
>> packages themselves so that package maintainers (ie, the people who
>> know the software being confined best) are able to update the
>> profiles and also to avoid a central profiles package that is gated
>> on a handful of developers (or fewer). As such, the apparmor-profiles
>> bzr repo doesn't have the profiles that Ubuntu actually ships (but we
>> do leave the profile file in place with a note on where to find the
>> official profile (see ubuntu/14.10/usr.bin.evince as an example).
> 
> I think we had this discussion in the past already ;-)
> 
> Shipping profiles in the respective package is nice if it works (and the 
> package maintainers take care for the profile), and horrible if the 
> maintainers don't care.
> 
> For openSUSE, bugreports about AppArmor profiles tend to be assigned to 
> me first (not a big surprise), and there are also a few packagers who 
> include profiles in their package and care for the profiles.
> 
> However, that's not the point of the cross-distribution repo ;-)
> 
> 
> The point is to
> a) have a place where _all profiles_ of _all distributions_ are 
>    available (no, I do not want the "this profile is maintained in 
>    $package" placeholders - instead, I'd like to have them automatically 
>    pulled from the packages regularly so that I don't have to hunt 
>    through the packages of 5 distributions - maybe do this in a 
>    subdirectory "maintained-in-package" (or "maintained-in-
>    package/$package") to make clear where they come from)
> b) merge the profiles "upwards", for example from "openSUSE 13.1" to 
>    "openSUSE" (which ideally means "all supported releases" or at least 
>    "the next release") and finally to the global level for all 
>    distributions.
> 
> The big goal is b), a) is just a way to make it easier ;-)
> 
> 
> I'm quite sure it's possible to create cross-distribution profiles 
> (hint: we already do that with the profiles we ship in the AppArmor 
> tarball ;-)
> 
> The permissions and paths required for accessing binaries, libraries 
> etc. are (nearly) the same everywhere, so that can easily be merged, 
> even if we need some /{usr/,}bin/foo magic in some cases.
> 
> Paths for data directories might differ, but it's easy to separate them 
> out to tunables/ so that the main profile can be shared. 
> That means a 99% win, with 1% distro-specific tunables/ remaining.
> 
> 
> Abstractions should be the same everywhere IMHO, so we should enforce 
> that changed and new abstractions are always pushed to the apparmor 
> repo.
> This also means to disallow abstractions in the apparmor-profiles repo.
> 
> 
> And finally - why should we do this?
> 
> Easy answer: because programmers and packagers are lazy - it's easier to 
> copy the cross-distro profile into your package (and maybe patch the 
> tunables/ part) than maintaining a profile that is specific for your 
> distro ;-)
> 
> As a side effect ;-) we get profiles for more applications that 
> (hopefully) work everywhere.
> 
> Yes, I know merging profiles causes some work, but on the long term I 
> hope it makes it easier for everybody.
> 

I think you misunderstood my email. I was not advocating the status quo, I was
merely stating what it is and what Ubuntu is currently doing. I am all for
getting more people profing and making the repo more usable for people and
welcome the discussion.

As for what Ubuntu is currently doing with apparmor-profiles, we actively took
the decision to have placeholders if we ship them in our distro since we don't
want to have to maintain them in two places. I think what you are suggesting
would suffer from the same issue, unless I am missing something? How do people
see avoiding this with the new way?

-- 
Jamie Strandboge                 http://www.ubuntu.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20140728/ada198ee/attachment-0001.pgp>


More information about the AppArmor mailing list