GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にSSL/TLSを使用してVsftpdをインストールします

Vsftpd (つまり、非常に安全なFTPデーモン)は、Linuxおよびその他のUnixライクなシステム用のFTPサーバーソフトウェアです。 FTPサーバーソフトウェアは、クライアントコンピューターからサーバーへのファイル転送とその逆のファイル転送を容易にします。

このチュートリアルでは、Vsftpdをインストールする方法を学習します。 Ubuntu 20.04 SSL / TLSを介したセキュアファイル転送(FTPS)を有効にします。

前提条件

  • Ubuntu20.04Linuxシステム
  • sudo機能を持つユーザー
  • FileZillaなどのSSL対応のFTPクライアント

UbuntuにVsftpdをインストールする

Vsftpdは、デフォルトのUbuntuパッケージリポジトリで利用できます。以下のコマンドを使用して、利用可能なパッケージを更新することから始めることができます。

$ sudo apt update

次に、次のコマンドを実行してVsftpdをインストールします。

$ sudo apt install vsftpd

yと入力します インストールを続行するように求められた場合。

Vsftpdが正常にインストールされたら、以下のコマンドでバージョンを確認できます。

$ vsftpd -v

また、次のようにVsftpdサーバーのステータスを確認します。

$ sudo systemctl status vsftpd

vsftpd サービスはすでにアクティブになっているはずです。 qを押します コマンドプロンプトに戻ります。

vsftpdサービスがまだアクティブになっていない場合は、次のコマンドで開始できます。

$ sudo systemctl start vsftpd

Vsftpdを構成する

vsftpd用に構成できるオプションはたくさんありますが、このチュートリアルでは基本的なことだけを検討します。次のコマンドを使用して、vsftpd構成ファイルを開きます。

$ sudo nano /etc/vsftpd.conf

さまざまなvsftpdオプションが構成ファイルで十分に説明されていることがわかります。何を有効または無効にするかを理解するには、手順を読むだけです。以下にいくつかの例を示します。

匿名FTPアクセスを構成する

デフォルトでは、匿名FTPは無効になっています。このデフォルト設定はそのままにしておくことをお勧めします。ただし、何らかの理由でテスト目的で匿名FTPアクセスを有効にする場合は、 anonymous_enableの値を変更してください。 NOからYESまでのオプション。

今のところ、そのままにしておきます。

ローカルユーザーにログインを許可する

ローカルユーザーはデフォルトでログインできます。ローカルユーザーがVsftpdサーバーにログインできないようにする場合は、 local_enableの値を変更します。 はいからいいえへ。

特定のローカルユーザーのみにVsftpdサーバーへのログインを許可することもできます。そのためには、 local_enable YESに設定します。

その後、下に次の行を追加します。

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

vsftpd.confファイルを保存して閉じます。

次に、nextコマンドを使用してユーザーリストファイルを作成し、許可されたユーザーを1行に1つずつ入力します。

$ sudo nano /etc/vsftpd.userlist

ユーザーリストファイルを保存して閉じます。

次のコマンドでvsftpdを再起動します:

$ sudo systemctl restart vsftpd

FTP書き込みコマンドを有効にする

FTPユーザーがファイルを作成、削除、名前変更、保存できるようにするには、 write_enableのコメントを解除します。 オプションを選択し、YESに設定されていることを確認してください。

先に進む前に、Vsftpdサーバーにログインして、サーバーが機能していることを確認しましょう。今のところ、変更を保存して、vsftpd構成ファイルを閉じます。

Vsftpdサーバーにログイン

このために、テストユーザーを作成し、次のようにパスワードを割り当てましょう。

$ sudo useradd -m myftpuser
$ sudo passwd myftpuser

注: vsftpdユーザーリストを有効にした場合 以前は、それに応じてftpユーザーを/etc/vsftpd.userlistに追加することを忘れないでください。デフォルトでは、ユーザーはsshアクセスを使用できますが、FTPユーザーのシェルアクセスを無効にすることをお勧めします。

次に、FileZillaなどのSSL対応のFTPクライアントを起動し、新しく作成したテストユーザーを使用してログインします。

私の場合、FileZillaは、FTP over TLSをサポートしていないため、サーバーが安全でないことを通知しました。

接続をキャンセルします。次のセクションでこれを修正しましょう。

安全なファイル転送のためにSSL/TLSを有効にする

TLSを介した安全なファイル転送を有効にするには、次の手順に従います。

まず、以下のコマンドでvsftpd構成ファイルを開きます。

$ sudo nano /etc/vsftpd.conf

次に、 rsa_cert_fileを探します およびrsa_private_key_file オプションを選択し、以下に示すように値を更新します。

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

また、 ssl_enableを探します 値をYESに変更します。

ssl_enable=YES

vsftpd構成ファイルを保存して閉じます。

秘密鍵と証明書を生成する

ここで、秘密鍵を作成し、opensslを使用してTLS/SSL証明書を生成する必要があります。 FTPサーバーを指すドメインがある場合は、Let'sEncryptの無料SSL証明書を使用できます。

秘密鍵を生成するには、次のコマンドを実行します:

$ sudo openssl genrsa -out /etc/ssl/private/vsftpd.key

次に、以下のコマンドを使用して証明書署名要求を生成します。国、都市、メールアドレスなどの情報を入力するよう求められます。手順をよくお読みください。

$ sudo openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr

次に、次のように365日間有効な証明書を生成して署名します。

$ sudo openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem

次のコマンドでvsftpdを再起動します:

$ sudo systemctl restart vsftpd

Vsftpdサーバーへの接続を再試行してください。

確かに、今回はFileZillaがTLS経由で安全に接続できました。今後のセッションでこの証明書を常に信頼するオプションを安全に選択できます。次に、[ OK]をクリックします 接続を続行します。

FTP over TLSをサポートしていないコマンドラインを介してFTPサーバーに接続しようとすると、エラーが発生します。例:

$ ftp 192.168.100.168

これは、VsftpdサーバーがTLSを介した安全なファイル転送に対して実際に有効になっていることのもう1つの証拠です。

結論

このチュートリアルでは、Ubuntu20.04にVsftpdサーバーをインストールする方法を説明しました。また、TLSプロトコルを介した安全なファイル転送を有効にする方法についても説明しました。この記事では基本的なVsftpdオプションについてのみ説明しましたが、vsftpd構成オプションのマニュアルページで他のオプションを調べることができます。


Ubuntu
  1. Ubuntu20.04でSSL/TLSを使用してFTPサーバー(vsftpd)をインストールおよび構成する方法

  2. Ubuntu20.04にSSL/TLSを使用してVsftpdをインストールします-最良の手順?

  3. Ubuntu20.04にSSL/TLSを使用してVsftpdをインストールします

  1. VSFTPDを使用してCentOS7にFTPサーバーをインストールする方法

  2. vsftpdを使用してUbuntuにFTPサーバーをインストールする方法

  3. Ubuntu16.04にVSFTPDをインストールします

  1. Ubuntu20.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. Ubuntu18.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  3. Ubuntu15.04にTLSを使用してProftpdをインストールする方法