ProFTPDは、無料のオープンソースであり、Unixライクなオペレーティングシステムで最も人気のあるFTPサーバーです。 ProFTPDを使用すると、ローカルコンピューターとリモートサーバーの間にFTP接続を作成できます。これは、安全な接続のためにTLS(SSL)をサポートする多用途のFTPサーバーです。
機能
- IPv4およびIPv6をサポートします。
- ディレクトリごとに保護するための.ftpaccessをサポートします。
- 複数の仮想FTPサーバーと匿名FTPサービスを構成できるようにします。
- シャドウパスワード、utmp / wtmp、SSL / TLS暗号化、およびRADIUSのサポートを提供します。
- スタンドアロンサーバーとして、またはinetd/xinetdから実行できます。
このチュートリアルでは、ProFTPDをインストールし、Ubuntu18.04サーバーでTLSを使用して保護する方法を学習します
- Ubuntu18.04を実行しているサーバー。
- 静的IPアドレス192.168.0.101がサーバーに設定されています。
- ルートパスワードがサーバーに設定されています。
開始する前に、システムを最新バージョンに更新する必要があります。これを行うには、次のコマンドを実行します。
apt-get update -y
apt-get upgrade -y
サーバーが更新されたら、サーバーを再起動して変更を適用します。
ProFTPDをインストール
デフォルトでは、ProFTPDはUbuntu18.04のデフォルトリポジトリで利用できます。次のコマンドを実行するだけでインストールできます:
apt-get install proftpd -y
ProFTPDをインストールした後、次のコマンドを使用してProFTPDサービスを開始し、起動時に開始できるようにします。
systemctl start proftpd
systemctl enable proftpd
次のコマンドを使用して、ProFTPDサービスのステータスを確認できます。
systemctl status proftpd
次の出力が表示されます。
? proftpd.service-LSB:ProFTPDデーモンを起動しますロード済み:ロード済み(/etc/init.d/proftpd;生成済み)アクティブ:アクティブ(実行中)2019-05-25 09:18:19 UTC; 31秒前ドキュメント:man:systemd-sysv-generator(8)タスク:1(制限:1114)CGroup:/system.slice/proftpd.service ?? 1927 proftpd :(接続を受け入れる)5月25日09:18:19 ubuntu1804 systemd [1]:LSBの開始:ProFTPDデーモンを開始します...5月25日09:18:19ubuntu1804 proftpd [1906]:*ftpサーバーを開始しますproftpd5月25日09:18:19ubuntu1804 proftpd [1906]:...完了。5月25日09:18:19 ubuntu1804 systemd [1]:LSBを開始しました:ProFTPDデーモンを開始します。
ProFTPDのデフォルト設定ファイルは/etc/proftpd/proftpd.confにあります。次のコマンドで表示できます:
cat /etc/proftpd/proftpd.conf
次の出力が表示されます。
## /etc/proftpd/proftpd.conf-これは基本的なProFTPD構成ファイルです。#実際に変更を適用するには、デーモンモードで実行されている場合、変更後にproftpdをリロードします。 inetd / xinetdモードでは必要ありません。##DSOモジュールを含みます。多くの場合、遅延します。IdentLookupsoffServerName "Debian"#inetd / xinetdによってproftpdを実行する場合にのみinetdに設定します。#適切な構成の詳細については、README.Debianをお読みください。ServerTypestandaloneDeferWelcomeoffMultilineRFC2228 onDefaultServer onShowSymlinks onTimeoutNoTransfer 600TimeoutStalled 600TimeoutIdle1200 message trueListOptions "-l" DenyFilter \*。*/#これを使用して、自宅のすべてのユーザーを投獄します#DefaultRoot 〜#ポート21は標準のFTPポートです。ポート21MaxInstances 30#サーバーが通常実行されるユーザーとグループを設定します。ユーザーproftpdGroup nogroup#Umask 022は、新しいファイルとdirs#(2番目のパラメーター)が作成されないようにするための優れた標準umaskです。 group and world writable.Umask 022 022#通常、ファイルを上書き可能にします。AllowOverwriteonTransferLog /var/log/proftpd/xferlogSystemLog /var/log/proftpd/proftpd.log
以下に示すように、要件に応じて上記の設定を変更できます。
- サーバー名: デフォルトのサーバー名として変更できます。
- UseIPV6: オフに変更することで無効にできます。
- DefaultRoot: この行のコメントを解除して、ホームフォルダを持つユーザーを制限できます。
- ポート: ポートを変更することで、独自のポートを定義できます。
- SystemLog: ログファイルのデフォルトの場所。要件に応じて変更できます。
完了したら、次のステップに進むことができます。
TLSを使用したセキュアなProFTPD
これでProFTPDがインストールされました。次に、安全なFTP接続のためにTLSを使用して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
以下に示すように、すべての質問に答えてください。
1024ビットのRSA秘密鍵を生成します。++++++.......................++++++新しい秘密鍵を作成しますto'/etc/ssl/private/proftpd.key'-----証明書リクエストに組み込まれる情報の入力を求められます。入力しようとしているのは、いわゆる識別名またはDN。かなりの数のフィールドがありますが、空白のままにすることができます一部のフィールドにはデフォルト値があります。「。」と入力すると、フィールドは空白のままになります。-----国名(2文字のコード)[ AU]:INStateまたはProvince Name(フルネーム)[Some-State]:GUJLocality Name(eg、city)[]:JunagadhOrganization Name(eg、company)[Internet Widgits Pty Ltd]:ITOrganizational Unit Name(eg、section)[ ]:IT共通名(例:サーバーFQDNまたはあなたの名前)[]:HITESHEメールアドレス[]:[メール保護]
上記のコマンドは、2つのファイル/etc/ssl/private/proftpd.keyと/etc/ssl/certs/proftpd.crtを生成します。
次に、次のコマンドを使用して、生成されたファイルに適切な権限を付与します。
chmod 600 /etc/ssl/private/proftpd.key
chmod 600 /etc/ssl/certs/proftpd.crt
完了したら、次のステップに進むことができます。
SSLを使用するようにProFTPDを設定
次に、SSL証明書を使用するようにProFTPDを構成する必要があります。 /etc/proftpd/proftpd.confファイルを編集することでそれを行うことができます:
nano /etc/proftpd/proftpd.conf
次の行のコメントを解除します:
/etc/proftpd/tls.confを含める
終了したら、ファイルを保存して閉じます。次に、/ etc / proftpd/tls.confファイルを開きます。
nano /etc/proftpd/tls.conf
次の行を変更します:
TLSRSACertificateFile /etc/ssl/certs/proftpd.crtTLSRSACertificateKeyFile /etc/ssl/private/proftpd.keyTLSEngine onTLSLog /var/log/proftpd/tls.logTLSProtocol SSLv23TLSRequired onTLSOptions NoCertRequest EnableDiags NoSessionReuseRequiredTLS終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してProFTPDサービスを再起動します。
systemctl restart proftpd完了したら、次のステップに進むことができます。
ProFTPDのユーザーを作成
次に、サーバーにアクセスするためのProFTPDユーザーを作成する必要があります。次のコマンドで実行できます:
adduser ftp1以下に示すように、すべての質問に答えてください。
ユーザー`ftp1'を追加しています...新しいグループ`ftp1'(1006)を追加しています...グループ `ftp1'で新しいユーザー`ftp1'(1002)を追加しています...ホームディレクトリ `/ home/ftp1'を作成しています。 .. `/ etc / skel'からファイルをコピーしています...新しいUNIXパスワードを入力してください:新しいUNIXパスワードを再入力してください:passwd:パスワードが正常に更新されましたftp1のユーザー情報を変更する新しい値を入力するか、Enterキーを押してデフォルトのフルネーム[]:部屋番号[]:職場の電話[]:自宅の電話[]:その他[]:情報は正しいですか? [Y / n] Y完了したら、次のステップに進むことができます。
FileZillaを使用してProFTPDサーバーにアクセス
これでProFTPDがインストールおよび構成されました。次に、クライアントシステムからFileZillaを介してProFTPDにアクセスします。
まず、クライアントシステムにFileZillaをインストールする必要があります。次のコマンドを実行するだけでインストールできます:
apt-get install filezilla -yインストールが完了すると、以下に示すようにUnityダッシュからFileZillaを開くことができます:
![]()
次に、サイトマネージャーをクリックします 左側のパネルで、新しいサイトを作成します。次のページが表示されます:
![]()
次に、FTPサーバーのIPアドレスを入力し、プロトコルを選択し、暗号化を選択し、ログオンタイプを選択し、ユーザー名とパスワードを入力します。次に、接続をクリックします ボタン。次のページが表示されます:
![]()
次に、証明書を受け入れ、[今後のセッションで常に証明書を信頼する]にチェックマークを付け、 OKをクリックします。 ボタン。ログインに成功すると、次のページが表示されます。
![]()
これで、SSL/TLSを介してファイルを安全に転送できるようになりました。
おめでとう!これで、ProFTPDサーバーが正常にインストールおよび構成され、SSL/TLS暗号化で保護されました。これで、安全な暗号化を使用して、ファイルをローカルコンピューターからFTPサーバーに簡単に転送できます。ご不明な点がございましたら、お気軽にお問い合わせください。
Ubuntu