Make default Fuseki access settings more secure
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 712
- Avg merge
- 15h 41m
- Merged PRs (30d)
- 53
Description
### Version
4.7.0
### Feature
As configured in its default [shiro.ini](https://github.com/apache/jena/blob/main/jena-fuseki2/jena-fuseki-webapp/src/main/resources/org/apache/jena/fuseki/webapp/shiro.ini), a Fuseki server allows read- and write-access from anywhere by default. This is a very dangerous default. I'd change this to
1. Limit admin protocol endpoint `/$/metrics` to localhost
2. Enable simple username/password authentication for write access (SPARQL Update and Graph Store Protocol except GET/HEAD) unless from localhost
Sure this is insecure still but at least just changing the default password will restrict public write access to all your data.
### Are you interested in contributing a solution yourself?
Yes
Contributor guide
Research direction
Start with jena-fuseki2/jena-fuseki-webapp/src/main/resources/org/apache/jena/fuseki/webapp/shiro.ini, the default access configuration named in the issue. Review the existing rules for /$/metrics and remote write access, then verify that the requested localhost restriction and authentication behavior are represented in the default settings.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, backend, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100