Pertanyaan Bagaimana tim Administrator Sistem berbagi kata sandi dengan aman?


Apa praktik terbaik untuk berbagi ratusan kata sandi di antara beberapa orang? Kata sandi ini melindungi data penting misi, dan tidak pernah dapat terlihat di luar tim kecil.


81
2018-06-02 23:50




Lihat yang terkait serverfault.com/questions/3696/…  serverfault.com/questions/2186/…  serverfault.com/questions/10285/…  serverfault.com/questions/21374/… - Zoredache
BTW ratusan adalah angka yang sangat mengganggu. Apa yang terjadi ketika salah satu anggota tim dipecat? Memperbarui ratusan kata sandi akan sangat menyakitkan. - Zoredache
Diwariskan pada "ratusan adalah hal yang sangat mengganggu". Saya pikir Anda mungkin perlu mencadangkan dan mempertimbangkan kembali bagaimana Anda mengelola seluruh masalah keamanan di tempat pertama daripada mencoba menempelkan plester menempel pada apa yang Anda miliki saat ini. - Maximus Minimus
Agak terkait: serverfault.com/questions/119892  Khususnya jawaban ini: serverfault.com/questions/119892/company-password-management/… - Nathan Hartley


Jawaban:


Saya mungkin akan menulis solusi berbasis web khusus yang dihosting di intranet perusahaan. (melihat http://lastpass.com untuk inspirasi, atau untuk menggunakannya. Berbagi kata sandi adalah salah satu fiturnya, meskipun itu mungkin tidak berfungsi untuk volume Anda.)

EDIT: Tentu, solusi terbaik, jangan bagikan. Menyimpan kata sandi cleartext di media apa pun berbahaya, terutama ketika tujuan menyimpannya adalah untuk membagikannya. Ada sejumlah solusi yang hampir tak terbatas, masing-masing membawa bahaya yang terkait. Mengapa tidak menempatkannya pada gambar disk terenkripsi, membakar gambar itu ke satu CD, memasukkan CD ke dalam brankas yang hanya dapat dibuka oleh satu penjaga bersenjata, dan telah memberi otorisasi kepada orang yang menunjukkan identitas berfoto untuk membukanya?

Intinya adalah kita tidak benar-benar tahu skenario Anda. Mengapa Anda membagikan ratusan kata sandi misi-kritis? Apakah mereka untuk intranet backoffice Anda, VPN, atau apakah itu kata sandi pelanggan yang Anda simpan di dalam plaintext karena alasan tertentu? Apakah semua orang yang Anda butuhkan untuk berbagi dengan instalasi yang sama? Apakah pemindahan fisik seperti CD terenkripsi atau tabel cetak yang disimpan dalam brankas benar-benar berfungsi? Atau sysadmins Anda tersebar di seluruh dunia, membuat sarana elektronik untuk membagikannya hanya larutan?


14
2018-06-02 23:58



IMO Membangun sistem keamanan / enkripsi Anda sendiri hampir tidak pernah merupakan pendekatan yang tepat untuk suatu masalah. - Zoredache
@Zoredache, itu omong kosong. Meskipun, saya pikir solusi berbasis web untuk hosting kata sandi itu bodoh - tetapi dia memang msanford mengatakan intranet. Masih berisiko sekalipun. Sama untuk semua solusi jaringan lainnya. - d-_-b
@Zoredache, OP tidak membangun sistem enkripsi khusus, sepertinya semua yang dia butuhkan adalah basis data yang aman. @sims Saya tidak melihat ada yang salah dengan solusi berbasis web yang dirancang dengan baik. Jawaban yang terpilih memberi kesan bahwa (berbasis web! = Http; berbasis web = disimpan online). Harus diakui, setelah saya membaca pertanyaan ini untuk kedua kalinya, saya setuju bahwa model dasar dari berbagi ton kata sandi tampaknya tidak diperlukan, dan bahwa solusi yang lebih baik dapat dicapai. Tapi OP belum memberikan informasi yang cukup bagi saya untuk membuat penilaian itu ... - msanford
> @Zoredache, itu omong kosong. <Um, Sims, kamu cukup banyak terbang di hadapan kebanyakan orang enkripsi langsung dari kelelawar. Merancang enkripsi sulit, sehingga enkripsi yang bermanfaat lebih sulit. schneier.com/essay-037.html  Kadang-kadang kejahatan yang lebih rendah - yang Anda tahu - adalah pilihan yang lebih baik, ketika berhadapan dengan kejahatan yang tidak Anda ketahui (yaitu desain yang belum diuji, non-peer-review, mungkin memiliki bug, mungkin memiliki lubang keamanan, dll. ) - Avery Payne
@Sebuah - merancang sistem kriptografi sulit dan harus diserahkan kepada para ahli, ya. Menggunakan alat yang sudah teruji, seperti GPG pada file teks bersama, atau Keepass (yang menggunakan implementasi .NET dari AES dan SHA-256) tidak mendesain sistem Anda sendiri. - mfinni


Praktik terbaik adalah tidak membagikan kata sandi. Gunakan alat seperti sudo untuk memungkinkan pengguna mendapatkan akses yang mereka butuhkan dari akun mereka sendiri. Jika Anda memiliki beberapa pengguna, masing-masing harus memiliki akun mereka sendiri jika diperlukan. LDAP (Unix / Linux) dan Active Directory adalah solusi yang baik untuk memberikan akses ke beberapa server dari database umum.

Bila perlu memiliki salinan kata sandi tertulis, segellah dalam amplop yang ditandatangani dan diberi tanggal di seluruh segel. Ubah kata sandi saat digunakan. Ketika kata sandi diubah, segellah sebuah amplop baru.

Untuk kata sandi yang benar-benar perlu dibagikan, gunakan salah satu alat kata sandi seperti Keepass yang dapat memiliki basis data mereka di jaringan. Alat dengan klien untuk berbagai platform lebih baik. Pertimbangkan apakah Anda memerlukan lebih dari satu database. Ingat Anda harus benar-benar mempercayai semua orang yang memiliki akses ke data ini.


38
2018-06-03 00:04



+1 untuk akun pengguna yang tidak berhak untuk admin dengan eskalasi hak istimewa yang mungkin, pada server * nix saya akan menggabungkan itu dengan hanya menggunakan sertifikasi dsa / rsa untuk sshd. Jika Anda melakukan hal-hal dengan alat grafis di bawah linux Anda juga bisa menggunakan konfigurasi policykit yang disesuaikan. - Aaron Tate
Ini. Mencabut akses untuk pengguna saat mereka menggunakan kredensial bersama adalah mimpi buruk absolut. Sebisa mungkin, delegasikan akses melalui akun unik pengguna. Selalu ada beberapa situasi di mana kata sandi umum tidak dapat dihindari, tetapi 'ratusan' dari kata sandi yang dibagikan menjerit cacat desain kritis. - Chris Thorpe
Saya setuju dengan tidak biasanya berbagi kata sandi, tetapi ada banyak situasi di mana diperlukan seperti perangkat jaringan dengan satu login, situs vendor di mana semua sysadmin menggunakan login yang sama untuk memesan, dan SQL sa pengguna atau kata sandi admin lokal di mana perlu. Itulah mengapa saya pikir KeePass yang terbaik untuk ini: ia bekerja pada banyak platform, memungkinkan keamanan yang bagus, dan dengan mudah mengatur ratusan kata sandi. - Paul Kroon
Kami memiliki variasi dalam hal ini, di mana kami memiliki kata sandi root yang ditulis tetapi terkunci dalam brankas yang hanya dimiliki oleh tim sistem untuk membuka kunci. Sandi root kami sendiri memiliki panjang 16 karakter dan dibuat sedemikian rupa agar tidak dapat diingat. Ya, ada beberapa ketidakamanan di sana, tetapi jika seseorang menerobos masuk ke dalam brankas, saya menduga kami memiliki masalah yang lebih besar. - Frenchie
Berikut skenario penggunaan nyata untuk tim kami: berbagi kata sandi untuk aplikasi berbasis web di mana mereka tidak mendukung banyak login untuk satu akun. Jadi, jika lebih dari satu orang di tim harus dapat mengakses akun itu, perlu ada cara untuk membagikan kata sandi untuk akun itu. - Jordan Reiter


Kami telah pergi bersama KeePass untuk tujuan yang tepat ini. Ini adalah program kecil yang hebat yang menyimpan semua kata sandi Anda dalam file database terenkripsi. Ada fitur keamanan tambahan seperti membutuhkan file kunci bersama dengan kata sandi utama untuk mengakses kata sandi. Ini memungkinkan beberapa lapisan keamanan (memisahkan file kunci dan basis data), sambil menjaga agar semua orang dapat bekerja dengan semua kata sandi yang berbeda dengan mudah. Misalnya, Anda dapat menjalankan aplikasi dan file kunci dari drive USB, tetapi menyimpan database di jaringan Anda di suatu tempat. Itu akan membutuhkan kredensial untuk berbagi jaringan, kata sandi utama, dan drive USB fisik dengan file kunci.


10
2018-06-02 23:59



KeePass tampaknya mendukung banyak platform, sebuah kemenangan besar di mata saya (saya bekerja di lingkungan platform campuran). Fitur "tipe-otomatis" juga terlihat berguna. - Avery Payne
Ide bodoh untuk menyimpan kata sandi di jaringan. - d-_-b
@Sims - lalu bagaimana Anda membagikannya? KeePass menggunakan file terenkripsi untuk toko. Ini hanya versi yang lebih dapat digunakan dari file teks terenkripsi GPG pada server Unix yang dapat diakses oleh semua orang. - mfinni
@Sims - Saya biasanya setuju dengan Anda, tetapi itu menjadi situasi keamanan vs produktivitas. Saya tidak ingin menempatkan kata sandi root server dalam sesuatu seperti ini, tetapi kata sandi admin dari switch Layer 2 yang hanya memiliki satu login adalah kandidat yang baik untuk ini. Ada suatu titik ketika dibutuhkan lebih banyak pekerjaan yang melakukan hal-hal dengan cara yang lebih aman daripada membersihkan setelah pelanggaran keamanan. Plus, di atas semua enkripsi, Anda akan memiliki keamanan AD / NTFS pada file, dan sedikit ketidakjelasan dengan meletakkan file (yang dapat diberi nama apa pun) di lokasi acak. - Paul Kroon
Saya tidak memikirkan mesin Windows. Tapi ya, jika Anda hanya dapat memiliki satu pengguna untuk switch itu, maka saya kira itu masuk akal. Kalau tidak, seperti kata Bill, katakan tidak untuk kata sandi bersama, yang juga merupakan poin saya tentang kunci. - d-_-b


Apa praktik terbaik untuk berbagi ratusan kata sandi di antara beberapa orang?

Mudah, ini hadir dalam dua rasa:

  1. Anda tidak, polos dan sederhana. Jika Anda memilih untuk melakukan ini, Anda menunda otentikasi kata sandi kepada otoritas tepercaya eksternal dan mengontrol otentikasi dari sana.

  2. Anda melakukannya, tetapi dengan demikian, Anda memiliki kontrol akses eksternal yang memiliki kata sandi atau token keamanan yang tidak tercatat di dalam sistem yang Anda gunakan (yaitu kata sandi dilindungi oleh kata sandi lain yang memiliki ketersediaan terbatas). Ada banyak masalah dengan ini.

Kata sandi ini melindungi data penting misi, dan tidak pernah dapat terlihat di luar tim kecil.

Anda harus serius mempertimbangkan layanan otentikasi aman yang terintegrasi dengan layanan direktori untuk mengatasi masalah ini. Kombinasi DS / AS menciptakan "otoritas" tepercaya yang dapat bertindak sebagai arbiter untuk semua pengguna dan perangkat Anda. Akun pengguna dapat dipisahkan aksesnya dari kata sandi yang sebenarnya digunakan dalam otentikasi, sehingga mudah untuk "memutuskan" kata sandi dari kebijakan akses. Kontrol kata sandi adalah dengan menonaktifkan akun pengguna; jadi jika admin pergi, Anda cukup mematikan akunnya, dan akses mereka hilang (karena kata sandi orang itu hanya memberikan akses berdasarkan validitas DS / AS yang mengonfirmasi akun valid).

Ini hanya akan berfungsi saat Anda berada di lingkungan yang memungkinkan perangkat / program Anda untuk mengecilkan permintaan autentikasi mereka ke sumber eksternal, jadi ini mungkin bukan solusi bagi Anda. Jika Anda memiliki persentase yang signifikan dari perangkat / program yang dapat mengakomodasi otentikasi eksternal, maka saya akan melanjutkan dan melakukan ini, jika hanya mengonsolidasikan beberapa ratus kata sandi ke daftar yang dapat dikelola, misalnya, selusin. Jika Anda memutuskan untuk pergi ke rute ini, ada beberapa solusi yang sudah dikenal dan teruji untuk hal ini.

  • Direktori Aktif.  Mungkin yang paling terkenal dari grup, memberi Anda Kerberos sebagai opsi otentikasi, dan menyediakan LDAP untuk DS dasar.
  • Samba / Winbind.  Anggap saja ini sebagai "Active Directory Light", Anda tidak mendapatkan semua fitur AD melainkan model lama berdasarkan NT4 (pikirkan LANMAN hash). Ini akan digantikan dengan integrasi AD Samba 4 dan mungkin akan "pergi".
  • Layanan Direktori Novell.  Saya tidak cukup tahu tentang itu untuk merekomendasikannya, tetapi saya tahu itu masih ada. Banyak entitas pemerintah masih menjalankan NDS, jadi jika Anda bekerja di "sektor" itu, itu akan menarik bagi Anda. Novell baru-baru ini mengirim NDS untuk dijalankan sebagai layanan Linux, tetapi saya tidak tahu apakah itu masih merupakan produk aktif (sekitar tahun 2005).
  • LDAP + Kerberos.  Ini pada dasarnya adalah direktori aktif "home grown", minus semua "fitur bagus". Namun, mereka juga dikenal komponen dengan basis kode yang stabil, matang, sehingga integrasi layanan ini biasanya tingkat "kustomisasi" yang diperlukan untuk membuat sesuatu bekerja.
  • SSH Keys + (sisipkan program administrasi sistem di sini, mungkin boneka).Hanya berguna di mana Anda memiliki SSH di seluruh papan dan semua perangkat diakses dengan cara ini. Kunci dapat dibagikan dan dicabut sesuai kebutuhan, dan kata sandi menjadi "tidak relevan" karena kunci SSH memberikan akses. Menggunakan sistem seperti wayang memungkinkan Anda memperbarui ratusan mesin dengan mengeluarkan perintah secara massal untuk menambahkan / mencabut kunci SSH.
  • Beberapa kombinasi di atas.

Ada juga pertanyaan tentang seberapa banyak keamanan yang Anda butuhkan. Anda tidak menyebutkan jika "misi kritis" yang Anda maksudkan bahwa hulu ledak nuklir dapat menghujani kota, atau jika "misi kritis" berarti pengiriman terakhir Furbies tidak akan masuk ke kota. Akan sangat membantu jika ada sesuatu yang menggambarkan penilaian risiko / ancaman.


5
2018-06-03 20:37





Saya tahu ini adalah pertanyaan lama tapi saya baru saja menemukan solusi berbasis web opensource yang disebut Vault Perusahaan yang mungkin menarik bagi sebagian orang. Saya belum punya kesempatan untuk mencobanya.


2
2017-12-16 00:31





kami menggunakan program yang disebut Kata sandi aman. itu bagus dan sangat aman, Anda dapat mengatur database pada drive jaringan dan memberi setiap orang yang membutuhkannya akses dan kata sandi ke brankas itu sendiri, yang kemudian menyimpan semua nama pengguna dan kata sandi yang dienkripsi dengan aman.


1
2018-06-03 02:57





Beberapa hal:

  • Seperti yang orang lain katakan, ini ide yang buruk. Gunakan LDAP, dll
  • Jika Anda berkomitmen untuk melakukan ini karena alasan apa pun, setidaknya satukan kata sandi. 100 kata sandi yang tidak dikelola berarti Anda tidak memperbarui kata sandi.
  • Simpan di atas kertas. Minta staf itu menandatangani kertas dengan tinta warna yang berbeda agar lebih mudah untuk menentukan apakah lembar itu disalin.
  • Jika Anda menggunakan Unix, gunakan S / KEY untuk membuat kata sandi satu kali. Simpan itu di tempat yang aman.

Anda juga harus melampaui ukuran keamanan mekanis untuk memasukkan kata sandi kertas dalam brankas atau mengenkripsi kata sandi. Baca terus tentang bagaimana organisasi dengan model keamanan yang matang mengamankan kunci dan kombinasi yang aman. Saya tidak menyarankan melakukan apa yang ingin Anda lakukan, tetapi jika Anda melakukannya:

  • Orang-orang yang akan menggunakan kata sandi tidak dapat mengontrol akses ke kata sandi. Sekelompok orang yang berbeda di bawah rantai manajemen yang berbeda perlu mengendalikan akses ke brankas, laci, dll. Jika Anda memiliki kelompok keuangan, mereka mungkin seorang kandidat. Mungkin Wakil Direktur Pemasaran, dll.
  • Perlu ada catatan tertulis ketika brankas dibuka dan seseorang mengambil sandi.
  • Kata sandi harus diubah dalam 24 jam setelah diperiksa.

Prosedur seperti ini adalah rasa sakit di leher, tetapi akan berfungsi sebagai insentif bagi orang untuk mengadopsi praktik yang lebih waras. Jika Anda tidak melakukan sesuatu seperti yang saya jelaskan, jangan repot-repot melakukan gerakan mengunci kata sandi, karena Anda baru saja akan dilanggar suatu hari nanti.


1
2018-06-03 15:06