Eu criei um arquivo /etc/stunnel/stunnel.conf com base no arquivo de exemplo de um túnel do gmail (regra gmail-imap em /usr/share/doc/stunnel4/examples/stunnel.conf-sample
):
[outlook365-imap]
client = yes
accept = 1.1.1.1:143
connect = outlook.office365.com:993
verifyChain = no
ao passo que 1.1.1.1 é o endereço IP da interface do servidor de encapsulamento.
Então comecei a stunnel com:
sudo service stunnel4 start
Para verificar se o túnel está funcionando, telnet para ele:
$telnet 1.1.1.1 143
Trying 1.1.1.1...
Connected to 1.1.1.1.
Escape character is '^]'.
* OK The Microsoft Exchange IMAP4 service is ready. [VgBJADEAUABSADAANwBDAEEAMAAxADcAMQAuAGUAdQByAHAAcgBkADAANwAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0A]
A1 LOGOUT
* BYE Microsoft Exchange Server 2016 IMAP4 server signing off.
A1 OK LOGOUT completed.
Connection closed by foreign host.
Com esta saída, confirmamos que o túnel TLS está funcionando corretamente.
Também testamos com um cliente do Windows Outlook apontado para 1.1.1.1:143 antes de apontar o aplicativo para o túnel. Isso funciona bem.
Adenda para iniciantes: por que isso funciona? Porque a maioria dos "novos" protocolos de Internet seguros são criados usando os antigos protocolos de texto simples com uma camada adicional de criptografia.