2024-07-11 Meeting notes

Date

Attendees

Discussion items

TimeItemWhoNotes
10-15 min Security Team membership/participationTeam

Participation has waned, how do we rejuvenate our members and get them engaged again? 

  • If needed we can escalate to the TC to help find new members
  • Maybe we need to rotate some members off if they don't have time or have lost interest, and get some new members added.
  • Probably worthwhile to pull together a description of the responsibilities and other criteria we're looking for... so we're clear and consistent when seeking volunteers.
  • Jakub Skoczen will discuss with the devops team
  • The current timeslot is problematic for some folks (particularly those in Europe).  Maybe we can alternate time slots each week, or find a better time that works for all.
  • Craig McNally will reach out to Jens HeinrichKevin Day to invite them to next week's meeting.
    • See if they're willing and able to join us.  Also to align on expectations, responsibilities, and availability.
  • Next week, discuss the timeslot, if needed create a doodle poll.

Today:

Welcome Kevin Day and Jens Heinrich  Thank you for joining us!

1 minCookie SameSite topic raised in SlackTeam + Zak
  • Production systems should be setup with SameSite = Strict or Lax
    • Bugfest should be setup in this way, but it's currently set to none.
    • Julian will continue to try to get Kitfox to move this back to Strict/Lax
  • Hosted reference envs, and other envs (e.g. rancher envs, etc.) which UI devs might develop against (point a local UI build at) should either:
    • Use SameSite = none OR
    • UI devs should use a proxy like NGINX (running locally)
  • Generally speaking it's better to user SameSite=Strict/Lax when possible to help identify issues earlier
  • Consider setting the default to Strict instead of Lax.  See https://github.com/folio-org/mod-login
  • Zak:  Lax doesn't really buy us anything, we should use either none or strict.  This is because stripes is an SPA.  It's the backend that cares/uses the cookies, the frontend doesn't know anything about these since they're http-only cookies.
    • This comes up when using deep links, e.g. to other domains
  • Update from Zak (6/13):
    • WRT LOGIN_COOKIE_SAMESITE env variable in mod-login, Steve Ellis and I chatted and confirmed we could default to Strict instead of Lax without any downside.
    • He will create JIRAs for mod-login and mod-login-keycloak to adjust the default, and if needed we can create another story for devops if they're overriding the default for hosted reference envs.
  • ActionCraig McNally to touch base with Zak on progress of the Jira creation.
  • Some feel that the hosted reference envs should be setup like production (e.g. SAMESITE=Strict).  However that interferes with UI developer's ability to point a local build of the UI at these envs.
    • Potential compromise:  configure one of the snapshot envs to have Strict, and the other to have None.

Today: 

  • A new PR introduced a proxy server to assist front-end developers with the samesite issue should they need to work against the Bugfest environment.
  • Action: John to try out the new functionality.
1 minUpdate on SECURITY-159 / FOLIO-4012Craig

We're on track here.  Ian H. applied mitigation.  Upgrade will happen when John Malconian returns from vacation.

1 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.
  • 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:

  • ...
Remaining time

Anything Urgent? Review the Kanban board?

Under Review Filter:  Getting issues...

Team
  • We need to determine if DevOps can work on  FOLIO-3896 - Getting issue details... STATUS  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.
    • Action:  Craig to ask in #devops if they can and are willing to work on this, then we can decide next steps.
    • Update:  Craig Posted, in #devops, but not a single reply
    • This is referenced in the single-server deployment documentation, and not part of the official flower releases
    • Maybe the core platform team can take on this work since there hasn't been any replies from the devops community.
    • Action:  Reach out to Jakub Skoczen to see if we can get some movement on this from either devops or core-platform teams (Craig)
    • Action:  Ask #sys-ops if this is still needed, or can they switch to the docker containers. (Craig)
  • Looked at several SECURITY issues marked as "High" Severity.

    • SECURITY-129/ERM-3225 we need to check if mod-agreements uses file uploads we know that mod-agreements uses file uploads; ping PO and dev lead?
    • SECURITY-145, 146, 147, 149 - will all be fixed by upgrading to Keycloak 24, which is slated to happen next sprint (193)

Today:

  • ...
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

  •