サーバー設定 · 2 min read · Dec 23, 2025

Ubuntu 18.04 LTSにTLSを使用してProFTPDをインストールする方法

ProFTPDは、Unix系オペレーティングシステム向けの無料でオープンソースの最も人気のあるFTPサーバーです。ProFTPDを使用すると、ローカルコンピュータとリモートサーバーの間にFTP接続を作成できます。これは、TLS(SSL)をサポートする多目的FTPサーバーです。

特徴

  • IPv4およびIPv6をサポート。
  • ディレクトリごとにセキュリティを確保するための.ftpaccessをサポート。
  • 複数の仮想FTPサーバーと匿名FTPサービスを構成できます。
  • シャドウパスワード、utmp/wtmp、SSL/TLS暗号化、およびRADIUSをサポート。
  • スタンドアロンサーバーまたはinetd/xinetdから実行できます。

このチュートリアルでは、ProFTPDをインストールし、Ubuntu 18.04サーバーでTLSを使用してセキュリティを強化する方法を学びます。

要件

  • Ubuntu 18.04を実行しているサーバー。
  • サーバーに設定された静的IPアドレス192.168.0.101。
  • サーバーに設定されたrootパスワード。

始めに

始める前に、システムを最新バージョンに更新する必要があります。次のコマンドを実行することでこれを行えます:

apt-get update -y  
apt-get upgrade -y

サーバーが更新されたら、変更を適用するためにサーバーを再起動します。

ProFTPDのインストール

デフォルトでは、ProFTPDはUbuntu 18.04のデフォルトリポジトリにあります。次のコマンドを実行するだけでインストールできます:

apt-get install proftpd -y

ProFTPDをインストールした後、次のコマンドでProFTPDサービスを開始し、ブート時に自動的に開始するように設定します:

systemctl start proftpd  
systemctl enable proftpd

次のコマンドでProFTPDサービスのステータスを確認できます:

systemctl status proftpd

次の出力が表示されるはずです:

? proftpd.service - LSB: Starts ProFTPD daemon
   Loaded: loaded (/etc/init.d/proftpd; generated)
   Active: active (running) since Sat 2019-05-25 09:18:19 UTC; 31s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 1 (limit: 1114)
   CGroup: /system.slice/proftpd.service
           ??1927 proftpd: (accepting connections)

May 25 09:18:19 ubuntu1804 systemd[1]: Starting LSB: Starts ProFTPD daemon...
May 25 09:18:19 ubuntu1804 proftpd[1906]:  * Starting ftp server proftpd
May 25 09:18:19 ubuntu1804 proftpd[1906]:    ...done.
May 25 09:18:19 ubuntu1804 systemd[1]: Started LSB: Starts ProFTPD daemon.

ProFTPDのデフォルト設定ファイルは/etc/proftpd/proftpd.confにあります。次のコマンドで確認できます:

cat /etc/proftpd/proftpd.conf

次の出力が表示されるはずです:

#
# /etc/proftpd/proftpd.conf -- これは基本的なProFTPD設定ファイルです。
# 変更を適用するには、デーモンモードで実行している場合は、変更後にproftpdを再読み込みしてください。
# inetd/xinetdモードでは必要ありません。
# 

# DSOモジュールを含む

Include /etc/proftpd/modules.conf

# IPv6サポートを無効にするにはオフに設定します。これはIPv4のみのボックスでは煩わしいです。
UseIPv6                         on
# 有効にすると、多くの場合、接続遅延が長くなる可能性があります。
IdentLookups                    off

ServerName                      "Debian"
# inetd/xinetdでproftpdを実行する場合のみinetdに設定します。
# 適切な設定に関する詳細はREADME.Debianを参照してください。
ServerType                              standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

# これを使用してすべてのユーザーをホームに監禁します
# DefaultRoot                   ~
# ポート21は標準FTPポートです。
Port                            21
MaxInstances                    30
# サーバーが通常実行されるユーザーとグループを設定します。
User                            proftpd
Group                           nogroup
# Umask 022は、新しいファイルとディレクトリがグループおよび世界に書き込み可能でないようにするための良い標準umaskです。
# (2番目のパラメータ)
Umask                           022  022
# 通常、ファイルは上書き可能であることを望みます。
AllowOverwrite                  on
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

