PowerScale OneFS: Errore ricevuto dopo l'aggiornamento "500 OOPS: Vsftpd: Si rifiuta di funzionare con root scrivibile all'interno di chroot"
Summary: Dopo un upgrade o una patch, quando l'utente FTP si connette a un server FTP PowerScale, l'operazione ha esito negativo con il messaggio di errore "500 OOPS: Vsftpd: Rifiutarsi di eseguire con root scrivibile all'interno di chroot()." ...
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
Il problema si verifica dopo l'aggiornamento di OneFS a una versione contenente vsftpd:
- 8.2.2_GA-RUP_2023-06 e versioni successive
- 9.1.0.29 e versioni successive
- 9.2.1.23 e versioni successive
- 9.4.0.14 e versioni successive
- 9.5.0.4 e versioni successive
- 9.6.0.0 e versioni successive
Ad esempio, la proprietà vsftpd pkg viene aggiornato da vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
Ulteriori dettagli sono disponibili nella pagina vsftpd Home page ufficiale su 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.
Il problema è che la directory principale dell'utente FTP è scrivibile. La variabile chroot Viene utilizzato il limite, non consentito nell'aggiornamento recente. La variabile chroot La directory a cui sono bloccati gli utenti non deve essere scrivibile.
Resolution
Sono disponibili due opzioni per risolvere questo problema:
- Opzione 1: Rimuovere le autorizzazioni di scrittura sulla directory principale dell'utente.
chroot directory:
#chmod a-w /home/user
- Opzione 2: Aggirare i controlli più rigorosi aggiungendo le impostazioni di configurazione riportate di seguito nella
vsftpdFile di configurazione globale o file di configurazione di un singolo utente:
allow_writeable_chroot=YES
Nel cluster OneFS, si consiglia di creare una copia del
vsftpd configurazione in /ifs/data/Isilon_Support/. Ad esempio:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakQuindi, utilizzando l'editor VI, aggiungere la seguente riga a
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Un'altra opzione, invece di usare l'editor VI, consiste nell'usare il comando echo per aggiungere una riga allo stesso file:
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Attendere alcuni secondi, quindi verificare che il file venga aggiornato in tutti i nodi e che il checksum md5 del file sia coerente.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Ecco una rapida riproduzione del problema e dei passaggi per risolverlo:
-
Accedere a un cluster PowerScale con OneFS 9.4.0.14. Di seguito è riportata la directory principale dell'utente FTP:
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
L'accesso dell'utente FTP ha esito negativo con il messaggio di errore:
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>
-
There are two options to address this issue depending on your workflow and concerns:
- Opzione 1: Rimuovere le autorizzazioni di scrittura per la directory principale dell'utente:
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.
- Opzione 2: Aggirare il controllo di sicurezza:
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.