Contents
1.vsftpdインストール
①ダウンロードサイトからvsftpd-3.0.3-33.el8.x86_64.rpm をwgetで/usr/local/src/へダウンロード
[root@Lepard ~]# cd /usr/local/src/ src]# wget ftp://ftp.pbone.net/mirror/ftp.centos.org/8-stream/AppStream/x86_64/os/Packages/vsftpd-3.0.3-33.el8.x86_64.rpm src]# rpm -ivh vsftpd-3.0.3-33.el8.x86_64.rpm |
➁ vsftpd の設定の編集
編集前の vsftpd.conf を .bak を付けて保存 src]# cp /etc/vsftpd/vsftpd.conf /home/tama/vsftpd.conf.bak src]# vi /etc/vsftpd/vsftpd.conf ■12行目 匿名ログイン禁止 anonymous_enable=NO ■40行目:転送記録をログに残す xferlog_enable=NO ■82,83行目 コメント解除 ( アスキーモードでの転送を許可 ) ascii_upload_enable=YES ascii_download_enable=YES ■100,101行目:コメント解除 ( chroot有効 ) chroot_local_user=YES chroot_list_enable=YES ■103行目 コメント解除 ( chroot リストファイル指定 ) chroot_list_file=/etc/vsftpd/chroot_list ■109行目 コメント解除 ( ディレクトリごと一括での転送有効 ) ls_recurse_enable=YES ■114行目 変更 ( IPv4を有効にする ) listen=YES ■123行目 変更 ( IPv6 は、無視させる ) listen_ipv6=NO ■### 最終行へ追記 ### # ローカルタイムを使う use_localtime=YES |
➂上層への ディレクトリへのアクセスを許可するユーザーを追加
src]# vi /etc/vsftpd/chroot_list 新規作成 <一般ユーザー名> または src]# echo“<一般ユーザー名>” >> /etc/vsftpd/chroot_list |
④ hosts.allowとhosts.denyの設定( IPアドレスの制限 )
この設定は、hosts.allow が優先されます。つまり、全てを拒否し、hosts.allow で指定された IPアドレスは、許可になります
/etc/hosts.deny に、 vsftpd:ALL ( すべての接続を拒否 )と書込む src]# vi /etc/hosts.deny vsftpd:ALL または src]#echo “vsftpd:ALL” >> /etc/hosts.deny/etc/hosts.allow で接続を許可するIPアドレスを指定 src]# vi /etc/hosts.allow vsftpd:192.168.11.0/24 (11の部分は自環境に合わす) または src]#echo “vsftpd:192.168.11.0/24” >> /etc/hosts.allow |
⑤vsftpd の自動起動を有効にし、起動する
src]# systemctl enable vsftpd src]# systemctl start vsftpd |
⑥windows 側から、ffftp で接続できるか確認する
2.vsftpd SSL/TLS化
①自己署名の証明書を作成する(Let’s Encrypt 等の信頼された正規の証明書を使用する場合は不要)
src]# cd /etc/pki/tls/certs openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem /certs/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem a:2048 -keyout /etc/pki/tls/ Generating a RSA private key ………………………………………….+++…………………..+++ writing new private key to ‘/etc/pki/tls/certs/vsftpd.pem’You are about to be asked to enter information that will be incorporated into your certificate request What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ‘.’, the field will be left blank.Country Name (2 letter code) [XX]:JP State or Province Name (full name) []:<都道府県名> Locality Name (eg, city) [Default City]:<市町村名> Organization Name (eg, company) [Default Company Ltd]:<組織名> Organizational Unit Name (eg, section) []:<組織内ユニット名> Common Name (eg, your name or your server’s hostname) []:<組織/サーバー名> Email Address []:<管理者メールアドレス> src]# chmod 600 vsftpd.pem |
② Vsftpd の設定
src]# vi /etc/vsftpd/vsftpd.conf # 最終行に追記:SSL/TLS 有効化 rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ssl_enable=YES force_local_data_ssl=YES force_local_logins_ssl=YES |
src]# systemctl restart vsftpd |
③ Firewalld を有効にしている場合は、パッシブポートの許可
src]# vi /etc/vsftpd/vsftpd.conf # 最終行に追記 # 任意の範囲のポートでパッシブポートを固定 pasv_enable=YES pasv_min_port=60000 pasv_max_port=60100 |
src]# systemctl restart vsftpd |
④ 固定したパッシブポートを許可
src]# firewall-cmd –add-port=60000-60100/tcp –permanent success src]# firewall-cmd –reload success |