mod-configuration has been discussed on the development channel recently. Developers like it because they can simply drop variables to the/configurations/entriesAPI. Simply use the "configuration.*" permission shared by all modules and you are done. No need to add schema validation, no need to add dedicated permissions, no need to add a dedicated API. Drawbacks:
A big institution need config write permissions with module granularity. One member of staff may be allowed to edit circulation config but not acquisition config.
No validation. mod-configuration cannot validate a POST or PUT request because it doesn't know. Only the module it belong to knows this. Relevant use case: Using curl/wget/postman/...
No documentation. mod-configuration has no documentation, one needs to search, maybe the module's README has some? A dedicated module API always publishes the API documentation athttps://dev.folio.org/reference/api/
Performance. Requests to mod-configuration result in latency. If the config API belongs to the module the module can cache it and can invalidate the cache if the config is changed. Caching requests to mod-configuration will always result in a time period with outdated values. In mod-inventory-storage we've combined fetching the HRID config and HRID generation into a single SQL query.
Coupling. Modules should be loosely coupled and therefore each module should store its own configs.
It was requested that a formalRFC/Architecture Decision Recordbeen created if mod-configuration should no longer been used for module-specific configurations.
Team decided we want to have this as a RFC. Target should be to have this implemented within Nolana. Could discuss in your meetings while the RFC process moves on.
The topic of Kafka security was raised as part of a conversation at the TC yesterday.
The Security Team should be aware of this and probably should weigh in on the topic, or even generate proposals if we have ideas for how to solve the problem.
It may make sense to wait until Olamide's RFC for the tenant-specific topics is created/discussed/etc.
Today:
On hold until the RFC is available for review.
5-10 min
OWASP
Team
Jakub Skoczen raised the idea of evaluating if FOLIO meets this OWASP Application Security Verification Standard. Ryan Berger has run some tools a while back, but it's probably time to revisit, and maybe take it further.
Maybe make this a periodic task → e.g. once per flower release?
It's possible that maybe Kitfox or Devops could help with this (just an idea)
Create a FOLIO ticket in JIRA to track this effort.
Craig McNally will create the ticket and we can revisit in a future meeting (next week or two)
Today:
TODO for all: Create a wiki page with "OWASP Application Security Verification Standard", start evaluating FOLIO against Level 1.
All security team members do evaluation.
Discuss the results in our weekly meetings.
10 min
Cumulative upload problem
Team
Regarding file upload size issues (SeeFOLIO-3317-Spike - investigate possible file upload vulnerabilityOPEN), let's brainstorm ideas for mitigating the cumulative upload problem, not just the large file upload size problem.
Some APIs are more vulnerable to this than others, such as those not protected by permissions - e.g. mod-login, edge APIs, etc.
Axel provided some background/context. We still need to give this some thought and possibly suggest a solution
Use case 1: Some script unintentionally sends endless data to some API. This is caught by a maximum upload size.
Use case 2: Denial of service. Difficult to address in Okapi. Might be better handled in other tools like nginx or firewalls that can limit requests. Unlikely that a denial of service attack has a valid login / access token.
TODO: For use case 2: Only add documentation that implementers should use an external firewall (or external nginx) to limit requests.
Today:
Wait until we have Axel and discuss again - who's going to do what in terms of documenting a recommendation, etc.
5-10 min
Skott Klebe is interested in joining the Security team... thoughts?
Team
Skott is a Security professional at EBSCO that's voiced interest in joining.
Craig to post something in our slack channel to see what Jakub/Axel think...
Reach out to Skott to see if he'd be willing to join us on the 25th or 8th and give an introduction, explain his experience and why he wants to join the team, etc.