| Top | 掲示板 | wiki |
ただいまスパムフィルタリング中です。 もしフィルタリングに引っかかったと思われる方はこちらからお問い合わせください。
質問を書き込む前にまず掲示板を検索しましょう
Google
このスレッドに返信する
Fedora JP BBSFedora Core 5 ≫ スレッド : どこでも見えちゃう、vsftpd で chroot したツモリなのに
1
  全 1 ページ
名前 コメント
monkeyrockstone
04/22/06 03:19

編集
どこでも見えちゃう、vsftpd で chroot したツモリなのに
vsftpd でFTPアップロードしたコンテンツをWeb公開できることを目指していますが、FTPクライアント側から、あちらこちら見えちゃう状態で困っています。 現在、ローカルのLANからの試験のみ、このまま外の世界に繋いだら大変なことに! プリーズ・ヘルプ!

■FTPサーバ
OS: Fedora Core 5
FTPソフト: vsftpd 2.04
ハードウェア: Celeron 850MHz, RAM 256MB
セキュリティレベル設定:Disable
SELinux : Disable

■問題点:
2006/04/22 02:12 chroot の設定が正しくできていないようだ。 FTP接続した側から、/の直下の様々なフォルダや、そのフォルダの中身まで見てしまう

FTP用のユーザは、user002
user002 の ホームディレクトリは、/web に設定 ← 自分で新規作成した

その web のアクセス権ついては、所有者が root 、ファイルのグループが root 、パーミッションは、 755 となっていて、特別なフラグは無し。

/etc/vsftpd には、chroot_list, ftpuser, user_list, vsftpd.conf, vsftpd_conf_migrate.sh のファイルがある
/etc/vsftpd/chroot_list の chroot_listファイル には、user002 を含めた数個のユーザ名を記載した
/etc/vsftpd/ftpuser の ftpuserファイル には、root, bin, daemon.....games,nobody など記載があり初期値のまま
/etc/vsftpd/user_list の user_listファイル には、user002 を含めた数個のユーザ名のみを記載した

vsftpd.conf の中身は下記の通りです。

------------ ここから -------------------
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES

xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES

ascii_upload_enable=YES
ascii_download_enable=YES

ftpd_banner=FTP Test Server.

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

# local_root=public_html ⇒ ここは変更した。 
# ファイルシステム直下に自分でディレクトリを作り下のようにした ( /web )
local_root=web

force_dot_files=YES
pam_service_name=vsftpd

userlist_enable=YES
userlist_deny=NO

listen=YES
tcp_wrappers=YES
------------ ここまで -------------------

■気になること
local_root の変更がいけなかったのかと思い、public_html に戻したり試行錯誤したのがヤバイのか? Apache 2.2 でバーチャルホスト設定(固定IPアドレス1個+複数ドメインでWEB公開)は無事に済ませたあとだったので、FTPアップロード先を、ユーザー毎のデフォルトの /home/(ユーザ名)にしたくなくて、ドツボにハマッテいった気がします。 chrootの設定がうまく行かないので、apache 2.2でWEB公開するディレクトリを変更してでも、chroot 設定を確実にするべきだと思考転換をし、ますます、ヌカルミニはまって行きました。 お笑いください。




stranger
04/22/06 07:21

編集
Re: どこでも見えちゃう、vsftpd で chroot したツモリなのに
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

chroot_local_userの設定により意味が変わります
chroot_local_user=NO(デフォルト)の場合、chroot()jailに置き換えられるユーザ
chroot_local_user=YESの場合、chroot() jailに置き換えられないユーザ
アナタの/etc/vsftpd/chroot_listに書かれているユーザは
chrootされない


monkeyrockstone
04/22/06 16:52

編集
解決!Re: どこでも見えちゃう、vsftpd で chroot したツモリなのに
strangerさん、ありがとうございます。解決しました。私の理解不足が原因のようでした。将来、同じようなトラブルを経験するかもしれない方のために、設定について下記にまとめてみました。 素人ですので、下記内容に誤りがある可能性もありますが、気付いた方は、ご指摘ください。 内容があっていれば、OKだよと、strangerさんや、ベテランの方から一言もらえると嬉しいです。 他の方のご参考にでもなれば。。。 


