PowerStore: Inzicht in shellbeperkingen als gevolg van rbash- en andere beveiligingsimplementaties

Summary: Om de algehele beveiliging te verstevigen, is een beslissing genomen om de PowerStore shell te vergrendelen door rbash (restricted bash-shell) en andere beveiligingsimplementaties in te schakelen. Een ander voorbeeld is dat de homemap van de servicegebruiker /home/service/user is en niet /home/service zoals mogelijk verwacht. Dit is een van de weinige plaatsen waarop de servicegebruiker schrijfmachtigingen heeft. ...

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

Mogelijke fouten waargenomen als gevolg van deze maatregelen:

  • rbash: cd: restricted (wanneer u door de mappen probeert te navigeren)
  • rbash: xxxx: restricted: cannot redirect output (bij het omleiden van uitvoer naar een bestand met ">")
  • rbash: xxxx: command not found (wanneer u opdrachten probeert uit te voeren die niet in de goedgekeurde lijst staan)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (bij het uitvoeren van scripts)
  • Kan het SFTP-protocol niet initialiseren. Wordt op de host een SFTP-server uitgevoerd? (bij het instellen van hulpprogramma's voor bestandsoverdracht, zoals WinSCP)
  • Opdracht 'cd "xxxx"’ mislukt met retourcode 1 en foutmelding. -rbash: line 47: cd: restricted (bij het wijzigen van mappen met WinSCP)

Cause

rbash-implementatie betekent dat het gedrag van de shell wordt gewijzigd door bepaalde acties en functies uit te schakelen, waaronder:

  • Mappen wijzigen met de ingebouwde cd-opdracht.
  • De waarden van de SHELL, PATH, ENV of BASH_ENV variabelen instellen of opheffen.
  • Opdrachtnamen opgeven met schuine strepen.
  • Een bestandsnaam met een schuine streep opgeven als argument voor de ingebouwde . opdracht.
  • Een bestandsnaam met een schuine streep opgeven als argument voor de optie -p voor de ingebouwde hash-opdracht.
  • Functiedefinities importeren uit de shell-omgeving bij het opstarten.
  • Parsing van de waarde van SHELLOPTS uit de shell-omgeving bij het opstarten.
  • Uitvoer omleiden met behulp van de operatoren ‘>’, ‘>|’, ‘<>’, ‘>&’, ‘&>’ en ‘>>’.
  • De ‘exec builtin’ gebruiken om de shell te vervangen door een andere opdracht.
  • Ingebouwde opdrachten toevoegen of verwijderen met de opties -f en -d voor de ‘enable builtin'.
  • Met behulp van de opdracht ‘enable builtin’ kunt u uitgeschakelde shell builtins inschakelen.
  • De optie -p opgeven voor de ingebouwde opdracht.
  • De beperkte modus uitschakelen met 'set +r' of 'set +o restricted'.

Zie hier voor meer informatie:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

Resolution

Hier worden enkele alternatieven gepresenteerd om de navigatie en interactie met het systeem eenvoudiger te maken, ondanks de beperkingen die hierboven worden beschreven.

Bestandsoverdrachten 

Gebruik SCP in plaats van het SFTP- of FTP-protocol bij het instellen van hulpprogramma's voor bestandsoverdracht, zoals WinSCP.   
SLN321130_en_US__1icon Onthoud:
Gebruikers kunnen geen mappen wijzigen (cd is niet toegestaan), dus alles dat vanaf het knooppunt of apparaat moet worden gedownload, moet eerst worden gekopieerd naar /home/service/user.
De enige uitzondering hierop is het normale supportmateriaal. Koppelingen worden automatisch in de homedirectory geplaatst voor elke beschikbare set supportmateriaal om downloads te vergemakkelijken.

Als u bestanden rechtstreeks wilt downloaden vanuit de map waarin ze zich bevinden, moet u eerst het volledige pad vinden vanuit de PowerStore shell, dan kunt u tools gebruiken zoals PSCP (vanuit Windows CLI) of SCP (vanuit Linux).
Voorbeeld van Windows PSCP:

Syntaxis:
Gebruik: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
Opmerking: In sommige nieuwe versies van Windows 10 moet u mogelijk de poort (-P 22) opgeven.

Voorbeeld van downloaden:
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%

Voorbeeld van uploaden:
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%

 

Navigatie

U kunt 'cd' niet gebruiken om te navigeren, maar u kunt opdrachten zoals 'ls' of 'cat/less' gebruiken om de mapinhoud weer te geven of bestanden te lezen. Het enige verschil is dat u altijd volledige paden moet gebruiken.
Hetzelfde principe geldt voor al het andere (grep, enzovoort).

Voorbeeld van het weergeven van de submappen in de map 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.