tailscale / tailscale/tailscale
FR: Documentation Improvement: Use polkit rules in Node Hardening, Instead of pkla Format
- 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
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