Open main menu

Wikipedia β

stunnel is an open-source multi-platform application used to provide universal TLS/SSL tunneling service.

Developer(s) Michał Trojnara
Stable release
5.44 / 26 November 2017; 5 months ago (2017-11-26)
Operating system Multi-platform
Type Proxy, Encryption
License GNU General Public License

stunnel can be used to provide secure encrypted connections for clients or servers that do not speak TLS or SSL natively.[1] It runs on a variety of operating systems,[2] including most Unix-like operating systems and Windows. stunnel relies on the OpenSSL library to implement the underlying TLS or SSL protocol.

stunnel uses public-key cryptography with X.509 digital certificates to secure the SSL connection. Clients can optionally be authenticated via a certificate too.[3]

If linked against libwrap, it can be configured to act as a proxy-firewall service as well.

stunnel is maintained by Michał Trojnara. Released under the terms of the GNU General Public License (GPL) with OpenSSL exception.

Example scenarioEdit

For example, one could use stunnel to provide a secure SSL connection to an existing non-SSL-aware SMTP mail server. Assume the SMTP server expects TCP connections on port 25. One would configure stunnel to map the SSL port 465 to non-SSL port 25. A mail client connects via SSL to port 465. Network traffic from the client initially passes over SSL to the stunnel application, which transparently encrypts/decrypts traffic and forwards unsecured traffic to port 25 locally. The mail server sees a non-SSL mail client.

The stunnel process could be running on the same or a different server from the unsecured mail application; however, both machines would typically be behind a firewall on a secure internal network (so that an intruder could not make its own unsecured connection directly to port 25).

Another typical example is to use it to bypass an overly secure firewall: You're on a LAN with no SSH access to the Internet, but the HTTPS protocol (port 443) can get through. Using stunnel it's possible to encapsulate an SSH connection with SSL.


External linksEdit