FTPサーバー:vsftpd
目次
vsftpdとは?
Very Secure Ftp Daemon
Linuxにおける標準的FTPサーバー
インストール
# yum -y install vsftpd
サービス
vsftpd起動
# /etc/rc.d/init.d/vsftpd start
(service fsftpd start も可?)
vsftpd自動起動設定
chkconfig vsftpd on
vsftpd自動起動設定確認
# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ランレベル2~5のon確認
設定ファイル編集
設定ファイルパス
# vi /etc/vsftpd/vsftpd.conf
匿名ユーザのログイン禁止
anonymous_enable=NO
アスキーモードでのアップロードを許可
ascii_upload_enable=YES
アスキーモードでのダウンロードを許可
ascii_download_enable=YES
FTPログイン時にソフト名とバージョンが表示禁止
ftpd_banner=Welcome to blah FTP service.
ホームディレクトリより上層へのアクセスを禁止
chroot_local_user=YES
ホームディレクトリより上層へのアクセス禁止を除外するユーザリストの有効化
chroot_list_enable=YES
ホームディレクトリより上層へのアクセス禁止を除外するユーザリストパス
chroot_list_file=/etc/vsftpd/chroot_list
ディレクトリごとの削除許可
ls_recurse_enable=YES
以下を最下行へ追加
タイムスタンプ時間を日本時間に
use_localtime=YES
SSLの有効化
ssl_enable=YES
サーバー証明書を指定
rsa_cert_file=~
ログイン時にSSL接続を強制しない
暗号化しない接続もできるようにする場合
force_local_logins_ssl=NO
データ転送時にSSL接続を強制しない
暗号化しない接続もできるようにする場合
force_local_data_ssl=NO
hosts.allow/hosts.denyによるアクセス制限の有効化
tcp_wrappers=YES
設定は「ホスト制限」参照
PASVモード設定
(追記)
PASVモード接続先IPアドレスをホスト名から取得する
pasv_addr_resolve=YES
PASVモード接続先IPアドレスが牽けるホスト名
pasv_address=centossrv.dip.jp
PASVモード接続時の最小ポート番号
pasv_min_port=60000
PASVモード接続時の最大ポート番号
pasv_max_port=60030
PASVモードとは?
PassiveMode
パッシブモード
FTP通信においてデータ転送のためのコネクション(ポート番号通知)をクライアントから発信する方式
クライアントがファイアウォールの内側にあり、
外部から直に接続要求を行うことができないような環境ではファイルの送信が行えない。
PORTモードの場合(通常)、コネクション(ポート番号通知)をサーバーから行う
外部リスト
ユーザー制限
FTP利用不可ユーザー一覧
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list (変更可)
ホスト制限
/etc/hosts.allow
vsftpd : XXX.XXX.XXX.XXX
/etc/hosts.deny
vsftpd : ALL
「TCPWrappers」参照
chroot制限
chroot禁止除外リスト
/etc/vsftpd/chroot_list
※/etc/vsftpd/vsftpd.conf
chroot_local_user=YESの場合
user_listをFTP利用可能ユーザー一覧へ
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list