GNU/Linux >> Linux の 問題 >  >> Panels >> Webmin

SSLトンネル

このページでは、STunnelプログラムとそれを設定するためのWebminモジュールが文書化されています。

SSLとSTunnelの概要

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

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

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

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

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

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

SSLトンネルモジュール

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

このモジュールは、Webminのメインメニューの[ネットワーク]カテゴリにあります。アイコンをクリックすると、以下のようなページが表示され、既存のすべてのトンネルが一覧表示されます。ページの下部には、変更を適用というラベルの付いたボタンがあります これをクリックすると、inetdまたはxinetdが再起動し、現在の構成がアクティブになります。


SSLトンネルモジュール

サーバーでプログラムが見つからない場合は、代わりに*STunnelコマンド/usr / bin/stunnelがシステムで見つかりませんでした*のようなエラーメッセージが表示されます。これは、インストールされていないか、モジュールがstunnelコマンドに対して間違ったディレクトリを検索していることを示している可能性があります。後者の場合、このページで後述する「SSLトンネルモジュールの構成」セクションで説明されているように、モジュールの構成を調整できます。

ただし、プログラムが実際にインストールされていない場合は、オペレーティングシステムのCDまたはWebサイトをチェックして、STunnelのパッケージが存在するかどうかを確認してください。その場合は、ソフトウェアパッケージモジュールを使用してインストールできます。それ以外の場合は、www.stunnel.orgからソースコードをダウンロードし、コンパイルしてインストールする必要があります。

SSLトンネルの作成と編集

一部のサービスをSSL暗号化で保護する場合は、新しいSSLトンネルを作成する必要があります。 2つの異なるタイプのトンネルを作成できます。1つはinetdのようにサーバープロセスを実行するもの、もう1つは非SSLモードで別のホストとポートに接続するものです。後者は、サーバーを暗号化されていないモードで実行している場合は簡単ですが、追加のネットワーク接続を作成する必要があるため、少し遅くなります。

トンネルを作成する前に、使用するポート番号を決定する必要があります。一部のプロトコルには標準のポート番号があります。たとえば、995は暗号化されたPOP3によく使用され、993は暗号化されたIMAPに使用されます。もちろん、選択したポート番号は、システム上の他のinetdサービスまたはサーバーで使用されてはなりません。

トンネルを作成するための手順は次のとおりです。

  1. モジュールのメインページで、新しいSSLトンネルの追加をクリックします。 既存のトンネルのテーブルの上または下にリンクします。図46-2に示す作成フォームがブラウザに表示されます。
  2. サービス名 フィールドに、このトンネルのinetdサービスの一意の名前( ssl-pop3 など)を入力します 。
  3. TCPポート フィールドに、トンネルが接続を受け入れる必要があるポート番号( 993 など)を入力します 。
  4. トンネルを一時的に無効にする場合を除いて、アクティブ?を設定します。 はいへのフィールド 。
  5. このトンネルでPOP3サーバーなどのプログラムを実行する必要がある場合は、inetdスタイルのプログラムを実行を選択します。 オプション。 プログラムへのパス フィールドに、サーバーへのフルパス( / usr / sbin / ipop3d など)を入力します 。 引数付き フィールドにプログラム名を入力し、その後に ipop3dなどのコマンドライン引数を入力します 。インターネットサービスおよびプロトコルモジュールで作成されたサービスと同様に、最初の引数としてプログラム名を含める必要があります。
  6. または、このトンネルが既存のサーバーに接続する必要がある場合は、リモートホストに接続を選択します。 オプション。次に、接続するホストを入力します( localhost など)。 )および使用するポート番号( 110 など) )*リモートホスト名および*リモートポート それぞれフィールド。
  7. SSL証明書とキーファイル フィールドは、この接続のためにクライアントに提示されるSSL証明書を決定します。 opensslコマンドを使用して独自の自己署名証明書または実際の証明書を生成した場合は、ファイル内の証明書を使用を選択します。 オプションを選択し、隣接するテキストボックスにファイルへのフルパスを入力します。それ以外の場合は、Webminの証明書を使用を選択できます WebminがSSLモードで使用するのと同じ証明書を使用するか、*コンパイル済みのデフォルト*でSTunnelソフトウェアに付属の証明書を使用します。独自の証明書を生成する場合は、ファイルに秘密鍵とPEM形式の証明書の両方が含まれていることを確認してください。
  8. リモートホストに接続する場合、STunnelは通常とは逆の動作をするように設定できます。 SSL接続を受け入れて復号化する代わりに、通常の接続を受け入れて暗号化し、別のSSL対応サーバーに接続することを選択できます。このモードは、通常を受け入れてSSLで接続を選択することで有効にできます *トンネルモード*フィールド。クライアントプログラムとサーバープログラムのどちらもSSLをサポートしていないが、それらの間のデータを暗号化する必要がある場合に便利です。 STunnelは、このモードでクライアントシステムにセットアップでき、*SSLを受け入れて通常接続*モードを使用するサーバーシステム上の別のSTunnelサービスに接続するように構成できます。
  9. 作成を押します ページの下部にあるボタンをクリックして、新しいサービスを追加します。
  10. モジュールのメインページに戻ったら、変更の適用をクリックします。 新しいトンネルをアクティブにします。


SSLトンネル作成フォーム

モジュールのメインページのリストにある名前をクリックすると、既存のトンネルのすべての詳細を編集できます。これにより、図46-2のような編集フォームが表示されますが、すべてのフィールドがすでに入力されています。変更を加えて保存を押すことができます。 ボタンをクリックして記録するか、削除をクリックします トンネルを完全に削除します。エーテルの方法、変更の適用 変更を有効にするには、メインページのボタンをクリックする必要があります。


Webmin
  1. WU-FTPDサーバー

  2. PPTPVPNサーバー

  3. SSLトンネル

  1. JabberIMサーバー

  2. PostgreSQLデータベースサーバー

  3. ProFTPDサーバー

  1. LDAPクライアント

  2. Squidプロキシサーバー

  3. サーバーを再起動します