Apakah variabel lingkungan Elastic Beanstalk merupakan tempat yang tepat untuk menyimpan nilai rahasia?

15

Saya telah menyebarkan aplikasi Django saya ke Elastic Beanstalk dengan maksud untuk menggunakan antarmuka konfigurasi variabel lingkungannya untuk menyimpan kunci API saya alih-alih menyimpannya di sumber saya (seperti dijelaskan di sini /programming//a/17878600 ).

Setelah melakukan ini, saya menemukan bahwa apa yang Beanstalk sebut sebagai variabel lingkungan sebenarnya bukan variabel lingkungan shell (seperti yang disebutkan di sini /programming//a/24564832/378638 ) dan disimpan pada instance dalam file konfigurasi (seperti dijelaskan di sini /programming//a/24566283/378638 ).

Ini sepertinya masalah keamanan bagi saya. Bukankah ini mengalahkan tujuan menjaga kunci rahasia dari sumber? Saya mengerti mereka tidak lagi di repo, tetapi mereka masih dapat diakses pada contoh.

Apakah saya salah memahami risiko? Saya sysadmin karena warisan jadi tolong permisi ketidaktahuan saya di sini. Haruskah saya memuat variabel Beanstalk sebagai variabel lingkungan shell melalui file konfigurasi dan melanjutkan karena file hanya dapat diakses melalui root, atau apakah kekhawatiran saya valid? Terima kasih.

M. Keller
sumber

Jawaban:

12

Inti dari menjaga rahasia dari kode sumber adalah agar mereka tidak masuk ke kontrol sumber . Ini sangat berguna dalam proyek sumber terbuka.

Saat digunakan, tidak masalah apakah rahasianya ada di file atau envvar. Yang penting adalah hanya pengguna OS yang menjalankan program Anda yang dapat membacanya. Ini adalah default untuk para envvars, yang nyaman.

Root selalu bisa membaca semuanya. Jadi Amazon dapat mengetahui nilai rahasia Anda jika mereka mau, karena mereka adalah root.

Mereka mendukung modul keamanan perangkat keras yang mahal (HSM), yang akan membuat kunci Anda tidak dapat dibaca. Tentu saja, mereka masih bisa menggunakan HSM untuk mendekripsi barang-barang Anda, hanya saja tidak pernah mendapatkan kunci yang sebenarnya.

Jadi, Anda harus memercayai Amazon, atau meng-host barang sendiri, atau berkolokasi.

Neil McGuigan
sumber