■vsftpd 2.0 の chrootの設定について


1.自由に動き回れるユーザを chroot_list に記述する場合

chroot_list に 記載されないユーザは、アクセス範囲が制限される(=chrootされる)
つまり、アクセス範囲を制限するユーザーを、chroot_listに記載してはいけない。


chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list



2.アクセス範囲を限定するユーザを chroot_list に記述する場合

chroot_list に 記載されているユーザは、アクセス範囲が制限される(=chrootされる)
つまり、chroot_listに記載されていないFTPアクセス可能なユーザは、アクセス範囲が限定されずに動き回れる


chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list



私の場合は、自由に動き回れるユーザは、1人もいなくて良いので1の方法を取ることにしました。 つまり、chroot_list には、誰も記載しませんでした。誰もいなくても chroot_listは必要だそうです(皆、知ってるよな。。。)。

また、このスレッドを作成したときと、一部、設定ファイルを変更( local_root=web ⇒ local_root=public_html )と追加( use_localtime=YES )しました。 

ご参考まで。
------------------- 2006/04/22 15:50 現在の設定内容 --------------------------------

vsftpd の利用目的: WEB公開のためのコンテンツを、外部からFTPを利用してアップロードできるようにする
FTPで接続するユーザ名: user002
user002 の ホームディレクトリ:/web
user002 の ホームディレクトリの web は新規作成(所有者は root 、ファイルのグループは root 、パーミッションは 755、特別なフラグは無し。 )
FTPでアップロードする先のディレクトリ: /web/public_html
この public_html より上の階層へ user002 はアクセス不可能


vsftpd設定ファイル: /etc/vsftpd/vsftpd.conf の内容


anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=FTP Test Server.

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
local_root=public_html


force_dot_files=YES
use_localtime=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
listen=YES
tcp_wrappers=YES



chroot_list ファイルの内容:
(場所 /etc/vsftpd/chroot_list )


# chroot_local_user=YES の場合、ここに追加したユーザは、どこでも移動できちゃいまぁ〜っす
# chroot_local_user=NO の場合、ここに追加されていないユーザは、どこでも移動できちゃいまぁ〜っす
# 私の場合は、chroot_local_user=YES で、自由に移動できるユーザがいると不安なので、
# 何も書きまっしぇ〜ん、コメントだけでぇ〜す



ftpuser ファイルの内容:  ← vsftpd 2.0 インストール直後のままで変更無し
( 場所 /etc/vsftpd/ftpuser)


# なんか英語で書いてま〜す
root
bin
daemon
#…略…
nobody



user_listファイル の内容
(場所 /etc/vsftpd/user_list )


# 実際にFTPするユーザだけ書きました
user002




備考まで
Linux は、触り初めて2週間。 Webサーバは、固定IPアドレス1個の環境で、Apache2.2を使い複数ドメイン(現在5個)で動いています。 FTPのアップロード先である /web/public_html の配下に www.aaa.com, www.bbb.com, www.ccc.com という名前のディレクトリを作成し、それぞれのディレクトリを、それぞれのドメインに対するApache のバーチャルホストのドキュメントルートとして設定しました。 複数ドメインのWEB公開と、ブロードバンドルータ手前のLAN内からのFTPアップロードが完成したので、次は、外部から安全にFTPできることを目指します。 


stranger
04/22/06 18:31

編集
Re: どこでも見えちゃう、vsftpd で chroot したツモリなのに
windowsから接続するなら
ascii_upload_enable=YES
ascii_download_enable=YES

UID,GIDでなくユーザ名グループ名で表示したいなら
text_userdb_names=YES

1
  全 1 ページ
このスレッドに返信する
Access Count:21,481,657
Powered by F-board Ver0.3