web-dev-qa-db-ja.com

vsftpdのchroot_local_userが安全でないのはなぜですか?

VPSにvsftpdを設定しています。ユーザーがFTPホームディレクトリから離れることを許可されたくありません。匿名ではなくlocal_user ftpを使用しているため、次のように追加しました。

chroot_local_user = YES

これは安全ではないことを、多くのフォーラム投稿で読んだことがあります。

  1. これはなぜ安全でないのですか?
  2. Sshを使用してVPSに参加しているためにこれが安全でない場合は、これらのユーザーをsshdからロックアウトするだけですよね?
  3. Vsftpdのこの動作を実現するための他のオプションはありますか? (私のシステムでは "world"のすべてのフォルダ/ファイルの読み取り権限を削除したくない)
20
p1100i

ここで VSFTPDのFAQ を確認して、探している答えを見つけてください。以下は私があなたの質問に答えると思う重要な抜粋です。

Q)助けて! 「chroot_local_user」オプションで言及されているセキュリティの影響は何ですか?

A)最初に、他のFTPデーモンにも同じ影響があることに注意してください。それは一般的な問題です。問題はそれほど深刻ではありませんが、これは次のとおりです。完全なシェルアクセスを持つことが信頼されていないFTPユーザーアカウントを持っている人もいます。これらのアカウントがファイルもアップロードできる場合、小さなリスクがあります。悪意のあるユーザーが、ホームディレクトリであるファイルシステムルートを制御できるようになりました。 ftpデーモンにより、いくつかの設定ファイルが読み込まれる可能性があります。/etc/some_file。 chroot()を使用すると、このファイルはユーザーの制御下に置かれます。 vsftpdはこの領域で注意深くなっています。しかし、システムのlibcはロケール設定ファイルやその他の設定を開く必要があるかもしれません...

20
Nic Young

問題は、ローカルアカウントを使用することも、シェルログインからそれらのアカウントを無効にすることもできないことです。ログインシェルを/ bin/nologinに設定した場合、vsftpdを使用してログインすることもできません。

より適切で安全なFTPデーモンは、Pure-ftpdです。調べてみてください。EPELリポジトリから入手でき、仮想ユーザーを作成できます。サーバーは、共通のユーザー/グループを使用してユーザーのホームフォルダーにすべてのアクセス許可を設定し、ログイン時にアクセス許可を処理するために仮想ユーザーをそのユーザーに「マップ」します。これはより安全であり、opensshログインセキュリティに対処する必要はありません。

また、pure-ftpdは、クォータ、比率など、多くの機能をサポートしています。 vsftpdよりもはるかに優れています。

これをインストールして基本的な仮想ユーザーを構成する方法に関する簡単なチュートリアルを次に示します。 http://blog.namran.net/2011/05/04/how-to-setup-virtual-ftp-server-using- pure-ftpd-in-centos /

完全なドキュメント(お読みください)を読むと、仮想ユーザーの作成時の-dスイッチが、そのユーザーのそのディレクトリへの自動chrootであることがわかります。

4
Yanick Girouard