FTP 、ファイル転送プロトコルの略 は、サーバー上にあるファイルへのアクセスを提供するプロトコルです。これは、ユーザーがインターネット経由でファイルをダウンロードできるようにした最も初期のプロトコルの1つです。 FTPプロトコルを使用すると、ユーザーはサーバーにファイルを簡単にダウンロードおよびアップロードできます。
Vsftpd 、非常に安全なFTPデーモンの略 は、FTPプロトコルのアップグレードである安全なFTPデーモンです。サーバーとの間で送受信されるトラフィックを暗号化することにより、FTPサーバーへの安全な接続を強化します。これにより、ファイル転送はハッカーから安全に保護されます。
このトピックでは、CentOS 8 /RHEL8へのvsftpdのインストールにスポットライトを当てます。
ステップ1)dnfコマンドを使用してvsftpdをインストールします
すぐに、vsftpdをインストールします。これを実現するために、以下のコマンドを実行します:
$ sudo dnf install vsftpd
「y」を押します ’とEnterキーを押して、インストールを開始します。インストールには数秒かかり、すぐに完了します。以下の出力は、vsftpdが正常にインストールされたことを確認します。
出力は、vsftpdバージョン3.0.3-31.el8.x86_64がインストールされたことを示しています。これを確認するには、次のコマンドを実行します。
[[email protected] ~]$ rpm -q vsftpd vsftpd-3.0.3-31.el8.x86_64 [[email protected] ~]$
インストールが正常に完了すると、出力は端末に印刷されたバージョンと一致するはずです。 Vsftpdに関する詳細情報を取得するには、次のように最後に-iフラグを追加します。
$ rpm -qi vsftpd
これにより、アーキテクチャ、インストール日、ライセンス、署名などの追加情報が画面に印刷されます。
vsftpdをインストールしたら、ファイル共有へのアクセスを容易にするために実行する必要があります。
vsftpdサービスを開始するには、次のコマンドを実行します。
$ sudo systemctl start vsftpd
再起動時に自動的に起動するようにすることもできます。これを実現するには、コマンドを実行します
$ sudo systemctl enable vsftpd --now
システムでvsftpdのステータスを確認するには、次のコマンドを実行します。
$ sudo systemctl status vsftpd
「アクティブ:(実行中)が表示された場合 ターミナルに示されているように緑色の「」ディレクティブが表示されると、vsftpdサービスが稼働しています。
ステップ2)ftpユーザーとそのディレクトリを作成します
次に、FTPサーバーへのアクセスに使用するユーザーを作成します。この場合、ユーザーはftpuserになりますが、ユーザーに任意の名前を付けてください。
$ sudo adduser ftpuser $ sudo passwd ftpuser
FTPユーザーを配置したら、次にFTPディレクトリを作成し、次のアクセス許可とディレクトリ所有権を割り当てます。
$ sudo mkdir -p /home/ftpuser/ftp_dir $ sudo chmod -R 750 /home/ftpuser/ftp_dir $ sudo chown -R ftpuser: /home/ftpuser/ftp_dir
また、FTPユーザーを / etc / vsftpd / user_listに追加する必要があります ユーザーがvsftpサーバーにアクセスできるようにするファイル。
$ sudo bash -c 'echo ftpuser >> /etc/vsftpd/user_list'
ステップ3)構成ファイルを介してvsftpdを構成します
これまでのところ、vsftpdが稼働していることをインストールして確認することができました。ユーザーがサーバーにアクセスできるようにするには、Vsftpdをさらに調整する必要があります。
vsftpdのデフォルトの設定ファイルは/etc/vsftpd/vsftpd.confファイルです。このファイルには、FTPサーバーのセキュリティを強化するのに役立つディレクティブがたくさんあります。
このセクションでは、構成ファイルにいくつかの調整を加え、ユーザーがサーバーにアクセスできるようにします。
ローカルユーザーがFTPサーバーにリモートでアクセスできるようにし、匿名ユーザーをブロックするには、次のようなディレクティブがあることを確認してください。
anonymous_enable=NO local_enable=YES
FTPコマンドを実行し、ファイルのアップロード、ダウンロード、削除などの変更を行う権限をユーザーに付与するには、次の行を配置します。
write_enable=YES
セキュリティ上の理由から、ユーザーがホームディレクトリ外のファイルやディレクトリにアクセスすることを制限することを選択できます。したがって、次のディレクティブを用意してください。
chroot_local_user=YES
ユーザーにそれぞれのホームディレクトリへの書き込みアクセスを許可するには、このディレクティブがあることを確認してください。
allow_writeable_chroot=YES
次に、パッシブFTP接続を有効にするカスタムポートを定義します。この場合、ポート30000と31000を指定します。後で、これらをファイアウォールで開きます。
pasv_min_port=30000 pasv_max_port=31000
次に、 / etc / vsftpd / user_listで定義されたユーザーのみを許可します サーバーにアクセスし、残りをブロックします。これを実現するには、以下の行を用意してください。
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
最後に、ファイルを保存して閉じます。変更を保持するには、Vsftpdサービスを再起動します。
$ sudo systemctl restart vsftpd
この時点で、を実行してFTP接続をテストできます
$ ftp ip-address
ftpユーザーのユーザー名を指定し、後でパスワードを入力します。図のような出力が得られるはずです。
vsftpdサーバーへの接続を確立しましたが。接続は安全ではなく、送信される情報はプレーンテキストであり、暗号化されていません。したがって、サーバーに送信される通信を暗号化するために追加の手順を実行する必要があります。
ステップ4)vsftpdのSSL/TLSを構成する
サーバーとクライアントシステム間の通信を暗号化するには、TLS証明書を生成し、後でそれを使用するようにサーバーを構成する必要があります。
証明書を生成するには、次のコマンドを実行します。
$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
これに続いて一連のプロンプトが表示され、国名、州または県、組織名などのいくつかの詳細を入力する必要があります。図のように、それに応じてすべての詳細を入力します。
また、証明書ファイルが保存されている場所をサーバーに通知する必要があります。したがって、構成ファイル/etc/vsftpd/vsftpd.confに戻り、証明書ファイルへのパスを指定します。
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd.pem
次に、SSLをオンにするようにサーバーに指示します。
ssl_enable=YES
構成ファイルを保存して終了します。上記の変更を有効にするには、vsftpdサービスを再起動します。
$ sudo systemctl restart vsftpd
ステップ5)ファイアウォールでftpサーバー(vsftpd)ポートを許可する
ファイアウォールを実行している場合は、これらの重要なポートを許可する必要があります」
- 20 –FTPトラフィックを許可する
- 21 –FTPデータポート
- 30000-31000 –FTPサーバーとのパッシブ通信を可能にします。
したがって、以下のコマンドを実行します。
$ sudo firewall-cmd --permanent --add-port=20-21/tcp $ sudo firewall-cmd --permanent --add-port=30000-31000/tcp
次に、ファイアウォールをリロードして変更を有効にします。
$ sudo firewall-cmd --reload
ステップ6)vsftpdまたはFTPサーバーをテストします
すべての設定が完了したら、接続をテストします。この例では、FileZillaと呼ばれるFTPクライアントを使用しています。これは、クライアントシステムとサーバーシステムの両方で無料のFTPクライアントです。プレーンFTPとFTPoverTLSの両方をサポートします。これをテストします。
起動すると、インターフェイスは次のようになります。ホストのIPアドレス(vsftpd)、ftpユーザーのユーザー名とパスワードを入力し、[クイック接続]をクリックします。 ’ボタン。
その後すぐに、FTPサーバーの証明書とセッションの詳細を示すポップアップが表示されます。接続を続行するには、[今後のセッションでこの証明書を常に信頼する]をクリックし、Enterキーを押します。
すべての構成が正しい場合は、示されているように問題なくエントリを取得する必要があります。右下のペインに、図のようにリモートサーバーのホームディレクトリが表示されます。これで、適切と思われるファイルをアップロード、ダウンロード、編集できるようになりました。
これで、CentOS 8へのvsftpdのインストールに関するトピックは終わりです。これで、独自のvsftpd(セキュアftp)サーバーを快適にセットアップできるようになることを願っています。技術的な友人と共有してください。また、貴重なフィードバックやコメントも共有してください。
また読む :Logrotateを使用してLinuxでログファイルを回転および圧縮する方法
また読む : CentOS 8にMemcached(キャッシュサーバー)をインストールする方法