サーバを作り直ししていて、FTPサーバも作り直しになりました。
そんなメモです。
FreeBSD 11.0での例です。
インストールを開始します。
#pkg install vsftpd-ssl reeBSD repository update completed. 25859 packages processed. The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: vsftpd-ssl: 3.0.3 Number of packages to be installed: 1 119 KiB to be downloaded. Proceed with this action? [y/N]:
/etc/rc.confに設定ファイルを追加します。
# vsftpd vsftpd_enable="YES"
tcp wrapper用の設定を追加します。
/etc/hosts.allowの設定は例のように指定します。
vsftpd : localhost,\ .example.jp,\ .example.ne.jp : allow vsftpd : ALL : deny
ログ出力結果を確認します。
- [pid ] CONNECT: Client "192.168.x.x", "Connection refused: tcp_wrappers denial."
さて、具体的な設定を行います。
設定ファイル /usr/local/etc/vsftpd.conf を設定していきます。
今回はPASV利用にしてあります。
# grep -v "^#" vsftpd.conf | grep -v '^$' anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log ascii_upload_enable=YES ascii_download_enable=YES chroot_list_enable=YES secure_chroot_dir=/usr/local/share/vsftpd/empty listen=YES background=YES use_localtime=YES userlist_deny=YES userlist_file=/etc/ftpusers text_userdb_names=YES tcp_wrappers=YES allow_writeable_chroot=YES pasv_enable=YES pasv_min_port=xxxxx pasv_max_port=yyyyy ssl_enable=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO allow_anon_ssl=NO force_local_data_ssl=NO force_local_logins_ssl=NO require_ssl_reuse=NO rsa_cert_file=/usr/local/etc/vsftpd.pem
これで再起動してみます。
# touch /var/log/vsftpd.log # /usr/local/etc/rc.d/vsftpd start
問題なく起動しました。アノニマウス接続(匿名接続)してみます。
500 OOPS: vsftpd: both local and anonymous access disabled!
想定通りに拒否されました。
/usr/local/etc/vsftpd.chroot_listを作成し、この中にftpで接続していいユーザ名を入れたリストを作成しログインができるようになったことを確認します。
ログのローテートの指定を加えておきます。
/etc/newsyslog.conf に指定を加えます。
/var/log/vsftpd.log 600 12 100 $M1D0 Z
これにより、毎月の1日にローテートして12ヶ月分を残すことができます。
これで無事に利用ができるようになりました。
SSL関連の設定は過去ページを参考にしています。
PASV利用にしているので追加した部分をメモします。
/etc/pf.confに以下のようにくわえました。該当箇所の抜粋ですが、
pass in log quick on em0 inet proto tcp from any to em0 port {ftp, ftp-data} flags S/SA keep state pass in log quick on em0 inet proto tcp from any to em0 port xxxxx:yyyyy keep state
のようにしました。
# service pf reload Reloading pf rules. No ALTQ support in kernel
こんな感じで反映させました。
これまでの接続ができればいいので、確認をしました。
SSL通信を設定していたのですが、FFFTPでは問題なし。
ただし、ホームページビルダーでは、エラーコード 1001で先に行きませんでした。
ログを見る限り、接続まではできています。認証までは来ていないみたいです。
しかし、過去にもやっていたんでした。
ssl_ciphers=HIGH
これで接続できるようになりました。
【改訂履歴】作成:2017/03/12 【参考リンク】
vsftpd - Secure, fast FTP server for UNIX-like systems … vsftpdのオフィシャルページ
design テンプレート