> On 17 Dec 2018, at 1:12 pm, Daniel Miller <dmil...@amfes.com 
> <mailto:dmil...@amfes.com>> wrote:
> Couple things I notice:
> 
> In ASSP - you have set:
> 
> listenPort:=25
> smtpDestination:=127.0.0.1:10026
> listenPortSSL:=
> smtpDestinationSSL:=127.0.0.1:126
> listenPort2:=
> smtpAuthServer:=SSL:127.0.0.1:126
> relayHost:=127.0.0.1:10026
> relayPort:=127.0.0.1:10025
> So - ASSP is globally listening on port 25, and will forward any connection 
> to 10026.  In the clear.
> 
> You have an override for explicit SSL connections to port 126.
> 
> And an authenticated connection target of 10026 - exclusively SSL.  However - 
> you don't declare listenPort2.  So ASSP isn't explicitly listening for 
> authentication and, unless I'm quite wrong (which is always a strong 
> possibility), the smtpAuthServer setting won't be used.
> 
> ASSP is listening for connections from Postfix on 10025 and will forward 
> those connections back to port 10026.
> 
> So - my initial ASSP summary:
> 
> ASSP listens openly on port 25, will forward clear connections to 10026 and 
> SSL connections to 126.  However - the SSL connection to Postfix is not 
> "forced".  Also the communication from & back to Postfix for relay is not 
> forced SSL either.
> 
> Next...Postfix:
> 
> 
> 127.0.0.1:10026    inet  n       -       n       -       -       smtpd
>    -o smtpd_sasl_auth_enable=yes
> 127.0.0.1:126      inet  n       -       n       -       -       smtpd
>   -o syslog_name=assptls
>   -o smtpd_tls_wrappermode=yes
>   -o smtpd_proxy_filter=
>   -o myhostname=mail.bordo.com.au <http://mail.bordo.com.au/>
> 465    inet  n       -       n       -       20       smtpd
>         -o smtpd_proxy_filter=127.0.0.1:10025
>         -o smtpd_client_connection_count_limit=100
> 
> Postfix is listening for authentication on port 10026 - without requiring SSL 
> (though it will support STARTTLS).
> 
> Postfix is listening for "forced" SSL connections on port 126.
> 
> And listening on port 465 where it will forward to port 10025.  Again without 
> requiring SSL.
> 
> So...
> 
> I'm guessing your Mail.app is using STARTTLS - it connects to Postfix on port 
> 465, which accepts the connection, forwards to ASSP on 10025, which returns 
> to Postfix at 10026 - at which time Postfix checks for authentication - and 
> then it continues on its way.
> 
> Thunderbird is probably trying to do "forced" SSL - which isn't being 
> listened for.
> 
> My initial recommendations:
> 
> * Move the "-o smtpd_sasl_auth_enable=yes" to your port 465 stanza.  This is 
> where the authentication should be.  
> 
> * Add (don't move) the "-o smtpd_tls_wrappermode=yes" to the port 465 stanza. 
>  This will enable "forced" SSL.
> 
> * Change ASSP's "smtpDestinationSSL" to "SSL:127.0.0.1:126"  (note the prefix 
> of "SSL:")
> 
> * The smtpAuthServer setting should be cleared so it's not confusing.
> 
> The new flow - port 25 continues as it was.  Which means both cleartext and 
> STARTTLS support (but NOT "forced" SSL).  Port 465 is now a dedicated SSL 
> listener which requires authentication before it passes Postfix - which then 
> forwards to ASSP via port 10025.  ASSP will forward that via port 10026.
> 
> I think after you do that...things might be a little better, although now 
> your Mail.app may need to be adjusted!  There may be something else we need 
> to adjust in Postfix but this should be close.
> 
> A purist might insist on adding SSL to ports 10025 & 10026 - but let's leave 
> that for later when everything else is working if you really want it.
Fantastic - thanks Daniel.

Much better.

Flow seems to all be working now.

Getting an ‘unsupported 8BITMIME’ error, but at least things are moving as they 
should:

Postfix:
2018-12-17 14:07:43.307573+1100 0x23afe    Activity    0x13c80              
7456   0    smtpd: (libsystem_info.dylib) Retrieve User by Name
2018-12-17 14:07:43.308955+1100 0x23afe    Activity    0x13c81              
7456   0    smtpd: (libsystem_info.dylib) Retrieve User by Name
2018-12-17 14:07:43.309674+1100 0x23afe    Activity    0x13c82              
7456   0    smtpd: (libsystem_info.dylib) Retrieve Group by Name
2018-12-17 14:07:43.324655+1100 0x23afe    Info        0x0                  
7456   0    smtpd: initializing the server-side TLS engine
2018-12-17 14:07:43.329393+1100 0x23afe    Activity    0x13c83              
7456   0    smtpd: (libsystem_info.dylib) Resolve user group list
2018-12-17 14:07:43.331755+1100 0x23afe    Info        0x0                  
7456   0    smtpd: connect from localhost[127.0.0.1]
2018-12-17 14:07:43.331802+1100 0x23afe    Info        0x0                  
7456   0    smtpd: setting up TLS connection from localhost[127.0.0.1]
2018-12-17 14:07:43.331900+1100 0x23afe    Info        0x0                  
7456   0    smtpd: localhost[127.0.0.1]: TLS cipher list 
"aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH"
2018-12-17 14:07:43.332153+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:before SSL initialization
2018-12-17 14:07:43.332228+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:before SSL initialization
2018-12-17 14:07:43.332382+1100 0x23afe    Info        0x0                  
7456   0    smtpd: localhost[127.0.0.1]: Decrypting session ticket, key 
expiration: 1545017636
2018-12-17 14:07:43.332484+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS read client hello
2018-12-17 14:07:43.332554+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS write server hello
2018-12-17 14:07:43.332651+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS write change cipher spec
2018-12-17 14:07:43.332755+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS write finished
2018-12-17 14:07:43.332931+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS write finished
2018-12-17 14:07:43.332973+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS read change cipher spec
2018-12-17 14:07:43.333053+1100 0x23afe    Info        0x0                  
7456   0    smtpd: SSL_accept:SSLv3/TLS read finished
2018-12-17 14:07:43.333108+1100 0x23afe    Info        0x0                  
7456   0    smtpd: localhost[127.0.0.1]: Reusing old session (RFC 5077 session 
ticket)
2018-12-17 14:07:43.333147+1100 0x23afe    Info        0x0                  
7456   0    smtpd: Anonymous TLS connection established from 
localhost[127.0.0.1]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 
bits)
2018-12-17 14:07:50.159699+1100 0x23b42    Default     0x0                  
7459   0    trivial-rewrite: warning: database 
/usr/local/etc/postfix/transport.db is older than source file 
/usr/local/etc/postfix/transport
2018-12-17 14:07:50.238231+1100 0x23afe    Activity    0x13c84              
7456   0    smtpd: (libsystem_info.dylib) Retrieve service by name
2018-12-17 14:07:50.303206+1100 0x23b45    Activity    0x13d20              
7460   0    smtpd: (libsystem_info.dylib) Retrieve User by Name
2018-12-17 14:07:50.303759+1100 0x23b45    Activity    0x13d21              
7460   0    smtpd: (libsystem_info.dylib) Retrieve User by Name
2018-12-17 14:07:50.304287+1100 0x23b45    Activity    0x13d22              
7460   0    smtpd: (libsystem_info.dylib) Retrieve Group by Name
2018-12-17 14:07:50.306555+1100 0x23b45    Info        0x0                  
7460   0    smtpd: initializing the server-side TLS engine
2018-12-17 14:07:50.308883+1100 0x23b45    Activity    0x13d23              
7460   0    smtpd: (libsystem_info.dylib) Resolve user group list
2018-12-17 14:07:50.310888+1100 0x23b45    Info        0x0                  
7460   0    smtpd: connect from localhost[127.0.0.1]
2018-12-17 14:07:50.665219+1100 0x23afe    Default     0x0                  
7456   0    smtpd: warning: proxy 127.0.0.1:10025 rejected "MAIL 
FROM:<jlbr...@bordo.com.au <mailto:jlbr...@bordo.com.au>> BODY=8BITMIME 
SIZE=1632": "502 MAIL FROM BODY=8BITMIME not supported"
2018-12-17 14:07:50.696493+1100 0x23b45    Info        0x0                  
7460   0    smtpd: disconnect from localhost[127.0.0.1] ehlo=1 quit=1 commands=2
2018-12-17 14:09:31.803134+1100 0x23afe    Info        0x0                  
7456   0    smtpd: lost connection after RCPT from localhost[127.0.0.1]
2018-12-17 14:09:31.803280+1100 0x23afe    Info        0x0                  
7456   0    smtpd: disconnect from localhost[127.0.0.1] ehlo=1 auth=1 mail=1 
rcpt=0/1 commands=3/4

