FTP設定 · 1 min read · Nov 02, 2025

Fedora 18でPureFTPdをTLSセッションを受け入れるように設定する方法

FTPは非常に安全でないプロトコルであり、すべてのパスワードとすべてのデータが平文で転送されます。TLSを使用することで、通信全体を暗号化できるため、FTPははるかに安全になります。この記事では、Fedora 18サーバーでPureFTPdをTLSセッションを受け入れるように設定する方法を説明します。

1 前提条件

Fedora 18サーバーに動作するPureFTPdのセットアップが必要です。たとえば、次のチュートリアルに示されているように:Fedora 18でのPureFTPdとMySQLによる仮想ホスティング(クォータと帯域幅管理を含む)。

2 OpenSSLのインストール

TLSにはOpenSSLが必要です。OpenSSLをインストールするには、次のコマンドを実行します:

yum install openssl

3 PureFTPdの設定

/etc/pure-ftpd/pure-ftpd.confを開きます…

vi /etc/pure-ftpd/pure-ftpd.conf

FTP TLSセッションの両方を許可したい場合は、TLSを1に設定します:

| [...] # このオプションは3つの値を受け入れることができます: # 0 : SSL/TLS暗号化レイヤーを無効にします(デフォルト)。 # 1 : 従来のセッションと暗号化されたセッションの両方を受け入れます。 # 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否します。 # 匿名セッションを含みます。 # この設定を盲目的にコメント解除しないでください。次のことを確認してください: # 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、 # 2) 有効な証明書が存在すること、 # 3) 互換性のあるクライアントのみがログインすること。 TLS 1 [...] |

TLSセッションのみを受け入れたい場合(FTPなし)は、TLSを2に設定します:

| [...] # このオプションは3つの値を受け入れることができます: # 0 : SSL/TLS暗号化レイヤーを無効にします(デフォルト)。 # 1 : 従来のセッションと暗号化されたセッションの両方を受け入れます。 # 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否します。 # 匿名セッションを含みます。 # この設定を盲目的にコメント解除しないでください。次のことを確認してください: # 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、 # 2) 有効な証明書が存在すること、 # 3) 互換性のあるクライアントのみがログインすること。 TLS 2 [...] |

TLSをまったく許可しない場合(FTPのみ)は、TLSを0に設定します:

| [...] # このオプションは3つの値を受け入れることができます: # 0 : SSL/TLS暗号化レイヤーを無効にします(デフォルト)。 # 1 : 従来のセッションと暗号化されたセッションの両方を受け入れます。 # 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否します。 # 匿名セッションを含みます。 # この設定を盲目的にコメント解除しないでください。次のことを確認してください: # 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、 # 2) 有効な証明書が存在すること、 # 3) 互換性のあるクライアントのみがログインすること。 TLS 0 [...] |

4 TLS用のSSL証明書の作成

TLSを使用するためには、SSL証明書を作成する必要があります。私は/etc/ssl/private/に作成しますので、まずそのディレクトリを作成します:

mkdir -p /etc/ssl/private/

その後、次のようにSSL証明書を生成できます:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

国名(2文字コード)[XX]: <– あなたの国名を入力します(例:「DE」)。
州または県名(フルネーム)[]: <– あなたの州または県名を入力します。
市名(例:都市)[デフォルトの都市]: <– あなたの都市を入力します。
組織名(例:会社)[デフォルトの会社名]: <– あなたの組織名を入力します(例:あなたの会社名)。
組織単位名(例:部門)[]: <– あなたの組織単位名を入力します(例:「IT部門」)。
共通名(例:あなたの名前またはサーバーのホスト名)[]: <– システムの完全修飾ドメイン名を入力します(例:「server1.example.com」)。
メールアドレス[]: <– あなたのメールアドレスを入力します。

SSL証明書の権限を変更します:

chmod 600 /etc/ssl/private/pure-ftpd.pem

最後にPureFTPdを再起動します:

systemctl restart pure-ftpd.service

これで完了です。FTPクライアントを使用して接続を試みることができます。ただし、FTPクライアントをTLSを使用するように設定する必要があります。次の章でFileZillaを使用してこれを行う方法を説明します。

5 TLS用のFileZillaの設定

TLSを使用したFTPを利用するには、FileZillaのようなTLSをサポートするFTPクライアントが必要です。

FileZillaで、サーバーマネージャーを開きます:

PureFTPdを使用するサーバーを選択し、サーバータイプのドロップダウンメニューで通常のFTPの代わりにFTPESを選択します:

これでサーバーに接続できます。初めてこれを行う場合は、サーバーの新しいSSL証明書を受け入れる必要があります:

すべてがうまくいけば、サーバーにログインしているはずです:

6 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。