PowerScale OneFS:アップグレード後に「500 OOPS: Vsftpd:chroot内の書き込み可能なルートで実行することを拒否します」
Summary: アップグレードまたはパッチ適用後に、PowerScale FTPサーバーへのファイル転送プロトコル(FTP)ユーザー接続が「500 OOPS: Vsftpd:Refusing to run with writable root inside chroot()」というエラーメッセージが表示されます。
Symptoms
FTPユーザー ログインが次のエラーで失敗します。
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
この問題は、OneFSをアップグレードされた vsftpdファイルに置き換えます。
- 8.2.2_GA-RUP_2023-06以降
- 9.1.0.29以降
- 9.2.1.23以降
- 9.4.0.14以降
- 9.5.0.4以降
- 9.6.0.0以降
たとえば、 vsftpd pkg がアップデート元 vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
詳細については、次を参照してください。 vsftpd https://security.appspot.com/vsftpd/Changelog.txt の公式ホームページ
- Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life. - Add new config setting "allow_writeable_chroot" to help people in a bit of a spot with the v2.3.5 defensive change. Only applies to non-anonymous.
問題は、FTPユーザーのルート ディレクトリーが書き込み可能であることです。「 chroot 制限が使用されますが、最近の更新では許可されていません。「 chroot ユーザーがロックされているディレクトリー は書き込み可能であってはなりません。
Resolution
/etc/mcp/templates/vsftpd.conf デフォルトに戻ります。このKB記事の問題が発生しないように、アップグレード後に解決策が再度適用されていることを確認します。
- オプション1: ユーザーのルート ディレクトリーの書き込み権限を削除します。
chroot ディレクトリ:
#chmod a-w /home/user
- オプション2: 以下の構成設定を
vsftpdグローバル構成ファイルまたは個別ユーザー構成ファイル:
allow_writeable_chroot=YES
OneFSクラスターでは、 vsftpd 設定を /ifs/data/Isilon_Support/.
例えば:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bak
次に、VIエディタを使用して、次の行を /etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
VIエディタを使用する代わりに、 echo コマンドを使用して、同じファイルに行を追加します。
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
数秒待ってから、ファイルがすべてのノードに更新され、ファイルが md5 checksum 一貫性があります。
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
ここでは、問題とその修正手順を簡単に再現します。
-
OneFS 9.4.0.14を実行しているPowerScaleクラスターにログインします。以下は、FTPユーザーのホーム ディレクトリーです。
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
FTPユーザー ログインが失敗し、次のエラー メッセージが表示されます。
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
ftp: Login failed
ftp>
-
この問題に対処するには、ワークフローと懸念事項に応じて2つのオプションがあります。
- オプション1: ユーザーのルート ディレクトリーの書き込み権限を削除します。
test2-fxq5rm3-1# chmod a-w /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
dr-x------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.
- オプション2: セキュリティ チェックを回避します。
test2-fxq5rm3-1# chmod u+w /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
test2-fxq5rm3-1# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
test2-fxq5rm3-1: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-2: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-3: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.
Additional Information
- Dellの記事「Isilon: OneFS 8.X以降:FTPユーザーを特定のディレクトリーにロックする(chroot(ルート変更)jail)方法
- ArchLinux ドキュメント、 非常に安全な FTP デーモン