We have most of our stuff behind Cloudflare.
However, some services such as mail (ex: mail.mydomain.com MX record) cannot be pushed through cloudflare and they expose our mail server's IP which makes it easy to discover where our infrastructure is located because they all share the same block and organization name (per ARIN whois).
Since our mail servers and VMs are at the same colo facility, knowing the IP of the mail server exposes the IP block and increases our attack surface. We host our own mail server using postfix/dovecot and it's not practical to move it to a public mail provider like Gmail.
So what I'd like to do is setup some type of a proxy, kind of like what Cloudflare does with web ports 80/443, on a public cloud instance, ex: AWS, and have our MX record pointed to that, and then accept incoming mail connections on port 25 and relay/proxy/tunnel anything that comes through that port to the real origin server.
I'm sure something like this must exist. And if not, does anyone have any clues as to how to setup a simple secure tunnel or proxy like this?
Thanks!