SSLは、データがネットワーク上を移動するときに、TCP接続でデータを暗号化するためのプロトコルです。もともとはWebブラウザーとサーバー間のトラフィックを保護するために開発されましたが、通常はTCPプロトコルを介して送信されるあらゆる種類のデータストリームを暗号化するために使用できます。

SSLプロトコルを使用すると、クライアントとサーバーが相互に認証され、クライアントが実際にホストと接続していることを確認できます。これは、クライアントが（認証できるように）認識した認証局によって発行され、特定のホスト名に関連付けられた証明書を使用して行われます。証明書がないと、攻撃者はSSL接続を自分のサーバーにリダイレクトし、実際のサーバーと通信していると考えるクライアントから機密情報を取得する可能性があります。

暗号化されていない状態でインターネット上を移動するデータは、通過するネットワークの1つにアクセスできる攻撃者がキャプチャして読み取ることができます。 LAN上のクライアントとサーバーシステムの間を移動するデータでさえ、簡単に聞くことができます。 Telnet、FTP、またはPOP3サーバーに接続すると、パスワードがネットワーク経由で送信されるため、攻撃者がパスワードを取得する可能性があります。

SSLは、このような状況でデータを保護するために使用できますが、クライアントとサーバーの両方がサポートしている場合に限られます。ほとんどのWebブラウザーとメールクライアントはSSL暗号化されたHTTP、POP3、IMAP接続を作成できますが、すべてのWebサーバーとPOP3サーバーがそれらを受け入れることができるわけではありません。特にPOP3は、ほとんどのUnixシステムに付属する標準サーバーがSSLをまったくサポートしていないため、保護するのが困難です。幸いなことに、解決策があります-STunnel。

STunnelは、暗号化されていない接続をSSL暗号化された接続に変換するシンプルなプログラムです。これは通常、inetdやxinetdなどのスーパーサーバーから実行するように設定されており、SSLをサポートしないPOP3サーバーなどの他のプログラムを実行します。この設計により、Telnet、NNTP、IMAPサーバーなど、通常inetdから実行されるサーバーを保護できます。

ただし、SSLモードで使用するクライアントが存在しないため、すべてのサーバーを暗号化で効果的に保護できるわけではありません。たとえば、共通のSSHパッケージでは暗号化されたリモートログインとファイル転送がすでに許可されているため、SSLを使用できるTelnetまたはFTPクライアントについては聞いたことがありません。

このWebminモジュールを使用すると、STunnelを実行してサーバープログラムを起動するスーパーサーバーサービスを簡単に設定できます。これはインターネットサービスモジュールを使用して手動で実行できますが、STunnelのセットアップと構成用に特別に設計されています。 inetdまたはxinetdがインストールされているかどうかを自動的に検出し、既存のSSLトンネルを確認するためにそれらの構成を読み取り、新しいトンネルを作成するときにそれらを追加します。両方がインストールされている場合、新しいSSLトンネルはxinetd構成に追加されます。これは、私の見解では、2つのうち優れているためです。