On Thu, Aug 13, 2020 at 1:34 AM Watson Sato <ws...@redhat.com> wrote:

>
>
> On Wed, Aug 12, 2020 at 1:40 AM Gabe Alford <redhatri...@gmail.com> wrote:
>
>>
>>
>> On Tue, Aug 11, 2020 at 6:00 AM Watson Sato <ws...@redhat.com> wrote:
>>
>>>
>>>
>>> On Tue, Aug 11, 2020 at 1:24 AM Shane Boulden <sboul...@redhat.com>
>>> wrote:
>>>
>>>> I like that the proposal adds "policy_hub", "version" and
>>>> "comes_into_force" into the profile file (with the assumption that this
>>>> will not make it into XCCDF). Having this information directly in the
>>>> .profile file makes it simpler for users and partners to see the current
>>>> state.
>>>>
>>>
>> The more I think about it, the more I am against comes_into_force. This
>> isn't something that should be maintained or used upstream and is easily
>> misconstrued (even if documented) for when an organization enforces policy
>> and policy changes.
>>
>
> I *think* I understand what you mean, that upstream should not say when an
> organization enforces a policy, because this is a matter between the
> auditor and the auditee. (I guess this is similar to how we cannot say that
> one is compliant just by passing all cheks).
> *But* can't this also mean that an older policy version is not necessarily
> out dated? Because the auditor may be okay with an old policy version...
> (I'm digressing, I guess)
>
> My intention with the "comes_into_ force" field was to have some kind of
> loose documentation for the layman, for ourselves, to make it easier to
> identify when a profile becomes outdated and cannot be used.
>
> The more correct way is to open a milestone upstream and associate tickets
>> with that milestone which would include the policy reference and version.
>> This provides an accurate picture and would easily show and tell users
>> what needs to be done to help complete tickets for closing out gaps in the
>> profiles.
>> It also shows that security analysis has been performed for what has to
>> be done to a profile for a product version.
>>
>
> As you mention, this goes into the path of measuring the gap and closing
> it. My goal is much smaller, I'd like a way to make it easy to identify out
> of date profiles. It can by either putting down the data/info, pointing to
> a validity page, a formula with version numbers and publication dates...
> It may well be a foolish attempt to have written down "when a profile is
> out of date", either because "it always depends" or because "it is always
> out of date immediately when a new version is published".
>

I understand what you are trying to accomplish, but this is the crux of the
problem for the very reason that "it always depends" and/or "it is always
out of date immediately when a new version is published".
It might be better to have a "refresh" field with options of "yearly",
"quarterly", "monthly", etc. but I hesitate on that because the very
expectation that users will have is to have a 100% complete profile making
an
iterative approach very difficult. And if for some reason, that that
doesn't happen, it's going to not look good for us.


>
>
>> Adding keys that are only used upstream don't provide as much value as
>> keys that are used in the downstream validated content.
>> The "policy_hub" should become "reference" and both "reference" and
>> "version" can be added to <xccdf:Profile> when the content is generated
>> This would provide more value in the long run and can be easily
>> discoverable in official reports.
>>
>>
>>>
>>>> I see an issue with maintainers - we can mix up at least GH usernames
>>>>> and e-mails - what about considering it a list of dicts, so we could have
>>>>> e.g.
>>>>> maintainers:
>>>>>    - github: redhatrises
>>>>>    - github: yuumasato
>>>>>      email: ws...@redhat.com
>>>>
>>>> Could we use coThe idea to use cocdeowners
>>>> <https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners>
>>>> instead to track profile maintainers? This way the profile owners will be
>>>> immediately notified when a PR is opened for a .profile file, and avoids
>>>> having to maintain dicts of username->email mappings (it's simply tied to
>>>> the GH username)
>>>>
>>> The automatic notifications of codeowners make it very interesting.
>>> I have two remarks though:
>>>
>>>    1. maintenance of the codeowners file, which needs to be done by
>>>    admins or owners;
>>>    2. permissions, codeowners need to have write permission for the
>>>    repo;
>>>
>>> This centralizes the management of Profile "ownership" and increases
>>> requirements on the codeowners.
>>>
>>
>> I actually really like this idea of using codeowners to track profile
>> maintainers and think it is a more elegant solution than keeping track in
>> the profile.
>>
>>
>>>
>>>
>>>> On Mon, Aug 10, 2020 at 8:18 PM Matej Tyc <ma...@redhat.com> wrote:
>>>>
>>>>> I have remarks to Gabe's remarks, but I add them to Watson's reply, so
>>>>> the thread doesn't bifurcate.
>>>>> On 10. 08. 20 10:22, Watson Sato wrote:
>>>>>
>>>>>
>>>>> On Sat, Aug 8, 2020 at 12:10 AM Gabe Alford <redhatri...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Anything that is metadata should conform to the Dublin Core per the
>>>>>> XCCDF specification for the .profile files, or it can be a commented out
>>>>>> section at the top of the .profile.
>>>>>>
>>>>> As the purpose is to record key properties of the profile, I am not in
>>>>> favor of specifying them as comments - one can't parse them reliably, and
>>>>> as we would like this to save us some work, we want to have at most one
>>>>> schema that can be approached by computers.
>>>>>
>>>>> Next, the schema presented by Watson reflects what we think is useful
>>>>> to record. I wouldn't compromise here because of the Dublin thing. I
>>>>> understand this as a resource for content authors, it could possibly be
>>>>> inserted as a table into the profile description, and we could have a test
>>>>> that key profiles have this record. Putting this info into profile XCCDF
>>>>> metadata makes sense, but I wouldn't use this as a factor that would
>>>>> restrict the data set that we would like to record.
>>>>>
>>>>> I didn't envision this metadata to be included in the built XCCDF
>>>>> profile, so I didn't look into the formal syntax.
>>>>> And it is laid out as yaml to ease any eventual build system future
>>>>> automation.
>>>>>
>>>>>
>>>>>> Alternatively, a single file like maintainers or profile maintainers
>>>>>> would be better as a single source of truth.
>>>>>>
>>>>>
>>>>> That could work too, in this case I would make the file per product,
>>>>> to keep them simple.
>>>>>
>>>>> I don't get the single source of truth thing - wouldn't it be the
>>>>> respective profile file? Typically, one is interested in who maintains a
>>>>> particular profile, not in how many profiles one person maintains. But 
>>>>> more
>>>>> importantly, I think it is important to see who maintains the profile when
>>>>> one edits the profile file, or when one reviews the change. Having two
>>>>> files - one with the profile definition, and the other one that may or may
>>>>> not contain information about possible profile stakeholders - is 
>>>>> cumbersome.
>>>>>
>>>>>
>>>>>> nitpick: I think that "comes_into_force" should be something else
>>>>>> like "when", "applicability", or "profile_enforcement".
>>>>>>
>>>>>
>>>>> Thank you for the suggestions, I was not sure what would be a good
>>>>> name for the field.
>>>>>
>>>>> But this also makes me wonder if tracking this is even necessary as
>>>>>> technically in all compliance regimes a newly released profile becomes
>>>>>> applicable on release.
>>>>>>
>>>>>
>>>>> The core of this field is clarity and understanding how the policy is
>>>>> applied in practice, if it is the case that all policies and profiles are
>>>>> instantly unusable when a new version is released,
>>>>> this field is unnecessary.
>>>>> The proposal for "comes_into_force" assumed that the organizations
>>>>> implementing and/or enforcing the policy don't update instantly, and have 
>>>>> a
>>>>> time frame to adapt.
>>>>>
>>>>> I see this as a possibility to at least loosely define shape of
>>>>> profiles - if a stakeholder claims that they expect the profile to be
>>>>> behind at most six months, then comparison of a couple of numbers can
>>>>> quickly tell us whether the profile is good, on track, or whether it was
>>>>> left behind.
>>>>>
>>>>> Below is a draft proposal of a set of *optional* metadata to be added
>>>>> to the ".profile" file. Everything is pretty much free form and optional.
>>>>>
>>>>>    - policy_hub: (URL pointing to page or organization that publishes
>>>>>    the policy)
>>>>>    - version: (version of the policy implemented)
>>>>>    - comes_into_force: (text stating when a policy starts being
>>>>>    enforced, in other words, when a policy version is in practice 
>>>>> obsolete)
>>>>>    - maintainers: (contact of policy SME, stakeholder, or person
>>>>>    responsible for the profile, can be in form of GitHub handle for 
>>>>> example)
>>>>>
>>>>> I see an issue with maintainers - we can mix up at least GH usernames
>>>>> and e-mails - what about considering it a list of dicts, so we could have
>>>>> e.g.
>>>>>
>>>>> maintainers:
>>>>>
>>>>>    - github: redhatrises
>>>>>    - github: yuumasato
>>>>>      email: ws...@redhat.com
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>> On Fri, Aug 7, 2020 at 9:21 AM Watson Sato <ws...@redhat.com> wrote:
>>>>>> ...
>>>>>>
>>>>>
>>>
>>> --
>>> Watson Sato
>>> Security Technologies | Red Hat, Inc
>>> _______________________________________________
>>> scap-security-guide mailing list --
>>> scap-security-guide@lists.fedorahosted.org
>>> To unsubscribe send an email to
>>> scap-security-guide-le...@lists.fedorahosted.org
>>> Fedora Code of Conduct:
>>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>>> List Archives:
>>> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>>>
>> _______________________________________________
>> scap-security-guide mailing list --
>> scap-security-guide@lists.fedorahosted.org
>> To unsubscribe send an email to
>> scap-security-guide-le...@lists.fedorahosted.org
>> Fedora Code of Conduct:
>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
>> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>>
>
>
> --
> Watson Sato
> Security Technologies | Red Hat, Inc
> _______________________________________________
> scap-security-guide mailing list --
> scap-security-guide@lists.fedorahosted.org
> To unsubscribe send an email to
> scap-security-guide-le...@lists.fedorahosted.org
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>
_______________________________________________
scap-security-guide mailing list -- scap-security-guide@lists.fedorahosted.org
To unsubscribe send an email to scap-security-guide-le...@lists.fedorahosted.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org

Reply via email to