Saya telah membaca beberapa posting tentang penggunaan PermitUserEnvironment
dan file ~/.ssh/environment
untuk meneruskan variabel env ke shell ssh. Dokumen sshd resmi dan beberapa sumber daya lainnya menyinggung beberapa risiko keamanan melakukan hal ini.
Mengaktifkan pemrosesan lingkungan dapat memungkinkan pengguna untuk melewati pembatasan akses di beberapa konfigurasi menggunakan mekanisme seperti LD_PRELOAD.
Apa kemungkinan masalah pengaktifan PermitUserEnvironment
? Saya mencari untuk menyimpan rincian koneksi DB dalam variabel lingkungan ini, apakah ini disarankan?
security
ssh
environment-variables
Rob Squires
sumber
sumber
Jawaban:
Pertama-tama, jika Anda tidak mencoba melakukan apa pun dengan pembatasan akses pengguna - yaitu, jika Anda menawarkan akses shell interaktif - mungkin tidak ada risiko keamanan tambahan dalam mengizinkan penggunaan
.ssh/environment
file, karena apa pun yang pengguna dapat melakukannya dengan file yang mereka juga bisa lakukan secara interaktif di shell mereka.Jika Anda menggunakan perintah paksa SSH untuk membatasi apa yang dapat dilakukan orang melalui ssh (misalnya, jika Anda membatasi orang hanya menggunakan
sftp
atauscp
), memungkinkan seseorang untuk mengatur variabel lingkungan sepertiLD_PRELOAD
(atau bahkan mungkinPATH
) akan memungkinkan mereka untuk membajak Anda pembatasan dengan mengganti panggilan pustaka dasar dengan kode mereka sendiri. Di sisi lain, jika Anda membuat.ssh/environment
atas nama pengguna Anda dan mereka tidak dapat mengelolanya, risiko Anda relatif kecil.Tanpa mengetahui lebih lanjut tentang use case khusus Anda, sulit untuk memberikan jawaban yang pasti.
sumber