PowerStore: Comprensión de las limitaciones del shell debido a rbash y otras implementaciones de seguridad

Summary: Para reforzar la seguridad general, se tomó la decisión de bloquear el shell de PowerStore mediante la habilitación de rbash (shell bash restringido) y otras implementaciones de seguridad. Otro ejemplo es que la carpeta de inicio de usuario de servicio es /home/service/user y no /home/service como se podría esperar. Esta es una de las pocas ubicaciones en las cuales el usuario de servicio tiene permisos de escritura. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Posibles errores observados como resultado de estas medidas:

  • rbash: cd: restricted (cuando se intenta navegar por los directorios)
  • rbash: xxxx: restricted: cannot redirect output (cuando se intenta redirigir las salidas a un archivo con ">")
  • rbash: xxxx: command not found (cuando se intentan ejecutar comandos que no están en la lista aprobada de permitidos)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (cuando se intentan ejecutar scripts)
  • No se puede inicializar el protocolo SFTP ¿Se ejecuta el host en un servidor SFTP? (cuando se intenta configurar herramientas de transferencia de archivos como WinSCP)
  • El comando 'cd "xxxx"' presenta error con código de retorno 1 y mensaje de error. -rbash: line 47: cd: restringido (cuando se intenta cambiar directorios con WinSCP)

Cause

La implementación de rbash significa que el comportamiento del shell se cambia cuando se deshabilitan algunas acciones y características, las que incluyen:

  • El cambio de directorios con la función incorporada cd.
  • La configuración o desconfiguración de los valores de las variables SHELL, PATH, ENV o BASH_ENV.
  • La especificación de nombres de comando que contienen barras diagonales.
  • La especificación de un nombre de archivo que contenga una barra diagonal como argumento para el . comando incorporado.
  • La especificación de un nombre de archivo que contenga una barra diagonal como argumento de la opción -p para el comando integrado hash.
  • La importación de definiciones de funciones desde el entorno de shell durante el inicio.
  • El análisis del valor de SHELLOPTS desde el entorno de shell durante el inicio.
  • La redirección de la salida mediante los operadores de redirección ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’, y ‘>>’
  • El uso de la función incorporada exec para reemplazar el shell por otro comando.
  • La adición o eliminación de comandos incorporados con las opciones -f y -d para habilitar la función incorporada.
  • El uso del comando habilitar función incorporada para activar las funciones integradas desactivadas del shell.
  • La especificación de la opción -p para la función incorporada del comando.
  • La desactivación del modo restringido con ‘set +r’ o ‘set +o restricted’.

Consulte aquí para obtener más información:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

Resolution

Aquí se presentan algunas alternativas para facilitar la navegación e interacción con el sistema, a pesar de las limitaciones descritas anteriormente.

Transferencia de archivos 

Utilice SCP en lugar del protocolo SFTP o FTP cuando configure herramientas de transferencia de archivos como WinSCP.   
SLN321130_en_US__1icon Recuerde:
los usuarios no pueden cambiar de directorio (cd no está permitido), por lo que todo lo que se debe descargar desde el nodo o dispositivo se debe copiar primero en /home/service/user.
La única excepción a esto serían el material de soporte normal. Los enlaces se colocan automáticamente en el directorio principal de cada conjunto de materiales de soporte disponible para facilitar las descargas.

Si desea descargar archivos directamente desde el directorio en el que se encuentran, primero debe buscar la ruta completa en el shell de PowerStore y, a continuación, puede usar herramientas como pscp (desde cli de windows) o scp (desde linux).
Ejemplo de pscp para Windows:

Nomenclatura:
Usage: pscp [options] [user@]host:source target
pscp [options] source [source…] [user@]host:target
Nota: En algunas versiones nuevas de Windows 10, es posible que deba especificar el puerto (-P 22).

Ejemplo de descarga:
pscp -scp -P 22 service@<appliance or node IP>:/path/to/file/to/download C:\Local\dowwnload-save\location

pscp -scp service@xx.xx.xx.xx:/cyc_var/cyc_service/data_collection/xxxxxxxx/powerstore_xxxxxxxx_2020-05-06_00-00-00_service-data.tgz C:\LOGS
service@xx.xx.xx.xx's password:
powerstore_xxxxxxxxx | 10944 kB | x.x kB/s | ETA: 00:00:00 | 100%

