On 2022/12/17 16:25:20 +0000, Lucas <[email protected]> wrote:
> > > Then the private keys within would all have 0400 permissions, user and
> > > group
> > > being the same (so _prosody:_prosody for XMPP-related TLS). I noted that
> > > the
> > > default is 700 permissions on `/etc/ssl/private` with root:wheel
> > > ownership. Is
> > > the approach I've just outlined with adding a group and modifying
> > > permissions a
> > > bad idea?
> >
> > Personally, I wouldn't deviate from the os defaults by changing the
> > permission on /etc/ssl/private.
> >
> > it seems fragile, and you'd also need to make sure permissions are
> > kept when updating the certificates.
>
> 100% agree with this. Also, you should update mtree accordingly to avoid
> security(8) noise, then you can get some sysmerge noise on updates, ...
>
> > all handled by cron as usual:
> >
> > ~ * * * * acme-client example.com && rcctl reload httpd
> > ~ * * * * acme-client xmpp && rcctl restart prosody
>
> What I do is replacing `rcctl restart prosody` with a script that
>
> 1. Copies private key and certificate into `/etc/prosody/certs` and
> fixes the owners and permissions
> 2. Runs `rcctl reload prosody` instead
that's basically what i had too, before noticing that i could have
acme-client do the work for me.
> I believe that a plain `rcctl re{load,start} prosody` shouldn't work
> after acme-client creates a new private key, as that is created with
> mode 0400 owned by root, and prosody runs under _prosody user directly,
> not starting as root, reading the key and then dropping to _prosody.
the key is 0400 but inherits the permissions from the directory, so
it's _prosody:_prosody here.
(replacing my domain name with `example.com', the output is untouched
otherwise.)
antartica$ doas ls -lah /etc/prosody/certs/
total 48
drwx------ 2 _prosody _prosody 512B Nov 22 20:19 .
drwxr-xr-x 4 root wheel 512B Jun 9 2022 ..
-rw-r--r-- 1 root _prosody 805B Nov 12 20:28 Makefile
-r--r--r-- 1 root _prosody 5.9K Nov 22 20:19 example.com.crt
-r--r--r-- 1 root _prosody 5.9K Sep 23 20:33 example.com.crt.1
-r-------- 1 _prosody _prosody 3.2K Apr 1 2022 example.com.key
-rw-r--r-- 1 root _prosody 1.5K Nov 12 20:28 openssl.cnf
lrwxr-xr-x 1 root _prosody 17B Mar 27 2022 room.example.com.crt ->
example.com.crt
lrwxr-xr-x 1 root _prosody 17B Mar 27 2022 room.example.com.key ->
example.com.key
lrwxr-xr-x 1 root _prosody 17B Apr 1 2022 upload.example.com.crt ->
example.com.crt
lrwxr-xr-x 1 root _prosody 17B Apr 1 2022 upload.example.com.key ->
example.com.key
Have been running like this for various months already and worked
flawlessly. I'd like to revisit the configuration sometimes to drop
the symlinks tho.