トランスポート層セキュリティーまたは Secure Sockets Layer を使用した FTP クライアントの保護

トランスポート層セキュリティー (TLS) または Secure Sockets Layer (SSL) 接続を使用して、ファイル転送プロトコル (FTP) の制御接続とデータ接続を使用して転送されるデータを 暗号化することができます。

制御接続において暗号化を使用する主な理由は、FTP サーバーに ログオンするときにパスワードを隠すためです。

FTP クライアントを使用して FTP サーバーへの接続を保護するにはまず、DCM を 使用して、FTP クライアント向けにトラステッド認証局を構成する 必要があります。接続する FTP サーバーに割り当てる証明書を作成するために使用した認証局を 追加する必要があります。使用する CA によって、認証局 (CA) の証明書のエクスポートや インポートが必要な場合があります。

制御接続に TLS または SSL 暗号方式を選択した場合、FTP クライアントはデフォルトで FTP データ接続で 送信されるデータも暗号化します。FTP プロトコルでは、セキュアな制御接続を行わないと セキュアなデータ接続を確立できません。

暗号化はパフォーマンス・コストが非常に高いため、データ接続では 回避することができます。回避することで、パフォーマンスを悪化させずに機密ではない ファイルを転送でき、パスワードが明らかにされないので、依然としてシステムの セキュリティーが保護されます。

FTP クライアントには STRTCPFTP CL コマンド およびサブコマンドのパラメーターがあり、TLS または SSL サポート (SECOpen と SECData) の一部として使用されます。

IBM i FTP クライアントのトランスポート層セキュリティーまたは Secure Sockets Layer 保護の指定

制御接続
TLS/SSL 保護は、STRTCPFTP コマンドおよび SECOPEN サブコマンドで指定できます。

STRTCPFTP (FTP) コマンドの場合、SECCNN セキュア接続パラメーターに *SSL を指定して、 セキュアな制御接続を要求します。また、*IMPLICIT を指定して、事前定義されたサーバーの ポート番号でセキュアな接続を取得することもできます。

FTP クライアントのセッションでは、SECOPEN サブコマンドを使用して、 セキュアな制御接続を取得できます。

データ接続
STRTCPFTP (FTP) コマンドの場合、セキュアなデータ接続を指定するには、DTAPROT データ保護パラメーターに *PRIVATE を入力します。データを暗号化しないで送信することを 指定するには、DTAPROT データ保護パラメーターに *CLEAR を入力します。

セキュアな制御接続を確立したら、SECDATA サブコマンドを使用してデータ接続の 保護レベルを変更できます。

暗黙 SSL 接続
一部の FTP サーバーでは、暗黙 SSL 接続と呼ばれるものが サポートされます。この接続では、*SSL オプションと同じ暗号化保護が提供されますが、 この接続は、事前定義されたサーバー・ポート (通常は 990) でのみ可能です。 ここでは、SSL または TLS 接続の折衝が行われることを考慮してサーバーを構成する必要があります。

この方法は、TLS または SSL 保護を行う標準プロトコルをサポートできない FTP インプリメンテーションへの接続を保護するために使用されます。

SSL サポートの初期のインプリメンテーションの多くで暗黙の接続方法が使用されましたが、 現在は推奨されておらず、IETF からも反対されています。

注:

TLS または SSL 接続をセットアップするための標準プロトコルでは、 FTP サーバーが接続されているときに、AUTH (許可) サーバー・サブコマンドの使用を 必要とします。また、サーバー・サブコマンドの PBSZ と PROT は、データ保護レベルを 指定するときに使用されます。

しかし、暗黙 SSL 接続の場合、AUTH、PBSZ、および PROT サーバー・サブコマンドは、 FTP サーバーに送信されません。代わりに、サーバーは、クライアントが 以下のパラメーターを指定してこれらサブコマンドを送信したかのように動作します。

  • AUTH SSL
  • PBSZ 0
  • PROT P