Folosesc câteva imagini Docker pentru a implementa un server de e-mail (https://github.com/docker-mailserver/docker-mailserver). MTA este postfix, cu configurație TLS și folosind LDAP pentru autentificare. Mă pot autentifica la serverul SMTP și pot trimite e-mailuri, dar afișează parola de conectare în text simplu în auth.log
26 iulie 10:57:01 mail saslauthd[979]: : num_procs : 5
26 iulie 10:57:01 mail saslauthd[979]: : mech_option: kopano_gateway
26 iulie 10:57:01 mail saslauthd[979]: : run_path : /var/run/saslauthd
26 iulie 10:57:01 mail saslauthd[979]: : auth_mech : rimap
26 iulie 10:57:01 e-mail saslauthd[979]: : utilizând fișierul de blocare accept: /var/run/saslauthd/mux.accept
26 iulie 10:57:01 mail saslauthd[979]: : pid master este: 0
26 iulie 10:57:01 mail saslauthd[979]: : ascultare pe socket: /var/run/saslauthd/mux
26 iulie 10:57:01 mail saslauthd[979]:: folosind modelul de proces
Jul 26 10:57:01 mail saslauthd[979]: : copil bifurcat: 986
Jul 26 10:57:01 mail saslauthd[979]: : copil bifurcat: 987
Jul 26 10:57:01 mail saslauthd[979]: : copil bifurcat: 988
Jul 26 10:57:01 mail saslauthd[979]: : copil bifurcat: 989
26 iulie 10:57:01 mail saslauthd[979]: : dobândit accept lock
26 iulie 10:57:36 mail saslauthd[979]: : eliberat accept lock
26 iulie 10:57:36 mail saslauthd[979]: auth_rimap: se trimite saslauthd LOGIN „user1” „parolă”
26 iulie 10:57:36 e-mail saslauthd[979]: auth_rimap: se trimite saslauthd LOGOUT
Iul 26 10:57:36 mail saslauthd[979]: auth_rimap: [user1] saslauthd OK [CAPACITATE IMAP4rev1 LITERAL+ COPII XAOL-OPȚIUNE NAMESPACE QUOTA IDLE] CONECTARE finalizată
26 iulie 10:57:36 mail saslauthd[979]: : succes auth: [user=user1] [service=imap] [realm=] [mech=rimap]
Aș putea edita rsyslog.conf și aș schimba linia
auth,authpriv.* /var/log/auth.log
de
auth,authpriv.* /dev/null
dar aș dori ca auth.log să nu arate parolele. Presupun că aș putea schimba configurația în /etc/supervisor/conf.d/saslauth.conf pentru că se pare că comenzile saslauthd sunt executate implicit cu flag -d (depanare):
[program:saslauthd_rimap]
startsecs=0
autostart=fals
pornire automată=adevărat
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
command=/usr/sbin/saslauthd -d -a rimap -r -O %(ENV_SASLAUTHD_MECH_OPTIONS)s
pidfile=/var/run/saslauthd/saslauthd.pid
dar dacă încerc să montez acel fișier în docker-compose.yml, cu indicatorul -d eliminat, saslauthd nu poate porni corect:
/home/admin/postfix/saslauth.conf:/etc/supervisor/conf.d/saslauth.conf
26 iulie 11:58:44 e-mail saslauthd[3373]: : Nu se poate porni saslauthd
Iul 26 11:58:44 mail saslauthd[3373]: : O altă instanță a saslauthd rulează în prezent
26 iulie 11:58:45 mail saslauthd[3378]: : nu s-a putut bloca fișierul pid /var/run/saslauthd/saslauthd.pid: Resursa indisponibilă temporar
Este vreo modalitate de a dezactiva modul de depanare pentru saslauthd într-un container docker folosind variabile de mediu sau ceva? Sau care ar fi modalitatea corectă de a ascunde parolele în auth.log?