非常に安全なFTPデーモンとしても知られるVsftpdは、Unixライクなシステム用のFTPサーバーです。 FTPは、ネットワークを介して2台のコンピューター間でファイルをアップロード/ダウンロードするために使用される最も広く使用されている標準ネットワークプロトコルです。デフォルトでは、FTPは暗号化せずにユーザーの資格情報と一緒にデータを送信するため、安全ではありません。
このチュートリアルでは、SSL/TLSをサポートするVsftpdをUbuntu18.04サーバーにインストールする方法を学習します。
- Ubuntu18.04を実行しているサーバー。
- sudo権限を持つroot以外のユーザー。
- 静的IPアドレス192.168.0.102が構成されています。
Vsftpdをインストール
デフォルトでは、VsftpdはUbuntu18.04のデフォルトリポジトリで利用できます。したがって、次のコマンドを実行するだけで簡単にインストールできます。
sudo apt-get install vsftpd -y
Vsftpdがインストールされたら、Vsftpdサービスを開始し、起動時に開始できるようにします。
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
FTPのディレクトリ構造を作成する
開始する前に、FTPアクセス用のユーザーを作成する必要があります。
次のコマンドでユーザーを作成できます:
sudo adduser vsftp
次に、ftpディレクトリを作成し、次のコマンドで所有権を設定します。
sudo mkdir / home / vsftp / ftp
sudo chown nobody:nogroup / home / vsftp / ftp
sudo chmod a-w / home / vsftp / ftp
次に、ファイルをアップロードできるディレクトリを作成し、vsftpユーザーに所有権を付与します。
sudo mkdir / home / vsftp / ftp / test
sudo chown vsftp:vsftp / home / vsftp / ftp / test
Vsftpdを構成する
次に、FTPサーバーをセットアップするためにいくつかの構成を実行する必要があります。
まず、元の構成ファイルのバックアップを作成します。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
次に、vsftpd.confファイルを開きます:
sudo nano /etc/vsftpd.conf
次の行を追加します:
listen =NO listen_ipv6 =YES analog_enable =NO local_enable =YES write_enable =YES local_umask =022 dirmessage_enable =YES use_localtime =YES xferlog_enable =YES connect_from_port_20 =YES chroot_local_user =YES secure_chroot_dir =/ var / run / vsftpd / empty pam_service_name ==はいpasv_min_port=10000 pasv_max_port =11000 user_sub_token =$ USER local_root =/ home / $ USER / ftp userlist_enable =YES userlist_file =/ etc / vsftpd.userlist userlist_deny =NO
ファイルを保存して閉じます。上記の構成は、必要に応じて変更できます。
次に、vsftpユーザーを/etc/vsftpd.userlistファイルに追加して、FTPアクセスを許可する必要があります。
sudo nano /etc/vsftpd.userlist
次の行を追加します:
vsftp
ファイルを保存して閉じてから、Vsftpdサービスを再起動してこれらの変更を適用します。
sudo systemctl restart vsftpd
次に、Webブラウザーを開き、URL ftp://192.168.0.102を入力します。 、FTPにアクセスするためのユーザー名とパスワードの入力を求められます。 vsftpのユーザー名とパスワードを入力し、 OKをクリックします。 ボタン。次のページが表示されます:
SSL/TLSを使用したセキュアなVsftpd
次に、FTP経由で転送されるデータを暗号化するためにSSL/TLSを有効にする必要があります。
そのためには、そのための証明書を作成する必要があります。次のコマンドを使用して、OpenSSLを使用して証明書を作成できます。
sudo mkdir / etc / cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem
次に、vsftpd.confファイルを変更し、いくつかの変更を加える必要があります。
sudo nano /etc/vsftpd.conf
次の行を追加します:
rsa_cert_file =/ etc / cert / vsftpd.pemrsa_private_key_file =/ etc / cert / vsftpd.pemssl_enable =YESallow_anon_ssl =NOforce_local_data_ssl =YESforce_local_logins_ssl =YESssl_tlsv1 =YESslファイルを保存し、次のコマンドを使用してVsftpdを再起動します。
sudo systemctl restart vsftpdFTP over SSL/TLSにアクセス
ブラウザからSSL/TLS経由でFTPサーバーにアクセスすることはできません。したがって、FTPサーバーにアクセスするには、FileZillaFTPクライアントをインストールする必要があります。 FileZillaはFTPoverSSL/TLSをサポートしているためです。
次のコマンドを使用してFileZillaクライアントをインストールできます:
sudo apt-get install filezilla -yFileZillaをインストールしたら、Unityダッシュから開きます。次の画像が表示されます:
次に、ファイル>サイトマネージャーをクリックします。 。次の画像が表示されます:
ここで、新しいサイトを追加し、ホスト/サイト名を指定し、IPアドレスを追加し、使用するプロトコル、暗号化、およびログオンの種類を定義します。次に、接続をクリックします ボタン。次の画像が表示されます:
次に、SSL / TLS接続に使用されている証明書を確認し、[ OK]をクリックします。 FTPサーバーに接続するためにもう一度。次のページにFTPサーバーの内容が表示されます。
Ubuntu