systemadmin.es > Correo > postfix/smtp: certificate verification failed for … self-signed certificate

postfix/smtp: certificate verification failed for … self-signed certificate

Intentando configurar oportunistic TLS en postfix me encontré con el error de verificación del certificado (porque era autofirmado):

Dec 17 19:10:36 dlp1 postfix/pickup[1968]: D4FA7810BD: uid=0 from=
Dec 17 19:10:36 dlp1 postfix/cleanup[1974]: D4FA7810BD: message-id=<20141217151036.D4FA7810BD@dlp1.localdomain>
Dec 17 19:10:36 dlp1 postfix/qmgr[1969]: D4FA7810BD: from=<root@dlp1.localdomain>, size=434, nrcpt=1 (queue active)
Dec 17 19:10:36 dlp1 postfix/smtp[1976]: certificate verification failed for 192.168.56.101[192.168.56.101]:25: self-signed certificate
Dec 17 19:10:36 dlp1 postfix/smtp[1976]: D4FA7810BD: to=<jprats@systemadmin.es>, relay=192.168.56.101[192.168.56.101]:25, delay=0.13, delays=0.02/0.01/0.08/0.01, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 8E7798055B)
Dec 17 19:10:36 dlp1 postfix/qmgr[1969]: D4FA7810BD: removed

La opción smtp_tls_security_level=may se supone que no debería verificar el certificado, simplemente preferirlo a texto plano, pero nunca volver a texto plano porque el certificado fuese inválido. La configuración es la siguiente, en el servidor que manda el mail:

# TLS
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_tls_security_level=may

relayhost=192.168.56.101

Y la configuración del relay:

# TLS
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Si hacemos un tcpdump veremos que se inicia la conexión y se pasa a TLS:

16:10:37.569756 IP 192.168.56.101.25 > 192.168.56.104.52106: Flags [P.], seq 1:37, ack 1, win 227, options [nop,nop,TS val 3119528 ecr 4358961], length 36
	0x0000:  4500 0058 7e04 4000 4006 ca7d c0a8 3865  E..X~.@.@..}..8e
	0x0010:  c0a8 3868 0019 cb8a cdde e763 db06 5224  ..8h.......c..R$
	0x0020:  8018 00e3 f268 0000 0101 080a 002f 99a8  .....h......./..
	0x0030:  0042 8331 3232 3020 646c 7032 2e6c 6f63  .B.1220.dlp2.loc
	0x0040:  616c 646f 6d61 696e 2045 534d 5450 2050  aldomain.ESMTP.P
	0x0050:  6f73 7466 6978 0d0a                      ostfix..
16:10:37.570024 IP 192.168.56.104.52106 > 192.168.56.101.25: Flags [.], ack 37, win 229, options [nop,nop,TS val 4359026 ecr 3119528], length 0
	0x0000:  4500 0034 d114 4000 4006 7791 c0a8 3868  E..4..@.@.w...8h
	0x0010:  c0a8 3865 cb8a 0019 db06 5224 cdde e787  ..8e......R$....
	0x0020:  8010 00e5 b7f8 0000 0101 080a 0042 8372  .............B.r
	0x0030:  002f 99a8                                ./..
16:10:37.570221 IP 192.168.56.104.52106 > 192.168.56.101.25: Flags [P.], seq 1:24, ack 37, win 229, options [nop,nop,TS val 4359027 ecr 3119528], length 23
	0x0000:  4500 004b d115 4000 4006 7779 c0a8 3868  E..K..@.@.wy..8h
	0x0010:  c0a8 3865 cb8a 0019 db06 5224 cdde e787  ..8e......R$....
	0x0020:  8018 00e5 e324 0000 0101 080a 0042 8373  .....$.......B.s
	0x0030:  002f 99a8 4548 4c4f 2064 6c70 312e 6c6f  ./..EHLO.dlp1.lo
	0x0040:  6361 6c64 6f6d 6169 6e0d 0a              caldomain..
