pondělí 25. dubna 2016

Postfix - relayhost SMTP AUTH


Monitorovaci system Zabbix užívá k notofikacím media Email nebo např. Jabber. Konfigurace SMTP serveru v Zabbixu neumožňuje nastavit SMTP server s autentizací.

Elegantním řešením je na Zabbix server nainstalovat Postfix, který poběží jen na localhost a nakonfigurovat jej tak, aby autentizovaně komunikoval s nadefinovaným SMTP serverm.

# configuration to relay to SMTP server using AUTH
relayhost = smtp.domena.cz
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtp_sasl_auth_enable = yes
#create db file using 'postmap hash:/etc/postfix/sasl_passwd'
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_security_level = may


Soubor sasl_passwd vypadá následovně

smtp.domena.cz     username:password

Poté soubor musíme pro postfix vyrobit patřifnou tabulku

postmap hash:/etc/postfix/sasl_passwd

Tento příkaz vyrobí soubor

sasl_passwd.db

Ještě kontrola souboru pomoci file :-)

file sasl_passwd*
sasl_passwd:    ASCII text
sasl_passwd.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)

UPDATE:20160425
Dnes jsem řešil Postfix, který měl nastaven relayhost na Exchcange 2007, který ovšem nedisponoval AUTH LOGIN ale jen AUTL NTLM. Realizováno na CentOS 7. Je nutné doinstalovat NTLM podporu pro SASL.

rpm -qa | egrep 'sasl|ntlm|postfix'
cyrus-sasl-lib-2.1.26-20.el7_2.x86_64
libntlm-1.3-6.el7.x86_64
cyrus-sasl-2.1.26-20.el7_2.x86_64
cyrus-sasl-ntlm-2.1.26-20.el7_2.x86_64
postfix-2.10.1-6.el7.x86_64


Test pruchodnosti emailu.

telnet localhost 25
EHLO domena.cz
mail from:
rcpt to: data
From: zabbix@domena.cz
Subject: test mail from command line

this is test number 1
sent from linux box
.


Ve verzi Zabbix 3.0 je možno nastavovat SMTP i s autentizací a Postfix již není třeba.