Încerc să configurez releul postfix în kubernetes pe Alpine folosind saslauthd.
Dockerfile:
DIN alpin:3.15
RUN actualizare apk && \
apk add --no-cache postfix \
libsasl \
cyrus-sasl \
cyrus-sasl-login \
Cyrus-sasl-plain \
openssl \
umbra \
certificate ca \
bash \
rsyslog \
supraveghetor && \
/usr/bin/newaliases && \
cp /etc/passwd /etc/passwd_orig && \
# Curăță
(rm "/tmp/"* 2>/dev/null || adevărat) && (rm -rf /var/cache/apk/* 2>/dev/null || adevărat)
EXPUNEREA 25
COPY ./configs/supervisord.conf /etc/supervisor/supervisord.conf
supervisord.conf:
[supraveghetor]
nodaemon=adevărat
logfile=/var/log/supervisord.log
logfile_maxbytes=0
[program:rsyslog]
command=/usr/sbin/rsyslogd -n
[program:postfix]
command=/usr/libexec/postfix/master -c /etc/postfix -d
[program:saslauthd]
command=/usr/sbin/saslauthd -o umbră
startsecs=0
setările de configurare a serverului sunt:
cat /etc/default/saslauthd
MECHANISMS="umbră"
cat /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: Autentificare simplă
cat /etc/postfix/mail.cf
compatibility_level = 2
director_codă = /var/spool/postfix
director_comandă = /usr/sbin
daemon_directory = /usr/libexec/postfix
directorul_date = /var/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
calea_newaliases = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = nr
director_manpage = /usr/share/man
director_eșantion = /etc/postfix
readme_directory = /usr/share/doc/postfix/readme
inet_protocols = ipv4
meta_directory = /etc/postfix
shlib_directory = /usr/lib/postfix
biff = nu
append_dot_mydomain = nr
broken_sasl_auth_clients = da
inet_interfaces = all
cutie_poștală_size_limit = 0
mydestination = localhost
domeniul meu = exemplu.com
myhostname = server.example.com
myorigin = server.example.com
relayhost = relayhostDNS
smtp_fallback_relay = relayhostDNS
smtp_sasl_auth_enable = da
smtp_sasl_password_maps = lmdb:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permis_rețelele mele,
permis_sasl_authenticated,
check_relay_domains
smtpd_sasl_auth_enable = da
smtpd_sasl_local_domain = server.example.com
cyrus_sasl_config_path = /etc/postfix/sasl
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
cat /etc/postfix/sasl_passwd
relayhostDNS relayUser:relayPassword
După ce am specificat forma codificată în base64 a \0nume utilizator\0parolă, folosesc telnet pentru a verifica conectarea și autentificarea.
AUTH LOGIN autentificarea funcționează corect, dar AUTH PLATN nu. Am primit o eroare de la clientul meu telnet:
535 5.7.8 Eroare: autentificarea eșuată: protocol greșit / anulare
și următoarele jurnale din partea serverului:
2022-03-04T08:07:49.626134+00:00 mailrelay-0 postfix/smtpd[56]:
avertisment: Eșec de autentificare SASL: Poate găsi doar autor/ro (nr
parola) 2022-03-04T08:07:49.626159+00:00 mailrelay-0
postfix/smtpd[56]: avertisment:
10-244-20-10.openvpn.openvpn.svc.cluster.local[10.244.20.10]: SASL
Autentificarea PLAIN a eșuat: protocol greșit / anulare
Va rog, imi puteti spune care ar putea fi problema?
Mulțumesc.