FTPまたはファイル転送プロトコルは、FTPサーバーとの間でファイルを転送するための一般的なプロトコルです。ただし、データと機密情報をプレーンテキストで送信するため、セキュリティリスクが伴います。 VSFTPD (Very Secure FTP Daemon)は、サーバーと交換されるデータを保護するために暗号化を使用する、高速で安全かつ安定したFTPサーバーです。
このチュートリアルでは、vsftpdFTPサーバーをインストールします Debian 11 。
ステップ1:vsftpdパッケージをインストールする
まず、パッケージリストを更新し、Debianサーバーをアップグレードします。
# apt update
# apt upgrade
次に、vsftpdパッケージをインストールします。
# apt install vsftpd
インストールすると、vsftpdが自動的に起動します。これは、次のコマンドを実行して確認できます:
# systemctl status vsftpd.service
ステップ2:FTPユーザーを作成する
次に、FTPサーバーへのログインに使用する一意のFTPユーザーアカウントを作成します。 adduserを使用します コマンドの後にユーザーの名前を入力し、それに応じてプロンプトに応答します。
# adduser unixcop-user
ステップ3:許可されたログインユーザーのリストにFTPユーザーを追加します
次に、FTPユーザーを vsftp.userlistに追加します。 ファイル。このファイルで指定されたローカルユーザーには、FTPサーバーにアクセスするためのアクセス許可が付与されます。
# echo unixcop-user >> /etc/vsftpd.userlist
ステップ4:FTPユーザーディレクトリを作成する
次に、FTPユーザー用のFTPディレクトリを作成し、適切なディレクトリ権限と所有権を割り当てます。
# mkdir -p /home/unixcop-user/ftp-dir
# chmod -R 750 /home/unixcop-user/ftp-dir
# chown -R unixcop-user: /home/unixcop-user/ftp-dir
ステップ5:vsftpdサービスを構成する
次に、メインの構成ファイル /etc/vsftpd.confを編集して続行する必要があります。
# nano /etc/vsftpd.conf
デフォルトでは、匿名ユーザーにアクセスが許可されます。しかし、これはセキュリティ上の理由から私たちが望んでいることではありません。したがって、匿名ユーザーによるログインを無効にし、ローカルユーザーへのアクセスのみを許可します。
anonymous_enable=NO
local_enable=YES
次に、ローカルユーザーがファイルをアップロードしてホームディレクトリにアクセスできるようにし、示されているようにファイルに変更を加えることを許可する必要があります。
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
さらに、 /etc/vsftpd.userlist に含まれるユーザーのみを指定することで、ファイルにアクセスしてアップロードできるローカルユーザーを制限できます。 ファイル。
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
サーバーへの安全なFTP接続を提供するには、SSL証明書を使用してサーバーを暗号化する必要があります。 自己署名SSL証明書を生成します サーバーを暗号化します。これを行うには、コマンドを実行します。
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd-key.pem -out /etc/ssl/private/vsftpd-cert.pem
デフォルトの構成ファイル/etc/vsftpd.confに戻ります 、これらの行を貼り付けて、生成されたSSL証明書のパスを指定し、SSLを有効にします。
rsa_cert_file=/etc/ssl/private/vsftpd-cert.pem
rsa_private_key_file=/etc/ssl/private/vsftpd-key.pem
ssl_enable=YES
要約すると、構成ファイルには次の行が含まれている必要があります。
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
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=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
変更を有効にするには、サーバーを再起動します。
# systemctl restart vsftpd.service
# systemctl status vsftpd.service
ステップ5:vsftpdサーバーにアクセスする
これで構成は完了です。最後に、ファイアウォールが有効になっている場合は、ポート20と21を許可します。
# ufw allow 20/tcp
# ufw allow 21/tcp
# ufw reload
最後に、FileZillaなどのFTPクライアントを入手し、次のように詳細を入力します。
ホスト :サーバー-IP
ユーザー名: unixcop-user
パスワード :unixcop-userのパスワード
ディレクトリの一覧表示が成功すると、SSLを介してファイルを安全に転送できるようになります。
そして、そのように、 Debian11にvsftpdftpサーバーをインストールする方法を学びました。