PostfixAdmin Error templates_c ( Debian12, Webmin, Virtualmin, Dovecot, Postfix)

ERROR: the templates_c directory doesn’t exist or isn’t writeable for the webserver

mail@ynm:~/postfixadmin$ ls -ld templates_c/
drwxr-xr-x 2 www-data www-data 4096 May 3 14:31 templates_c/

mail@ynm:~/postfixadmin$ whoami
mail

root@ynm:/# chown -R mail:mail /home/mail/postfixadmin/templates_c
root@ynm:/# chmod 755 /home/mail/postfixadmin/templates_c

A teljes lánc olvasásához szükséges könyvtárakra is kell “x” (execute) jog

sudo setfacl -m u:dovecot:–x /etc/letsencrypt
sudo setfacl -m u:dovecot:–x /etc/letsencrypt/live
sudo setfacl -m u:dovecot:–x /etc/letsencrypt/live/ynm.hu

A szimbolikus linkeket mutató fájlokat is engedélyezni kell

sudo setfacl -m u:dovecot:r /etc/letsencrypt/live/ynm.hu/fullchain.pem
sudo setfacl -m u:dovecot:r /etc/letsencrypt/live/ynm.hu/privkey.pem
sudo setfacl -m u:dovecot:r /etc/letsencrypt/live/ynm.hu/chain.pem

sudo setfacl -m u:dovecot:–x /etc/letsencrypt/archive
sudo setfacl -m u:dovecot:–x /etc/letsencrypt/archive/ynm.hu

Valódi fájlok olvasási joga

sudo setfacl -m u:dovecot:r /etc/letsencrypt/archive/ynm.hu/*.pem

:white_check_mark: Biztonsági előnyök:

  • Pontos hozzáférés-szabályozás: Csak a dovecot felhasználónak adsz olvashatóságot, nem módosítod a csoportokat vagy a globális jogosultságokat (chmod 755), így más folyamat nem fér hozzá.
  • Nem kell áttenni vagy másolni a tanúsítványokat (ami rizikós lenne, főleg automatizálásnál).
  • Jobb, mint chmod 644: A fájlokat nem teszed olvashatóvá mindenki számára, ami a tanúsítványoknál kifejezetten kerülendő.

:warning: Biztonsági megfontolások:

  • A tanúsítványok (főleg a privkey.pem) érzékeny adatok – ha egy támadó valamilyen módon futtat kódot dovecot felhasználóként, akkor ezeket elolvashatja.
  • ACL jogosultságokat nem minden biztonsági eszköz vagy mentéskezelő követ figyelmesen, így dokumentálni kell, hogy ezek létrejöttek.
  • A certbot frissítése után új fájlok jöhetnek létre, így a hozzáférés automatikusan nem öröklődik. Ez kezelhető --deploy-hook script segítségével.

:shield: Javasolt védelem:

  1. Tartsd karban a rendszered, és használj minimális jogosultságú felhasználókat minden szolgáltatáshoz.
  2. Ne futtass más folyamatokat dovecot néven.
  3. Hosszú távon fontold meg egy külön tanúsítvány példány készítését Dovecot számára postrenew hook-kal (pl. másolat /etc/dovecot/certs/ könyvtárba, megfelelő jogosultságokkal).

:locked_with_key: Összegzés:

Az ACL használata ilyen módon biztonságos és ajánlott, főleg self-hosted rendszereknél, feltéve, hogy a Dovecot megfelelően szeparált, és nem engedsz mást futni a nevében.

1 Like

#!/bin/bash

Hozzáférést adunk a dovecot csoportnak

echo “Hozzáférést adunk a dovecot csoportnak…”
sudo usermod -a -G ssl-cert dovecot

Jogosultság beállítása a szükséges könyvtárakra

echo “Jogosultság beállítása a szükséges könyvtárakra…”
sudo chmod 750 /etc/letsencrypt/archive
sudo chmod 750 /etc/letsencrypt/live
sudo chmod 750 /etc/letsencrypt/live/ynm.hu
sudo chmod 750 /etc/letsencrypt/archive/ynm.hu

Fájlok olvashatósága biztosított (ha kell)

echo “Fájlok olvashatósága biztosított…”
sudo chmod 640 /etc/letsencrypt/archive/ynm.hu/*
sudo chmod 640 /etc/letsencrypt/live/ynm.hu/*

echo “Sikeres beállítások!”

0 0 * * * /bin/bash /etc/letsencrypt/renewal-hooks/post/fix-dovecot-perms.sh

1 Like