ASSP:
Dec-17-18 14:07:50 [Worker_1] Info: try to connect to server at 127.0.0.1:10026
Dec-17-18 14:07:50 [Worker_1] Info: connected to server at 127.0.0.1:10026
Dec-17-18 14:07:50 [Worker_1] Connected: session:7FCD7D357A88 127.0.0.1:50567 > 
127.0.0.1:10025 > 127.0.0.1:50569 > 127.0.0.1:10026 , 21-22
Dec-17-18 14:07:50 [Worker_1] 127.0.0.1 info: injected '250-STARTTLS' offer in 
to EHLO reply
Dec-17-18 14:07:50 [Worker_1] 127.0.0.1 info: send '250-STARTTLS' - injected 
for 127.0.0.1
Dec-17-18 14:07:50 [Worker_1] 127.0.0.1 info: removed '250-STARTTLS' - it was 
already injected
Dec-17-18 14:07:50 [Worker_1] [unsupported_8BITMIME] 127.0.0.1 MAIL FROM 
BODY=8BITMIME not allowed
Dec-17-18 14:07:50 [Worker_1] 127.0.0.1 info: no (more) data readable from 
127.0.0.1 (connection closed by peer) - last command was 'QUIT'
Dec-17-18 14:07:50 [Worker_1] 127.0.0.1 disconnected: session:7FCD7D357A88 
127.0.0.1 - command list was 'EHLO,MAIL FROM,QUIT' - used 4 SocketCalls - 
processing time 0 seconds

Outlook says:
"Authentication failed because Outlook doesn't support any of the available 
authentication methods.”
Nothing in ASSP log.

Mail.app:
2018-12-17 14:17:55.732061+1100 0x25f42    Activity    0x14490              
7548   0    smtpd: (libsystem_info.dylib) Retrieve User by Name
2018-12-17 14:17:55.733971+1100 0x25f42    Activity    0x14491              
7548   0    smtpd: (libsystem_info.dylib) Retrieve User by Name
2018-12-17 14:17:55.734962+1100 0x25f42    Activity    0x14492              
7548   0    smtpd: (libsystem_info.dylib) Retrieve Group by Name
2018-12-17 14:17:55.742827+1100 0x25f42    Info        0x0                  
7548   0    smtpd: initializing the server-side TLS engine
2018-12-17 14:17:55.752790+1100 0x25f42    Activity    0x14493              
7548   0    smtpd: (libsystem_info.dylib) Resolve user group list
2018-12-17 14:17:55.756158+1100 0x25f42    Info        0x0                  
7548   0    smtpd: connect from localhost[127.0.0.1]
2018-12-17 14:17:55.756223+1100 0x25f42    Info        0x0                  
7548   0    smtpd: setting up TLS connection from localhost[127.0.0.1]
2018-12-17 14:17:55.756444+1100 0x25f42    Info        0x0                  
7548   0    smtpd: localhost[127.0.0.1]: TLS cipher list 
"aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH"
2018-12-17 14:17:55.756876+1100 0x25f42    Info        0x0                  
7548   0    smtpd: SSL_accept:before SSL initialization
2018-12-17 14:19:18.302683+1100 0x2555b    Info        0x0                  
7501   0    smtpd: disconnect from localhost[127.0.0.1] ehlo=1 quit=1 commands=2

