tailscale / tailscale/tailscale

FR: Documentation Improvement: Use polkit rules in Node Hardening, Instead of pkla Format

Open
#10,547 1 comment 0 reactions 0 assignees View on GitHub
fr L1 Very few P1 Nuisance T4 Docs
Dominant language
Go
Stars
36.5k
Forks
3.2k
Avg merge
1d 23h
Merged PRs (30d)
132

Description

### What are you trying to do?

The documentation for hardening Tailscale nodes currently [advises users to create a polkit rule in the pkla format](https://tailscale.com/kb/1279/security-node-hardening/#suggested-hardening-configuration-based-on-systemd), to allow tailscaled to configure DNS. [However, the pkla format is now deprecated](https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html#changes-to-polkit-configuration):

> However, .pkla files should now be considered deprecated, and will only continue to work if the polkitd-pkla package is installed. This package will usually be installed automatically when you upgrade to bookworm, but it is likely not to be included in future Debian releases, so any local policy overrides will need to be migrated to the JavaScript format.

### How should we solve this?

Advise users to create a rule in the JavaScript format, as `/etc/polkit-1/rules.d/50-tailscaled.rules`:
```
polkit.addRule(function (action, subject) {
if (action.id.indexOf("org.freedesktop.resolve1") === 0
&& subject.user === "tailscaled") {
return polkit.Result.YES;
}
});
```

### What is the impact of not solving this?

Tailscale DNS will not work on fresh installations of Debian stable (i.e. 12), if the configuration provided in the the documentation is used.

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Research direction

Start at the linked Node Hardening article's “Suggested hardening configuration based on systemd” section and compare its current pkla guidance with Debian's Bookworm polkit note. Update the example to the requested JavaScript rule at /etc/polkit-1/rules.d/50-tailscaled.rules, and confirm the documentation no longer recommends the deprecated format.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
documentation, security
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.