Redhat8.0 : vsftpdの設定

2003.04.29


上へ
RedHat8.0!
RPMの使い方
SNMPの使い方
vsftpd(RedHat8.0)
vsftpd(RedHat9)
ftpクライアント
vsftpd対策
TripWire
RedHat9

vsftpdについて

Very Secure FTPD(vsftpd)と名乗っているくらいセキュリティ重視のftpdです。

手順

vsftpdをインストールして,xinetd.confを直すだけです。(RedHat9.0では,xinetd経由でなく,Standaloneで起動されるようになりました 。こちらを参照。)

 

vsftpdの設定

コマンド

説明
# rpm -ivh vsftpd-1.1.0-1.i386.rpm rpmでインストールをする
# vi /etc/xinetd.d/vsftpd

 

vsftpd は,以下の修正で,vsftpdが起動されるようになる.。
/etc/xinetd.d/vsftpdの変更箇所
  インストール直後 編集後 備考
変更 disable = yes disable = no サービスが起動されるようにする
# /etc/rc.d/init.d/xinetd reload  

コンフィグレーション

□ vsftpd.conf

/etc/vsftpd.conf でコンフィグレーション可能です。使えそうなコンフィグレーションはこんな感じかな。man vsftpd.confで詳細な説明が読めます。

パラメータ

説明
ログ関係
xferlog_std_format=NO
log_ftp_protocol=YES
クライアントが打ち込んだftpコマンドがログに残ります。xferlog_std_format=YESだと,転送時のコマンドしか残らないのですが,これだと,いろいろと悪さの後が判ります。
anonymous ftp のルートディレクトリを変更する
anon_root={ディレクトリ名} (default 未設定)
 
Anonymous ftpのログインディレクトリを設定する。

デフォルトは,/etc/passwdのftpユーザのホームディレクトリになる。

anonymous ftp を制限する
anonymous_enable=NO (default=YES)
 
Anonymous ftpユーザを許可しない(=NO)
anon_max_rate=50000 転送レートを制限する。回線の細いADSLで運用していると,他からアクセスされるときついんですよ。
単位はバイトです。
anonymous ftp のパスワードを制限する。
deny_email_enable=YES (default=NO)
 
/etc/vsftpd.banned_emailsでかかれているE-Mailアドレスで,Anonymous ftpログインさせない。

ftpサーバへアタックされた時などで,使用する。(と良いらしい)

/etc/vsftpd.banned_emails は,事前に作成しておく必要がある。

/etc/vsftpd.banned_emails の例
IEUser@ IEからのftpアクセスで,E-Mailアドレスを指定していないユーザを許さない。

注意: そのEMailアドレスを1行分と評価します。空白「 」があれば,それも含めて比較します。「#」も1文字となります。

ユーザ を制限する
userlist_enable=YES (default=NO)
userlist_deny=NO (default=YES)
 
/etc/vsftpd.user_listに書いてあるユーザのみログインさせる

vsftpd.ftpusers で,指定してあるユーザは,ここで指定されていても,認証でエラーとなる。

userlist_enable=YES (default=NO)
userlist_deny=YES (default=YES)
 
/etc/vsftpd.user_listに書いてあるユーザ はログインさせない。この場合,ログインプロンプトでユーザを指定しても,パスワードプロンプトは出ない。

vsftpd.ftpusers で指定した場合,Passwordは聞いてくるが,その点が違う。

/etc/vsftpd.user_list の例 userlist_deny=YESの場合,testはログインできないが,ftp(リストにはない)はログインできる。

userlist_deny=NOの場合,testはログインできるが,ftp(リストにはない)はログインできない。。

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
test
chrootの指定
chroot_local_user=YES (default=NO)
chroot_list_enable=YES (default=NO)
ローカルユーザも,Anonymous ftpユーザと同様,chrootする。
ただし,/etc/vsftpd.chroot_listに書いてあるユーザをchrootしない

chrootさせたときのルートは,ftpでログインするユーザのホームディレクトリになる。全てのエンドユーザが自分のホームディレクトリ以外いじらせたくない場合,指定する。

この場合でも,ユーザftpでログインした場合,chrootされる。

chroot_list_enable=YES (default=NO)
chroot_local_user=NO (default=NO)
 
/etc/vsftpd.chroot_listに書いてあるユーザをchrootさせる

chrootさせたときのルートは,ftpでログインするユーザのホームディレクトリになる。特定エンドユーザが自分のホームディレクトリ以外いじらせたくない場合,指定する。

メッセージ
dirmessage_enable=YES ftpでログインしたディレクトリ(Anounimous ftpのデフォルトでは,/var/ftp/)の".message"ファイルをftpでログインしたときに表示します。
ftpd_banner=任意のメッセージ ftpで接続したときのバナーメッセージを指定する。

 

□ その他のファイル

bullet/etc/vsftpd.ftpusers
bulletftpログインさせないユーザを指定する。rootとかmailとかデフォルトで入っている
bullet/etc/vsftpd.user_list
bulletログインできるユーザを指定する。(userlist_denyuserlist_enableの指定も必要)
bullet/etc/vsftpd.chroot_list
bulletchrootする(しない)ユーザのリスト。
bullet/etc/vsftpd.banned_emails
bulletAnonymous ftpユーザとしてログインさせないE-Mailアドレスを指定する。
bullet/etc/xinetd.conf
bulletIPアドレスやホスト名でのアクセス制御は,xinetdの機能で行っている。

horizontal rule

改正歴

2003.04.06 誤字の訂正
RedHat9の記述の追加
2003.04.11 タイトルが間違ってました。
2003.04.29 anon_rootの記述追加。

horizontal rule