FTPサーバーの設定
参考サイト
- http://easyramble.com/install-setup-fsftpd.html
- http://www.geocities.co.jp/SiliconValley-PaloAlto/3626/server_setting/vsftpd/20070126_vsftpd.htm
- http://www.aconus.com/~oyaji/suse/vsftpd_ssl_suse.htm
FTPサーバー導入の経緯
最近は、GitもしくはSFTPでのファイルのやりとりが多く、
普段、FTPってあんまり使わないのでFTPサーバーをインストールしていなかったのだが、
FTPを利用したいとのご要望があったので設定した。
折角なので、備忘録として記載しておくことに
vsftpd のインストール
sudo yum -y install vsftpd sudo service vsftpd start sudo chkconfig vsftpd on
で、後はポート開放して完了。
結構あっさりですね。
ただ、このまま使うにはあまりにも無防備すぎるのと、
今回のご要望は、SSL通信での利用を想定との事だったため、もう少し設定する。
一般設定
sudo vim /etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO # Anonymous FTP接続の禁止。 local_enable=YES # ローカルユーザのログインを許可。 write_enable=YES # 書き込み(Upload)許可。公開専用の場合はNOにすると書き込み禁止にできる。 local_umask=022 # ローカルユーザのumask値。 listen_port=21 # FTP制御チャンネルの接続待ち受けポートの指定。 # デフォルトポートの利用には抵抗がある connect_from_port_20=NO # Activeモード時のデータコネクションポートの指定。 # 今回はpasv接続にするのでNO。 nopriv_user=ftp # vsftpが利用する非特権ユーザ名の指定を ftp に指定。 chroot_local_user=YES # ローカルユーザの操作範囲を自身のホームディレクトリ内のみに行動を制限(chroot)する。 chroot_list_enable=NO # 「chroot_local_user=YES」とした場合にchrootしない例外ユーザを許可しないに指定。 # YESにした場合「chroot_list_file=/etc/vsftpd.chroot_list」を登録 ftpd_banner=Welcome to blah FTP service. # クライアントソフト名が表示されるのを変更
SSL関係設定
sudo vim /etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd.conf
rsa_cert_file=/etc/ssl/certs/vsftp.pem # vsftpd用の証明書ファイルの指定。SSL証明書の発行方法は省略 rsa_private_key_file=/etc/ssl/certs/vsftp.key # vsftpd用の秘密鍵ファイル rsa_cert_file=/etc/ssl/certs/ftp.pem # vsftpd用の証明書ファイルの指定。SSL証明書の発行方法は省略 use_localtime=YES # 時刻の扱いをローカルタイムにする。 userlist_enable=YES # ユーザリストによる規制をかける。 userlist_deny=YES # ユーザリストをログイン不可ユーザの一覧とする。(NOだとログイン可のユーザ一覧になる) userlist_file=/etc/ftpusers # ユーザリストの指定。 pasv_min_port=30000 # Pasv接続で外部からのコネクション利用を許可するポート範囲の最小値。 pasv_max_port=30100 # Pasv接続で外部からのコネクション利用を許可するポート範囲の最大値。 ssl_enable=YES # SSL接続の有効化 ssl_tlsv1=YES # vsftpd はSSLのプロトコルとして、SSL v2(ssl_sslv2)、SSL v3(ssl_sslv3)、TLS v1(ssl_tlsv1)の3種類をサポートしているが、デフォルトはTLS v1であり、多くの場合、この設定で問題ないのでデフォルトのままとする。 force_local_logins_ssl=YES # 制御チャンネル(ログイン等)でSSL接続しか許可しない。 force_local_data_ssl=YES # データチャンネルでSSL接続しか許可しない。
再起動で反映
sudo service vsftpd restart