Nonaktifkan penyimpanan kata sandi svn plaintext untuk semua pengguna

9

Secara default, Subversion memungkinkan pengguna untuk menyimpan kata sandi dalam plaintext di ~/.subversion/auth/svn.simple. Saya sedang menyelidiki opsi untuk menyimpan kata sandi terenkripsi di svn , tetapi setidaknya dan ASAP, saya ingin sepenuhnya menonaktifkan kemampuan untuk menyimpan kata sandi untuk semua pengguna kami. Kami menjalankan Subversion 1.6.17.

Saya dapat menonaktifkan ini dalam direktori home pengguna melalui file konfigurasi.

~ / .subversion / server :

[global]
# Password / passphrase caching parameters:
store-passwords = no
store-plaintext-passwords = no

Namun, pengguna dapat mengubah file konfigurasi jika mereka mau. Apakah tidak ada file konfigurasi svn seluruh sistem? Beberapa opsi yang pernah saya lihat:

Pilihan 1

Di 1.8-dev, skrip konfigurasi Subversion menerima opsi --disable-plaintext-password-storage untuk memotong logika yang menyimpan kata sandi plaintext dan frasa sandi sertifikat klien.

Saya lebih suka tidak memperbarui ke rilis pengembangan.

pilihan 2

/etc/subversion/config

AFAIK, file konfigurasi ini hanya digunakan ketika pengguna belum memiliki file konfigurasi di direktori home mereka.

Opsi 3

Tambahkan tugas cron untuk menghapus cache auth pengguna ~/.subversion/auth/svn.simple. Jadi, bahkan jika mereka mengubah file konfigurasi svn mereka, maka tugas cron kami akan membunuh semua kata sandi yang disimpan. Namun, bahkan menjalankannya setiap menit tidak menjamin bahwa sistem cadangan kami tidak akan mengambil file yang berisi kata sandi plaintext.

Ide ide?

Banjer
sumber
Apakah Anda mengontrol server? Mengapa tidak menggunakan kunci SSH plus, atau Kerberos alih-alih otentikasi kata sandi?
Mikel
ya saya admin.
Banjer

Jawaban:

6

Kamu tidak bisa

Apa pun yang Anda lakukan, pengguna Anda dapat memotong dan menyimpan kata sandi mereka dalam file teks biasa. Jika Anda menonaktifkan fitur dalam biner klien, mereka akan mengunduh atau mengompilasi klien yang berbeda. Sebagai aturan, jika Anda mengatur langkah-langkah keamanan yang menjengkelkan (seperti harus mengetikkan kata sandi untuk setiap operasi svn), pengguna Anda akan mem-bypass mereka dengan cara yang membuat keamanan lebih buruk. (Misalnya, menulis skrip pembungkus yang berisi kata sandi mereka. Yang akan membuat mereka dapat dibaca dunia.) Jadi jangan lakukan itu.

Untuk mengulangi: Anda tidak bisa, dengan langkah-langkah teknis saja, mencegah pengguna menyimpan kata sandi mereka dalam file. Anda dapat melarangnya, tetapi jika itu membuat hidup mereka sulit, mereka tetap akan melakukannya.

Jika Anda khawatir tentang pencurian laptop atau cadangan, enkripsi direktori home pengguna. Ini akan melindungi kata sandi serta data. Jika seluruh direktori home dienkripsi, kata sandi enkripsi biasanya sama dengan kata sandi login, untuk alasan kegunaan. Pastikan Anda memiliki kebijakan cadangan kata sandi (misalnya amplop tertutup), karena kehilangan kata sandi enkripsi tidak dapat dipulihkan.

Jika Anda khawatir tentang penggunaan kembali kata sandi, berikan kata sandi acak (karenanya unik), yang akan mereka ketikkan sekali dan untuk semuanya ke klien mereka. Tentu saja memiliki proses sederhana untuk mengubah kata sandi yang disusupi.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Poin hebat di sekitar. Saya sudah pasti melihat pengguna menghindari protokol yang kami miliki untuk membuat hidup mereka lebih mudah. Saya harus melihat apa lagi yang ditawarkan svn dengan cara otentikasi yang tidak mengganggu pengguna, seperti berbasis kunci.
Banjer
0

BTW bahkan sebelum mengenkripsi apa pun, saya akan mengurus izin file: cukup periksa pengaturan saya sendiri karena penasaran, dan ternyata ini dapat dibaca dunia. Untuk file yang berisi kata sandi yang jelas, bagiku itu seperti lubang keamanan.

pengguna32379
sumber