Ok, I see where you're going, and I guess I did neglect to give you more info.  
From the client ip, I can connect and check the certificate on port 587.  I'm 
also connected to the imap via 993 (working).  Further, when I attempt to send 
an email via 587, the mail.log shows my ip connecting, with my login.  But then 
the client connection hangs until timeout.

If a firewall rule existed then I would think it would block my attempt of 
openssl to look at the certificate.


On July 24, 2022 10:46:56 PM EDT, Sam Varshavchik <mr...@courier-mta.com> wrote:
>Greg Pfister writes:
>
>> Hi Sam,
>> 
>> This was a working server right up until the point that the certificate 
>> expired on Friday. Have made no changes to the firewall, routes, or config 
>> files. All I did was shutdown Courier services, change the one file that 
>> holds the certificates, etc. And started courier again. The only thing I had 
>> to do manually is the 10 or so couriertls running, had to kill those.
>> 
>> Again, no firewall changes made, nor any courier configuration files.
>
>It never hurts to start from step 1 with basic troubleshooting.
>
>It wasn't too long ago I forgot about a firewall rule I put in nearly a decade 
>ago after I caught various I-gizmos flooding my upstream bandwidth uploading 
>some garbage to 17.0.0.0/8. Now, the same meatbags that polluted my network 
>with their I-gizmos had a baulky I-gizmo that I was obligated to factory-reset 
>(as the only available nerd in the family), and it couldn't reach the 
>mothership. The basic troubleshooting located the firewall rule that I forgot 
>about.
>
>So, eliminate the basics, and verify that port 587 is reachable from the 
>client IPs. Once it's confirmed that port 587 answers a connection request and 
>you get an SMTP banner (since it starts in cleartext) you've eliminated that 
>part of the network stack, and can move on to the next layer in the software 
>stack.
>
>The next troubleshooting step is to attach strace with the -s 256 -f flags to 
>the couriettcpd process that's listening on port 587. An incoming connection 
>will log a fork and exec of courieresmtpd, which will exchange a few 
>pleasantries before forking and running couriertls. couriertls's strace log 
>will show:
>
>1. Both encrypted and unencrypted traffic, since it'll be simultaneously 
>talking on the encrypted socket and the unencrypted pipe to courieresmtpd
>
>2. Which files the couriertls process opens. This will include the certificate 
>files that it loads, for the connection. esmtpd-msa has its own config file. 
>It's not in the default config file but it's theoretically possible to 
>overwrite TLS_CERTFILE and have the port 587 daemon load its certificate from 
>a different file. If, instead of overwriting the expired
>cert file the new one was loaded and the esmtpd file updated, but not 
>esmtpd-msa, then that would do it. strace will show it. But that's unlikely. 
>If an expired cert is still being served I would expect the client to complain 
>instead of hanging.
>
>Alternatively, the new cert file's permissions could be wrong, couriertls 
>complains but its error message gets lost, but strace will show it. Still, 
>that should also result in a closed connection instead of a hang. A hang 
>strongly suggests a firewall issue.
>
>

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
_______________________________________________
Courier-imap mailing list
Courier-imap@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap

Reply via email to