16:10:37.570232 IP 192.168.56.101.25 > 192.168.56.104.52106: Flags [.], ack 24, win 227, options [nop,nop,TS val 3119529 ecr 4359027], length 0
	0x0000:  4500 0034 7e05 4000 4006 caa0 c0a8 3865  E..4~.@.@.....8e
	0x0010:  c0a8 3868 0019 cb8a cdde e787 db06 523b  ..8h..........R;
	0x0020:  8010 00e3 b7e1 0000 0101 080a 002f 99a9  ............./..
	0x0030:  0042 8373                                .B.s
16:10:37.570539 IP 192.168.56.101.25 > 192.168.56.104.52106: Flags [P.], seq 37:176, ack 24, win 227, options [nop,nop,TS val 3119529 ecr 4359027], length 139
	0x0000:  4500 00bf 7e06 4000 4006 ca14 c0a8 3865  E...~.@.@.....8e
	0x0010:  c0a8 3868 0019 cb8a cdde e787 db06 523b  ..8h..........R;
	0x0020:  8018 00e3 f2cf 0000 0101 080a 002f 99a9  ............./..
	0x0030:  0042 8373 3235 302d 646c 7032 2e6c 6f63  .B.s250-dlp2.loc
	0x0040:  616c 646f 6d61 696e 0d0a 3235 302d 5049  aldomain..250-PI
	0x0050:  5045 4c49 4e49 4e47 0d0a 3235 302d 5349  PELINING..250-SI
	0x0060:  5a45 2031 3032 3430 3030 300d 0a32 3530  ZE.10240000..250
	0x0070:  2d56 5246 590d 0a32 3530 2d45 5452 4e0d  -VRFY..250-ETRN.
	0x0080:  0a32 3530 2d53 5441 5254 544c 530d 0a32  .250-STARTTLS..2
	0x0090:  3530 2d45 4e48 414e 4345 4453 5441 5455  50-ENHANCEDSTATU
	0x00a0:  5343 4f44 4553 0d0a 3235 302d 3842 4954  SCODES..250-8BIT
	0x00b0:  4d49 4d45 0d0a 3235 3020 4453 4e0d 0a    MIME..250.DSN..
16:10:37.570879 IP 192.168.56.104.52106 > 192.168.56.101.25: Flags [P.], seq 24:34, ack 176, win 245, options [nop,nop,TS val 4359027 ecr 3119529], length 10
	0x0000:  4500 003e d116 4000 4006 7785 c0a8 3868  E..>..@.@.w...8h
	0x0010:  c0a8 3865 cb8a 0019 db06 523b cdde e812  ..8e......R;....
	0x0020:  8018 00f5 74da 0000 0101 080a 0042 8373  ....t........B.s
	0x0030:  002f 99a9 5354 4152 5454 4c53 0d0a       ./..STARTTLS..
16:10:37.570953 IP 192.168.56.101.25 > 192.168.56.104.52106: Flags [P.], seq 176:206, ack 34, win 227, options [nop,nop,TS val 3119529 ecr 4359027], length 30
	0x0000:  4500 0052 7e07 4000 4006 ca80 c0a8 3865  E..R~.@.@.....8e
	0x0010:  c0a8 3868 0019 cb8a cdde e812 db06 5245  ..8h..........RE
	0x0020:  8018 00e3 f262 0000 0101 080a 002f 99a9  .....b......./..
	0x0030:  0042 8373 3232 3020 322e 302e 3020 5265  .B.s220.2.0.0.Re
	0x0040:  6164 7920 746f 2073 7461 7274 2054 4c53  ady.to.start.TLS
	0x0050:  0d0a                                     ..

A partir de aquí se intercambian los certificados y se entrega el mail usando la conexión cifrada incluso con el error del certificado. Por lo tanto, el error es totalmente engañoso, parece que se intente establecer la conexión cifrada, falle y se continúe en texto plano. En realidad, pero, se establece la conexión segura, falla la validación, pero entrega el mensaje igualmente por la conexión cifrada.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>