Saya telah bekerja di organisasi di mana alih-alih membuat pengguna Ubuntu baru per orang yang ingin masuk ke mesin, sysadmin hanya menambahkan kunci ssh dari setiap pengguna .ssh/authorized_keys
, dan semua orang ssh
ke mesin sebagai ( misalnya ) ubuntu@host
atau ec2-user@host
. (Kebetulan, saya juga melihat ini dipraktikkan di mini Mac bersama dalam pengaturan lab.) Apakah ini praktik yang diterima, atau anti-pola?
Host yang dimaksud terutama digunakan untuk pengujian, tetapi ada juga tindakan yang diambil yang biasanya memerlukan konfigurasi per-pengguna dan dilacak sebagai yang dilakukan oleh pengguna tertentu, seperti membuat dan mendorong komit git, yang saat ini dilakukan dengan menggunakan generik git pengguna.
ssh
user-management
user22a6db72d7249
sumber
sumber
Jawaban:
Ya itu kebiasaan buruk. Itu bergantung pada asumsi dasar bahwa tidak ada orang jahat yang (atau akan) ada di sekitar dan tidak ada yang membuat kesalahan. Memiliki akun bersama menjadikannya hal yang sepele untuk terjadi tanpa akuntabilitas dan tanpa batasan apa pun - pengguna yang melanggar sesuatu merusaknya untuk semua orang.
Jika alasan skema pembagian uid ini hanya untuk mengurangi biaya administrasi pembuatan akun baru dan konfigurasi berbagi, maka mungkin administrator harus menginvestasikan waktu dalam sistem otomatisasi seperti Ansible , Chef , Puppet atau Salt yang membuat barang-barang seperti membuat pengguna akun di banyak mesin sangat sederhana.
sumber
Untuk mulai dengan ini tidak mengejutkan saya, dan saya bekerja di lingkungan yang sangat aman. Setiap orang memiliki pengguna sendiri, mesin, dan kunci ssh, dan untuk bekerja di server kami ssh, sebagai root atau sebagai pengguna lain, melalui relai pencatatan jika perlu. Semua yang kami lakukan dicatat sebagai telah dilakukan oleh pemilik kunci ssh, jadi akuntabilitasnya OK.
Apa alternatifnya? Banyak hal yang harus dilakukan sebagai pengguna tertentu, belum lagi root. Sudo? Tidak apa-apa untuk tugas-tugas tertentu yang sangat terbatas, tetapi tidak untuk sysadminning mesin.
Namun saya tidak yakin tentang paragraf terakhir Anda, apakah maksud Anda seseorang dapat mendorong git melakukan sebuah pengguna generik? Itu akan merusak akuntabilitas, dan melanggar akuntabilitas itu buruk. Kami melakukan git dari mesin tempat kami masuk dan kami mengotentikasi untuk git dengan kunci ssh kami ...
Otentikasi, otorisasi, dan akuntansi (AAA) adalah ungkapan klasik: Anda diautentikasi dengan kunci ssh Anda, Anda diotorisasi untuk melakukan apa pun yang dapat dilakukan oleh pengguna umum karena kunci Anda ada di dalam kunci otor_, dan Anda perlu akuntansi sehingga apa yang Anda lakukan dapat ditinjau setelah fakta.
sumber
sudo
dapat diterima untuk administrasi umum mesin?Ini jelas tergantung pada kasus penggunaan sistem. Jika ini adalah sistem untuk pengujian dari waktu ke waktu tidak masalah bagi saya. Kami juga memiliki sistem seperti itu. Jika perusahaan tidak memiliki manajemen identitas apa pun (LDAP, IPA), maka membuat pengguna baru tanpa kendali jarak jauh pada sistem acak cukup membebani.
Tetapi untuk pekerjaan sehari-hari ketika kesalahan seseorang membuat seluruh perusahaan tidak dapat beroperasi bukanlah ide yang baik.
sumber
Semua jawaban itu membahas masalah akuntabilitas yang merupakan masalah penting dan nyata dalam dirinya sendiri, tetapi menggunakan akun bersama juga memungkinkan untuk serangan yang tidak terlalu halus pada pengguna lain:
Pertimbangkan penyerang membuat
ssh
skrip berbahaya yang mencatat kata sandi yang diketikkan dan meletakkannya diPATH
untuk pengguna yang dibagikan itu (yang dilakukan dengan mudah). Sekarang orang berikutnya yang masuk ke mesin itu dengan pengguna yang dibagikan dan memutuskan kessh
tempat lain (kali ini dengan akun pribadinya, yang tidak dibagikan,) mungkin memiliki kejutan yang tidak menyenangkan.Pada dasarnya, menggunakan akun bersama di komputer sama seperti minum dari foot bath di kolam renang umum.
sumber
Secara umum, berbagi satu akun adalah ide yang buruk karena alasan berikut:
Dan tentunya ada lebih banyak kerugian ... Tapi saya tidak ingin membahasnya lebih jauh.
Intinya adalah, mungkin Anda menghadapi kebutuhan untuk berbagi akun untuk mengelola layanan yang dijalankan di bawah akun pengguna tertentu di mana semua admin harus dapat mengakses.
Dalam pengaturan seperti itu, Anda memiliki kemungkinan untuk membagikan akun ini untuk masuk (untuk revisi di atas saya lebih suka tidak melakukan ini) atau Anda masuk secara individual dan mengalihkan pengguna kemudian ke akun bersama (saya sarankan).
Alat audit masih akan memungkinkan Anda untuk melacak siapa yang telah melakukan apa tetapi masih berbagi akun yang sama.
sumber