Vsftpd(Very Secure File Transfer Protocol Daemon)は、Ubuntu、CentOS、Fedora、およびRHELLinuxディストリビューションのデフォルトのFTPサーバーです。 Vsftpdは、クライアントからリモートサーバーへのファイル転送、およびその逆のファイル転送に使用される、安定した高速で安全なFTPサーバーです。
Vsftpdは他の機能の中でもIPv6とTLSをサポートしており、SFTP(SSHファイル転送プロトコル)を使用してFTP over SSHを実行することもできますが、このチュートリアルでは、SSL/TLSを使用してFTPを保護する方法を学習します。 SSL / TLSサポートは、多くのインターネット通信フレームワークに組み込まれており、証明書の可視性により、認証の信頼性が高まります。
次のコマンドを使用してUbuntu20.04パッケージを更新することから始めます。
$ sudo apt update
次に、vsftpdのインストールに進むことができます:
$ sudo apt install vsftpd
次に、vsftpd -vを使用してvsftpのバージョンを確認できます。また、vsftpdサービスが次のコマンドを使用して実行されているかどうかも確認できます。
$ systemctl status vsftpd
/etc/vsftpd.confにある構成ファイルからvsftpdを構成できます
構成ファイルの編集を開始する前に、必ず元のファイルのコピーを作成してください。
これで、次のコマンドで構成ファイルを開くことができます:
$ sudo nano /etc/vsftpd.conf
デフォルトで有効になっている次の構成に気付くでしょう:
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
ユーザーがファイルやディレクトリを追加、変更、または削除できるようにする場合は、#write_enable =YESの行のコメントを解除する必要があります。 #を削除する シンボル。
次に、構成に次の行を追加することで、アクセスできるユーザーのリストを作成できます。
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
/etc/vsftpd.userlistは、アクセスを許可するユーザーを追加できるファイルになります。
次のコマンドでユーザーを追加できます:
echo "user" | sudo tee -a /etc/vsftpd.userlist
または、お気に入りのファイルエディタでファイルを開き、新しい行に各ユーザーの名前を追加することもできます。
構成ファイルでユーザーのChrootJailを有効にして、ユーザーが次の行のコメントを解除してホームディレクトリ外のファイルシステムにアクセスできないようにすることもできます。
chroot_local_user=YES
SSL/TLSを使用した送信の保護
FTPは、FTPセッション中にユーザー資格情報を含むデータを暗号化していません。そのため、セキュリティを強化するには、SFTPを使用するか、暗号化された転送にTLS/SSLを有効にする必要があります。サーバーを指すドメインがある場合は、Let’sEncryptの無料のSSL証明書を使用することもできます。 SSL証明書がインストールされている場合は、接続する前に証明書情報を確認して、適切なサーバーに接続していることを確認する必要があります。
次のコマンドを使用して、1年間有効な自己署名証明書を生成できます。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
それに応じて質問に答えることも、デフォルト値としてEnterキーを使用して質問をスキップすることもできます。
これにより、/ etc / ssl /private/ディレクトリに証明書と秘密鍵が生成されます。
次に、/ etc/vsftpd.conf構成ファイルを証明書と秘密鍵の場所に変更する必要があります。お好きなエディタで/etc/vsftpd.confを開き、値を正しい場所に変更し、SSLも有効にしてください。
...
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
...
ファイルを保存し、vsftpdサービスを再起動して、変更を有効にします。
systemctl restart vsftpd
FTPクライアントを使用して、FTPサーバーに安全に接続できるようになりました。このチュートリアルでは、FilezillaFTPクライアントを使用します。
FTP接続を作成するには、サイトマネージャーを開き、次のオプションを使用してサーバーに接続します。
ホストの場合 値はFTPサーバーのIPアドレスを使用し、「TLSを介した明示的なFTPが必要」を選択していることを確認してください 」暗号化のオプション。
接続をクリックした後 、証明書情報が表示され、「今後のセッションでは常にこの証明書を信頼する」を確認できます。 」今後のセッションでこのメッセージを受信したくない場合。
OKをクリックします ステータスに気付くでしょう TLS接続が確立され、FTPサーバーに正常に接続されていることを確認します。
もちろん、Ubuntu Hostingをご利用の場合は、Ubuntu20.04VPSにSSL/TLSを使用してVsftpdをインストールする必要はありません。管理者に聞いてリラックスしてください。管理者は、SSL/TLSを使用したVsftpdをUbuntu20.04にすぐにインストールします。
PS。 Ubuntu20.04VPSにSSL/TLSを使用してVsftpdをインストールする方法に関するこの投稿が気に入った場合は、下のボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。ありがとう。