2024-09-05 Meeting notes

Date

Attendees

NamePresentPlanned Absences
Yes
Yes time collision


Yes
Yes






Kevin DayYes
Jens HeinrichYesOut next week  

Discussion items

TimeItemWhoNotes
5 minProxy for Dev-Setup John + Team
  • John has been discussing this with Zak/Jason - doing this in stripes-cli.  It sounds like they're coming around to this idea.
  • A spike is still needed
    • John Coburn will create the spike and ask for input/help from the rest of the Security team as needed.

Today:

  • John Coburn is unable to attend today.  Let's check in next week.
5 minCookie SameSite topic raised in SlackTeam + Zak
  • Only remaining gotcha is how this will work with STSH (strict transport security headers)
  • John Coburn created a ticket to include CORS in the proxy
  • TAMU is using an older version of Okapi which is making things more complicated, Kevin is making due.

Today:

1 minUpdate on SECURITY-159 / FOLIO-4012Craig

FOLIO-4012 is complete.  Let's close SECURITY-159...

0 minJira Group and Security Level reviewTeam

From Craig in slack:

I've been in communication with David Crossley, Wayne Schneider, John Malconian and Peter Murray about the issue above.  They apparently didn't have access to these embargoed issues (SysOps and Core Team).  Peter shared this screenshot with me, which doesn't look right.  I'd like to review this at one of our meetings and come up with a list of changes/improvements for Peter to make.  A few ideas off the top of my head:
  1. Add descriptions to each of the security groups, like we have for "FOLIO Security Group"
  2. Maybe add a new security group and level for FOLIO devops
  3. Review membership of each of these groups and remove users no longer on the project
  4. Review the Security Level -> Group mappings.  Some of these don't look quite right to me.

  • If it makes this easier, we could invite Peter to a meeting so we can see the groups/levels interactively and makes adjustments as we go

TODO:

  • Create a new group:  devops, and assign Wayne, John, Ian, David, Peter.  Also create a new security level for "folio devops"
  • Remove Johannes Drexl from the SysOps group, he's not longer involved in Folio.
  • Action: Craig to look into how security level configuration works to gain a better understanding of why it behaves the way it does.  
    • Why do we have All Folio Developers in the "Sys Ops and Core Team" security level?

Today:

  • Not exactly this, but related... 
    • Issues submitted to the SECURITY JIRA project should automatically be embargoed (Security Level = Folio Security Group)
    • The submitter of issues to the SECURITY JIRA project should be able to view issues they submit, regardless of their Security Level
    • Email notification sent to the Folio Security Group when an issue is created in the SECURITY Jira project.
  • Maybe we can have a quick conversation with Peter there and setup a meeting to work through these things after WOLFcon?  
< 5 min

FOLIO-3896 - Getting issue details... STATUS

Team
  • We need to determine if DevOps can work on  or if they don't have bandwidth, and the debian packages aren't used anymore, archive them.  It sounds like some SysOps do use this, but we know that DevOps has very little bandwidth these days.

Today:

  • Still no word from Jakub Skoczen on this.  Maybe escalate to Mike G.?
  • Jenkins pipeline is on Java 11 and needs to be upgraded to Java 17 (maybe 21 soon)
  • Alternative to updating the jenkins pipeiline:  Instead of using Jenkins, maybe we can use GitHub actions in the Okapi repository so that the core-platform team can maintain it without any devOps need.  This requires some sensitive info (debian repository credentials) to be moved to Github (in a secure way obviously)
  • Third option is to just remove support for the debian packages altogether
    • Technically this is where we're at since debian packages haven't been created for a while now (no debian packages since Okapi v5.0.2 release September 2023)
25 min

Anything Urgent?
Review Mike's Kanban board?
Review Security board?

Under Review Filter:  Getting issues...

Team
  • Unembargoed several issues which were rejected/completed (SECURITY-171-178
  • SECURITY-177 - Getting issue details... STATUS  remains open.  See also SECURITY-182 - Getting issue details... STATUS
    • Action:  Craig will provide updates via slack as Taras digs into this.
  • SECURITY-180 - Getting issue details... STATUS  
    • Julian Ladisch is creating stories and PRs to address this in the master branch (Ramsons)
    • If we find vulnerabilities, we may want/need to backport this to Quesnelia and possibly Poppy as well.
    • See Dependencies out of support#Spring-5 for additional details, including a GH search which shows the affected repos
  • SECURITY-56 - Getting issue details... STATUS  
    • The two linked stories are closed, but we need to double check that the version of grails they upgraded to (and other deps) is sufficient to address the vulnerability.
  • SECURITY-65 - Getting issue details... STATUS
    • Should be addressed in Quesnelia, but has not yet made it into a Poppy CSP.
    • Since this spans multiple repos/teams it's our responsibility to seek approval for this.
    • Further discussion is required.  Do we really think this is worth pushing for a Poppy CSP?  Who is even affected?

Today:

  • Reviewed SECURITY-192 and SECURITY-189
Topic Backlog
Time permittingAdvice for handling of sensitive banking informationTeam

From slack conversation, I think I've gathered the following:

  • In this case (bank account and transit numbers), the information is highly sensitive.  
    • Highly sensitive information should:
      • Be stored in it's own table
      • Accessed via a dedicated API
      • Protected by a dedicated permission
      • Encrypted in the database, not only on disk.  

Let's review and discuss before providing this feedback to Raman.

Axel Dörrer also suggested that defining classes of sensitivity could help teams determine which techniques are applicable in various situations.  I agree having some general guidelines on this would be helpful.

  • regular data
    • low sensitive - permission based on same API
    • high sensitive - permission based on dedicated API

It would probably help to provide concrete examples of data in each class.  This can be a longer term effort, we don't need to sort out all the details today.

  • Next Steps:
    • Clearly define/formalize the various classes
      • Come up with concrete examples of each class
      • Build out guidance
        • Come up with concrete examples of how to protect each class of data.
      • Consider storing some classes of data outside of postgres altogether - e.g. in secret storage.
        • What would be the guidance we provide to teams for this so we don't end up with each team doing things differently?
        • SecretStore interface and existing implementations are currently only read-only.  They would need to be extended to allow for creation/mgmt of this information.
      • Craig to start a conversation in slack about this.
        • Seeking a volunteer to generate a draft document for us to review at a later meeting.

Today:

Axel Dörrer to do a first draft as a base for further discussions


Status on pentesting works within Network traffic control group

Due to some absences on different reasons the group stalled. Axel will try to reactivate the group.

Action items

  •