apache / apache/jena

Make default Fuseki access settings more secure

Open
#1,796 4 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.