上記の設定を必要に応じて次のように変更できます:

  • ServerName: デフォルトのサーバー名として変更できます。
  • UseIPV6: オフに変更して無効にできます。
  • DefaultRoot: この行のコメントを解除して、ユーザーをホームフォルダーに制限できます。
  • Port: 変更して独自のポートを定義できます。
  • SystemLog: ログファイルのデフォルトの場所。必要に応じて変更できます。

設定が完了したら、次のステップに進むことができます。

TLSでProFTPDを保護する

ProFTPDは現在インストールされています。次に、TLSを使用して安全なFTP接続のためにProFTPDを構成する必要があります。

始める前に、サーバーにOpenSSLをインストールする必要があります。次のコマンドを実行することでインストールできます:

apt-get install openssl -y

インストールが完了したら、次のコマンドでProFTPD用のSSL証明書を生成します:

openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

次のようにすべての質問に答えます:

Generating a 1024 bit RSA private key
.++++++
.......................++++++
writing new private key to '/etc/ssl/private/proftpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:Junagadh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IT
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:[email protected]

上記のコマンドは、/etc/ssl/private/proftpd.keyと/etc/ssl/certs/proftpd.crtの2つのファイルを生成します。

次に、次のコマンドで生成されたファイルに適切な権限を付与します:

chmod 600 /etc/ssl/private/proftpd.key  
chmod 600 /etc/ssl/certs/proftpd.crt

設定が完了したら、次のステップに進むことができます。

ProFTPDをSSLを使用するように構成する

次に、SSL証明書を使用するようにProFTPDを構成する必要があります。次のコマンドで/etc/proftpd/proftpd.confファイルを編集します:

nano /etc/proftpd/proftpd.conf

次の行のコメントを解除します:

Include /etc/proftpd/tls.conf

ファイルを保存して閉じたら、次に/etc/proftpd/tls.confファイルを開きます:

nano /etc/proftpd/tls.conf

次の行を変更します:

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRequired on
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off

ファイルを保存して閉じたら、次のコマンドでProFTPDサービスを再起動します:

systemctl restart proftpd

設定が完了したら、次のステップに進むことができます。

ProFTPD用のユーザーを作成する

次に、サーバーにアクセスするためのProFTPDユーザーを作成する必要があります。次のコマンドで行えます:

adduser ftp1

次のようにすべての質問に答えます:

Adding user `ftp1' ...
Adding new group `ftp1' (1006) ...
Adding new user `ftp1' (1002) with group `ftp1' ...
Creating home directory `/home/ftp1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for ftp1
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] Y

設定が完了したら、次のステップに進むことができます。

FileZillaを使用してProFTPDサーバーにアクセスする

ProFTPDは現在インストールされ、構成されています。クライアントシステムからFileZillaを通じてProFTPDにアクセスする時が来ました。

まず、クライアントシステムにFileZillaをインストールする必要があります。次のコマンドを実行することでインストールできます:

apt-get install filezilla -y

インストールが完了したら、次のようにUnityダッシュからFileZillaを開くことができます:

FileZilla FTP Client

次に、左側のパネルのサイトマネージャーをクリックし、新しいサイトを作成します。次のページが表示されるはずです:

TLS経由の安全なFTP接続

FTPサーバーのIPアドレスを入力し、プロトコルを選択し、暗号化を選択し、ログオンタイプを選択し、ユーザー名とパスワードを入力します。次に、接続ボタンをクリックします。次のページが表示されるはずです:

サーバーSSL証明書の受け入れ

証明書を受け入れ、「今後のセッションで常に証明書を信頼する」にチェックを入れて、OKボタンをクリックします。ログインに成功すると、次のページが表示されるはずです:

成功したFTPログイン

これで、SSL/TLSを介して安全にファイルを転送できるようになりました。

おめでとうございます!ProFTPDサーバーを正常にインストールし、SSL/TLS暗号化で保護しました。これで、ローカルコンピュータからFTPサーバーに安全にファイルを転送できます。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

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

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