Ejemplo de carga:
pscp -scp -P 22 C:\Logs\somefile.txt service@xx.xx.xx.xx:/home/service/user
service@xx.xx.xx.xx's password:
somefile.txt           | 211 kB | 212.0 kB/s | ETA: 00:00:00 | 100%

 

Navegación

No puede usar "cd" para navegar, pero puede utilizar comandos como "ls" o "cat/less" para enumerar el contenido del directorio o leer archivos. La única diferencia es que siempre debe usar rutas completas.
El mismo principio se aplica a todo lo demás (grep, etc.).

Ejemplo de enumeración de los subdirectorios dentro del directorio Support Materials:
[SVC:service@xxxxxxx-B user]$ ls -l /cyc_var/cyc_service/data_collection/                                     
total 80
drwxrwsr-x+ 2 cyc cycg 4096 Apr  8 14:48 0941c91a-431d-4bfb-b5b2-062b02c45950
drwxrwsr-x+ 2 cyc cycg 4096 Apr 25 15:27 20439835-3654-4d93-af3b-ebfc0ae222fd
drwxrwsr-x+ 2 cyc cycg 4096 Apr 19 15:27 3d2011a8-0aa2-48d7-9f3f-1f234df2abfb
drwxrwsr-x+ 2 cyc cycg 4096 Apr 19 13:08 473ed1cb-0ebb-4bd6-bbf6-e87e61af8578
drwxrwsr-x+ 2 cyc cycg 4096 Apr 22 14:01 48a522ff-0aaa-4f83-a936-973f6f1097b2
drwxrwsr-x+ 2 cyc cycg 4096 Apr 22 15:26 4ba1375c-c23b-47c6-bc04-1498e3443b39
drwxrwsr-x+ 2 cyc cycg 4096 Apr 27 15:26 6faf6d88-58c6-4891-b001-8e0311e9e00d
drwxrwsr-x+ 2 cyc cycg 4096 Apr 24 14:36 798b13df-70bb-4fd3-9691-608b735207e9
drwxrwsr-x+ 2 cyc cycg 4096 Apr 28 15:27 8187fc5d-d389-4676-a69f-23db20c06602
drwxrwsr-x+ 2 cyc cycg 4096 Apr 26 15:12 83cb57dc-dee3-4dae-8585-e3b670d4b52a
drwxrwsr-x+ 2 cyc cycg 4096 Apr 18 12:50 a038d9ac-6ecc-4c49-8bb3-ae6623b418f6
drwxrwsr-x+ 2 cyc cycg 4096 Apr 21 13:43 b02e88fb-3f80-47a3-8f6d-3547afad7c35
drwxrwsr-x+ 2 cyc cycg 4096 Apr 24 15:26 b4bdd7c3-dbd0-4ac7-93ac-2e3e7ea1ff93
drwxrwsr-x+ 2 cyc cycg 4096 Apr 23 14:18 bf965b7e-e136-42ba-b46c-5fc565b6cf58
drwxrwsr-x+ 2 cyc cycg 4096 Apr 20 13:26 d96caca8-4395-4f15-aea1-60dd7a2490f5
drwxrwsr-x+ 2 cyc cycg 4096 Apr 23 15:26 e101bd57-fd3d-421a-b15a-341456a52f1f
drwxrwsr-x+ 2 cyc cycg 4096 Apr 25 14:54 e57e625d-e393-4919-b0d1-5efd89042897
drwxrwsr-x+ 2 cyc cycg 4096 Apr 20 15:26 ea40f70d-3cbf-4c84-9643-627fdbf9f0bd
drwxrwsr-x+ 2 cyc cycg 4096 Apr 21 15:26 ea9d95dd-1c72-4b2b-929a-ab6ec9cbedc1
drwxrwsr-x+ 2 cyc cycg 4096 Apr 17 12:34 fa02405b-ae24-4d7d-b178-97a99a2b717f
[SVC:service@xxxxxxx-B user]$ 

Affected Products

PowerStore, PowerStore 1000X, PowerStore 1000T, PowerStore Expansion Enclosure, PowerStore 3000X, PowerStore 3000T, PowerStore Rack, PowerStore 5000X, PowerStore 5000T, PowerStore 7000X, PowerStore 7000T, PowerStore 9000X, PowerStore 9000T
Article Properties
Article Number: 000126621
Article Type: Solution
Last Modified: 27 Apr 2021
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.