Nothing in ASSP log.

So close!

James

> On 17 Dec 2018, at 1:12 pm, Daniel Miller <dmil...@amfes.com 
> <mailto:dmil...@amfes.com>> wrote:
> 
> Couple things I notice:
> 
> In ASSP - you have set:
> 
> listenPort:=25
> smtpDestination:=127.0.0.1:10026
> listenPortSSL:=
> smtpDestinationSSL:=127.0.0.1:126
> listenPort2:=
> smtpAuthServer:=SSL:127.0.0.1:126
> relayHost:=127.0.0.1:10026
> relayPort:=127.0.0.1:10025
> So - ASSP is globally listening on port 25, and will forward any connection 
> to 10026.  In the clear.
> 
> You have an override for explicit SSL connections to port 126.
> 
> And an authenticated connection target of 10026 - exclusively SSL.  However - 
> you don't declare listenPort2.  So ASSP isn't explicitly listening for 
> authentication and, unless I'm quite wrong (which is always a strong 
> possibility), the smtpAuthServer setting won't be used.
> 
> ASSP is listening for connections from Postfix on 10025 and will forward 
> those connections back to port 10026.
> 
> So - my initial ASSP summary:
> 
> ASSP listens openly on port 25, will forward clear connections to 10026 and 
> SSL connections to 126.  However - the SSL connection to Postfix is not 
> "forced".  Also the communication from & back to Postfix for relay is not 
> forced SSL either.
> 
> Next...Postfix:
> 
> 
> 127.0.0.1:10026    inet  n       -       n       -       -       smtpd
>    -o smtpd_sasl_auth_enable=yes
> 127.0.0.1:126      inet  n       -       n       -       -       smtpd
>   -o syslog_name=assptls
>   -o smtpd_tls_wrappermode=yes
>   -o smtpd_proxy_filter=
>   -o myhostname=mail.bordo.com.au <http://mail.bordo.com.au/>
> 465    inet  n       -       n       -       20       smtpd
>         -o smtpd_proxy_filter=127.0.0.1:10025
>         -o smtpd_client_connection_count_limit=100
> 
> Postfix is listening for authentication on port 10026 - without requiring SSL 
> (though it will support STARTTLS).
> 
> Postfix is listening for "forced" SSL connections on port 126.
> 
> And listening on port 465 where it will forward to port 10025.  Again without 
> requiring SSL.
> 
> So...
> 
> I'm guessing your Mail.app is using STARTTLS - it connects to Postfix on port 
> 465, which accepts the connection, forwards to ASSP on 10025, which returns 
> to Postfix at 10026 - at which time Postfix checks for authentication - and 
> then it continues on its way.
> 
> Thunderbird is probably trying to do "forced" SSL - which isn't being 
> listened for.
> 
> My initial recommendations:
> 
> * Move the "-o smtpd_sasl_auth_enable=yes" to your port 465 stanza.  This is 
> where the authentication should be.  
> 
> * Add (don't move) the "-o smtpd_tls_wrappermode=yes" to the port 465 stanza. 
>  This will enable "forced" SSL.
> 
> * Change ASSP's "smtpDestinationSSL" to "SSL:127.0.0.1:126"  (note the prefix 
> of "SSL:")
> 
> * The smtpAuthServer setting should be cleared so it's not confusing.
> 
> The new flow - port 25 continues as it was.  Which means both cleartext and 
> STARTTLS support (but NOT "forced" SSL).  Port 465 is now a dedicated SSL 
> listener which requires authentication before it passes Postfix - which then 
> forwards to ASSP via port 10025.  ASSP will forward that via port 10026.
> 
> I think after you do that...things might be a little better, although now 
> your Mail.app may need to be adjusted!  There may be something else we need 
> to adjust in Postfix but this should be close.
> 
> A purist might insist on adding SSL to ports 10025 & 10026 - but let's leave 
> that for later when everything else is working if you really want it.
> 
> 
> Daniel
> 
> On 12/14/2018 8:28 AM, Daniel Miller via Assp-test wrote:
>> Ok - so you have Postfix listening.  There's a few different choices 
>> available to have Postfix forward to ASSP.  I would recommend using 
>> Postfix's before-queue content filter method.
>> 
>> The entries you've setup in master.cf already are for mail that has been 
>> processed by ASSP and now needs delivery.  Again - before proceeding further 
>> you need to verify things work - clients can connect and authenticate and 
>> send via your existing ASSP/Postfix/Dovecot chain.
>> 
>> Now in master.cf:
>> 
>> 465      inet  n       -       n       -       20      smtpd
>>         -o smtpd_proxy_filter 
>> <http://www.postfix.org/postconf.5.html#smtpd_proxy_filter>=127.0.0.1:10025
>>         -o smtpd_client_connection_count_limit 
>> <http://www.postfix.org/postconf.5.html#smtpd_client_connection_count_limit>=10
>> Note the above address/port are arbitrary - pick what you want though the 
>> localhost address is appropriate given your setup.  The 
>> "smtpd_client_connection_count_limit" may be adjusted as needed.  It is also 
>> up to you whether or not to have additional validation checks in this 
>> Postfix listener (you should - let Postfix block out whatever it can before 
>> it touches ASSP otherwise there's not much point in this approach).
>> 
>> The "smtpd_proxy_filter" tells Postfix to forward mail to another server for 
>> processing prior to delivery.  So ASSP needs to be listening for that 
>> connection.  You can use the primary listeners listenPort, listenPort2, and 
>> listenPortSSL but probably a better choice is to configure ASSP with:
>> 
>>     relayPort=127.0.0.1:10025
>> That matches the setting in master.cf above - and that should do it.  To 
>> make it SSL - for the master.cf entry above for 465 add
>> 
>>     -o smtpd_tls_wrappermode=yes
>> and in ASSP make it
>> 
>>     relayPort=SSL:127.0.0.1:10025
>> Daniel
>> 
>> On 12/13/2018 7:13 PM, James Brown wrote:
>>>> On 13 Dec 2018, at 5:39 am, Daniel Miller <dmil...@amfes.com 
>>>> <mailto:dmil...@amfes.com>> wrote:
>>>> 
>>>> The "lsof -i" is a lower-case i (just confirming if it got auto-corrected 
>>>> by email spellcheck).
>>>> 
>>>> If "lsof" (or other tools) can't confirm an open port we've got other 
>>>> problems.  Need to get that part first.  What is expected:
>>>> 
>>>> # lsof -i :126
>>>> COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
>>>> master  1260 root  104u  IPv4  33860      0t0  TCP 
>>>> localhost.localdomain:126 (LISTEN)
>>>> 
>>>> Daniel
>>> Yes, Daniel, it was auto-correct in my email.
>>> 
>>> The reason I got nothing returned is because I did not run in sudo mode. 
>>> Now I get:
>>> 
>>> $ sudo lsof -i :10026
>>> Password:
>>> COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
>>> master  89692 root   85u  IPv4 0x1117b83fdbb9d20b      0t0  TCP 
>>> localhost:10026 (LISTEN)
>>> 
>>> $ sudo lsof -i :126
>>> COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
>>> perl    32559 root   25u  IPv4 0x1117b83fd26de50b      0t0  TCP 
>>> localhost:49213->localhost:nxedit (CLOSE_WAIT)
>>> master  89692 root   88u  IPv4 0x1117b83fdbb9e50b      0t0  TCP 
>>> localhost:nxedit (LISTEN)
>>> 
>>> James.
>> 
>> 
>> 
>> _______________________________________________
>> Assp-test mailing list
>> Assp-test@lists.sourceforge.net <mailto:Assp-test@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/assp-test 
>> <https://lists.sourceforge.net/lists/listinfo/assp-test>
>> 

_______________________________________________
Assp-test mailing list
Assp-test@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/assp-test

Reply via email to