Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Riduci i rischi derivanti dall'utilizzo di AWS CLI per archiviare i tuoi segreti AWS Secrets Manager
Quando usi il AWS Command Line Interface (AWS CLI) per richiamare AWS le operazioni, inserisci tali comandi in una shell di comando. Ad esempio, è possibile utilizzare il prompt dei comandi di Windows o Windows PowerShell oppure la shell Bash o Z, tra le altre. Molte di queste shell di comando includono funzionalità progettate per aumentare la produttività. Ma queste funzionalità possono essere utilizzate per compromettere i tuoi segreti. Ad esempio, nella maggior parte delle shell puoi utilizzare il tasto freccia verso l'alto per visualizzare l'ultimo comando inserito. La funzionalità di cronologia dei comandi può essere sfruttata da chiunque acceda alla tua sessione non protetta. Inoltre, altre utility che funzionano in background potrebbero accedere ai parametri di comando, con l'obiettivo di aiutarti a eseguire le tue attività in modo più efficace. Per ridurre tali rischi, accertati di procedere nel modo seguente:
-
Blocca sempre il tuo computer quando ti allontani dalla console.
-
Disinstallare o disattivare le utility della console non necessarie o non più utilizzate.
-
Assicurarsi che la shell o il programma di accesso remoto, se viene utilizzato l'uno o l'altro, non registrino i comandi digitati.
-
Utilizzare le tecniche per inviare parametri non acquisiti dalla cronologia dei comandi della shell. L'esempio seguente mostra come digitare il testo segreto in un file di testo, quindi passare il file al AWS Secrets Manager comando e distruggerlo immediatamente. Ciò significa che la tipica cronologia dei comandi della shell non cattura il testo del segreto.
L'esempio seguente mostra i comandi tipici di Linux, ma la tua shell potrebbe prevedere comandi lievemente diversi:
$
touch secret.txt # Creates an empty text file
$
chmod go-rx secret.txt # Restricts access to the file to only the user
$
cat > secret.txt # Redirects standard input (STDIN) to the text file
ThisIsMyTopSecretPassword^D # Everything the user types from this point up to the CTRL-D (^D) is saved in the file
$
aws secretsmanager create-secret --name TestSecret --secret-string file://secret.txt # The Secrets Manager command takes the --secret-string parameter from the contents of the file
$
shred -u secret.txt # The file is destroyed so it can no longer be accessed.
Dopo l'esecuzione di questi comandi, dovresti essere in grado di usare le frecce verso l'alto e il basso per scorrere la cronologia dei comandi e vedere che il testo del segreto non è presente in alcuna riga.
Importante
Per impostazione predefinita, non puoi adottare una tecnica equivalente in Windows a meno che prima tu non riduca a 1 le dimensioni del buffer della cronologia dei comandi.
Per configurare il prompt dei comandi di Windows affinché presenti solo 1 buffer della cronologia dei comandi di 1 comando
-
Aprire un prompt dei comandi amministratore (Run as administrator (Esegui come amministratore)).
-
Scegliere l'icona in alto a sinistra, quindi selezionare Properties (Proprietà).
-
Nella scheda Options (Opzioni) imposta Buffer Size (Dimensioni buffer) e Number of Buffers (Numero di buffer) entrambi su
1
, quindi scegli OK. -
Ogni volta che devi digitare un comando che non vuoi includere nella cronologia, fallo seguire immediatamente da un altro comando, ad esempio:
echo.
In questo modo sei sicuro che il comando sensibile non venga incluso.
Per la shell del prompt dei comandi di Windows, è possibile scaricare lo SysInternalsSDelete
C:\>
echo. 2> secret.txt # Creates an empty file
C:\>
icacls secret.txt /remove "BUILTIN\Administrators" "NT AUTHORITY/SYSTEM" /inheritance:r # Restricts access to the file to only the owner
C:\>
copy con secret.txt /y # Redirects the keyboard to text file, suppressing prompt to overwrite
THIS IS MY TOP SECRET PASSWORD^Z # Everything the user types from this point up to the CTRL-Z (^Z) is saved in the file
C:\>
aws secretsmanager create-secret --name TestSecret --secret-string file://secret.txt # The Secrets Manager command takes the --secret-string parameter from the contents of the file
C:\>
sdelete secret.txt # The file is destroyed so it can no longer be accessed.