Custom Search

JITAKU_SVR_Wiki

OSはOpenSUSE11.0
以下、manがわかりやすかったのでそのまま抜粋しているところが多い。
一部自分のコメントを挿入。

真偽値オプション

  • anonymous_enable
    anonymous ログインを許可するかどうかを制御する。
    YES にした場合、ユーザー名 ftp と anonymous の両方を anonoymous ログインとして認識する。
  • chroot_list_enable
    YES に設定した場合、ログイン後にホームディレクトリへと chroot() されるローカルユーザのリストを指定できる。
  • chroot_local_user を YES に設定した場合には、意味が異なってくる。~ リストはその場合、chroot() jail へと移動されないユーザ のリストとなる。
    デフォルトでは、このリストは /etc/vsftpd.chroot_list ファイルであるが、 chroot_list_file 設定によってこれを変更することができる。
  • chroot_local_user
    YES に設定した場合、ローカルユーザは(デフォルトで)ログイン後に ホームディレクトリへと chroot() される。
警告
このオプションはセキュリティに密接に関連する。
ユーザがアップロード権限を持っていたり、シェルでのアクセスができる場合は 特にである。
何をしているかを理解している場合にのみ有効にすること。
これらのセキュリティの問題は vsftpd に特有の問題ではないことに 注意してほしい。 ローカルユーザを chroot() jail に入れることができるすべての FTP デーモンにおいて、この問題がある。
  • download_enable
    NO に設定した場合、すべてのダウンロード要求はアクセス拒否になる。
  • local_enable
    ローカルユーザのログインを許可するかどうかを制御する。
    YES に設定した場合、/etc/passwd にある普通のユーザアカウントを ログインに使う。
  • pasv_enable
    NO に設定した場合、データ接続の開始において PASV を許可しない。
  • pasv_promiscuous
    YES に設定した場合、 PASV セキュリティーチェックを無効にし、 制御用の接続と異なる IP アドレスからのデータ接続を許可する。
    何をしているかを理解している場合にのみ有効にすること。 唯一の道理にかなった利用法は、安全なトンネルの中で使うか、 そうでなければ、おそらくは FXP(訳注: リモートホスト間転送) を容易にするためのものである。



数値オプション

  • local_max_rate
    ローカルユーザの最大データ転送レート。 秒あたりのバイト数。
    デフォルト: 0 (無制限)
  • max_clients
    スタンドアロンモードの場合に、接続可能なクライアントの最大数を指定する。
    最大数を越えて接続したクライアントには、エラーメッセージを渡す。
    デフォルト: 0 (無制限)
  • pasv_max_port
    PASV でのデータ接続に割り当てるポートの最大値。 ファイアウォールで指定するポートの範囲を狭めるのに使用できる。
    デフォルト: 0 (任意のポートを使用)
  • pasv_min_port
    PASV でのデータ接続に割り当てるポートの最小値。 ファイアウォールで指定するポートの範囲を狭めるのに使用できる。
    デフォルト: 0 (任意のポートを使用)

vsftpd.chroot_list

通称jail(ジェイル)。このリストに書かれたユーザは自分のディレクトリ以上には行けない。サービス用のftpユーザや、レンタルサーバなどでは必須。

# more vsftpd.chroot_list
ftp

ここにユーザを追加するとオプションしだいでそのユーザに制限をかけられる。

例)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

以上の設定で、
vsftpd.chroot_listに追加されたユーザはftpユーザ以外のディレクトリを移動することも、見ることも出来ない。

また、rootでのログインはデフォルトで認められていないので、もし、ログインが必要であれば、

# vi /etc/ftpusers
root => #root

ftpusersはログインを禁止しているユーザのリストファイルなので、この中のrootをコメントアウト

PASVモード

常にクライアントから接続要求を行うことで、内側のFWを通過できる。

PASVモード<=>アクティブモード

pasv_enable=YES
pasv_max_port=0
pasv_min_port=0

以上の設定でPASVモードが使用可能になる。
※WindowsのftpクライアントにはPASVモードがないので注意。

iptablesでFTPの通信を許可する。
必要なモジュール:nf_conntrack_ftp

# modprobe ip_conntrack_ftp

# lsmod | gnf_conntrack_ftp
nf_conntrack_ftp 25380 0

組み込まれたことが分かる。
このモジュールをファイアーウォールに書き込む

# vi /etc/sysconfig/SuSEfirewall2
FW_LOAD_MODULES="ip_conntrack_ftp"

更にPASVモードで使用するポートを開放する。(ただし、番号を指定するわけではなく、パケットの種類で開放する。)

# vi /etc/sysconfig/scripts/SuSEfirewall2-custom
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# SuSEfirewall stop

# SuSEfirewall start

vsftpd.logの出力

ログの出力がちょっと特殊なのでメモ。
参考URL:http://www.nina.jp/server/slackware/vsftpd/vsftpd.conf.html

デフォルトだと/var/log/messagesにログをためていく。
以下の項目を編集する必要がある。

xferlog_enable=YES
syslog_enable=YES
#dual_log_enable=YES (コメントアウトされている)
xferlog_std_format=NO

vsftpd.logにためていきたいのでであれば、
     ↓

xferlog_enable=YES
syslog_enable=NO
dual_log_enable=NO (コメントアウトをはずす)
xferlog_std_format=NO

iptablesメモ

ESTABLISHED 通常の応答パケットか確立中コネクションの応答パケット
INVALID 既知の接続に結び付けられないパケット
NEW コネクション開始パケット
RELATED 接続を許可したpacketのprotocolに関連のあるパケット

ICMPエラー、FTPデータコネクションなどのパケット

ESTABLISHEDに関してはここではなくても通信に影響はない。

2009-05-15


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-22 (火) 14:18:43 (644d)