Mengurangi risiko menggunakan AWS CLI untuk menyimpan rahasia Anda AWS Secrets Manager - AWS Secrets Manager

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengurangi risiko menggunakan AWS CLI untuk menyimpan rahasia Anda AWS Secrets Manager

Saat Anda menggunakan AWS Command Line Interface (AWS CLI) untuk menjalankan AWS operasi, Anda memasukkan perintah tersebut di shell perintah. Misalnya, Anda dapat menggunakan prompt perintah Windows atau Windows PowerShell, atau shell Bash atau Z, antara lain. Banyak dari shell perintah ini mencakup fungsionalitas yang dirancang untuk meningkatkan produktivitas. Tetapi fungsi ini dapat digunakan untuk mengkompromikan rahasia Anda. Misalnya, di sebagian besar shell, Anda dapat menggunakan tombol panah atas untuk melihat perintah yang terakhir dimasukkan. Fitur riwayat perintah dapat dimanfaatkan oleh siapa saja yang mengakses sesi tanpa jaminan Anda. Selain itu, utilitas lain yang bekerja di latar belakang mungkin memiliki akses ke parameter perintah Anda, dengan tujuan yang dimaksudkan untuk membantu Anda melakukan tugas dengan lebih efisien. Untuk mengurangi risiko tersebut, pastikan Anda mengambil langkah-langkah berikut:

  • Selalu kunci komputer Anda ketika Anda berjalan menjauh dari konsol Anda.

  • Copot pemasangan atau nonaktifkan utilitas konsol yang tidak perlu atau tidak lagi digunakan.

  • Pastikan shell atau program akses jarak jauh, jika Anda menggunakan salah satu atau yang lain, jangan mencatat perintah yang diketik.

  • Gunakan teknik untuk meneruskan parameter yang tidak ditangkap oleh riwayat perintah shell. Contoh berikut menunjukkan bagaimana Anda dapat mengetik teks rahasia ke dalam file teks, dan kemudian meneruskan file ke AWS Secrets Manager perintah dan segera menghancurkan file. Ini berarti riwayat shell yang khas tidak menangkap teks rahasia.

    Contoh berikut menunjukkan perintah Linux yang khas tetapi shell Anda mungkin memerlukan perintah yang sedikit berbeda:

    $ 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.

Setelah Anda menjalankan perintah ini, Anda harus dapat menggunakan panah atas dan bawah untuk menggulir melalui riwayat perintah dan melihat bahwa teks rahasia tidak ditampilkan pada baris apa pun.

penting

Secara default, Anda tidak dapat melakukan teknik yang setara di Windows kecuali Anda terlebih dahulu mengurangi ukuran buffer riwayat perintah menjadi 1.

Untuk mengkonfigurasi Windows Command Prompt untuk hanya memiliki 1 buffer riwayat perintah dari 1 perintah
  1. Buka prompt perintah Administrator (Jalankan sebagai administrator).

  2. Pilih ikon di kiri atas, lalu pilih Properties.

  3. Pada tab Options, atur Buffer Size dan Number of Buffer keduanya ke1, lalu pilih OK.

  4. Setiap kali Anda harus mengetik perintah yang tidak Anda inginkan dalam riwayat, segera ikuti dengan satu perintah lain, seperti:

    echo.

    Ini memastikan Anda menyiram perintah sensitif.

Untuk shell Windows Command Prompt, Anda dapat mengunduh alat SysInternalsSDelete, dan kemudian menggunakan perintah yang mirip dengan yang berikut ini:

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.