Apa solusi terbaik untuk mengelola kata sandi root dari ribuan server

12

Saya seorang administrator sistem. Dalam lingkungan produksi saya perlu mengelola ribuan server. Rekan-rekan saya dan saya menggunakan server kelola pusat dan mendistribusikan kunci publiknya melalui server lain. Jadi kita bisa menggunakan server kelola ini untuk ssh ke server lain.

Terkadang kita perlu menggunakan kata sandi root, misalnya ketika server sedang down, kita perlu menggunakan iLO untuk menentukan alasannya.

Saat ini, kami menggunakan kata sandi root bersama. Itu tidak aman. Saya juga melihat beberapa solusi server tunggal seperti OPIE(One-time Passwords In Everything), tetapi karena kami memiliki begitu banyak server, ini bukan ide yang sangat bagus.

EDIT:

Apa yang saya inginkan dari solusi pengelolaan kata sandi adalah:

  1. Seharusnya aman, jadi One-time Password adalah solusi yang bagus.
  2. Kata sandi dapat dengan mudah dimasukkan, kadang-kadang kita perlu melampirkan monitor ke server, atau dengan iLO seperti yang saya sebutkan di atas.
  3. Solusinya harus bekerja walaupun server offline (tanpa koneksi jaringan apa pun)

Jadi itu bukan ide yang sangat baik untuk mengatur kata sandi root ke string yang panjang dan acak, meskipun itu dihasilkan dari beberapa perintah yang dikenal (seperti openssl passwd). Sulit untuk diingat, dan terkadang sulit untuk menghasilkan (tanpa laptop saya di sekitar)

yegle
sumber
1
Apakah Anda sudah menggunakan sistem manajemen konfigurasi seperti boneka? Apa yang kamu gunakan?
Zoredache
Wayang ++ untuk ini.
Tom O'Connor
Kami menggunakan cfengine :-)
yegle

Jawaban:

5

Anda dapat menggunakan Wayang untuk mendorong perubahan kata sandi ke semua server Anda. Anda akan mendefinisikan rootmenggunakan usertipe seperti:

    user { 'root':
            ensure => present,
            password => '$1$blablah$blahblahblahblah',
    }

Untuk menghasilkan kata sandi terenkripsi:

openssl passwd -1 -salt "blah"

Saya sarankan mungkin mengubahnya setiap bulan atau lebih --- mungkin menggunakan skema yang dihafal oleh SA Anda. Anda juga bisa mendistribusikannya melalui metode yang aman atau memasukkannya ke dalam brankas.

Belmin Fernandez
sumber
3

Anda selalu bisa mengatur kata sandi yang dinonaktifkan. Ini akan mencegah akses jaringan untuk melakukan root, dan jika Anda boot ke mode pengguna tunggal, sebagian besar distribusi akan langsung boot ke shell.

Ini mungkin tidak sebesar masalah keamanan seperti yang mungkin Anda pikirkan. Ini sepele untuk mem-bypass kata sandi root, kecuali Anda telah mengunci grub dengan kata sandi, cukup banyak orang yang bisa memberi tahu grub untuk memulai bash alih-alih initrd.

Tentu saja ini bisa berarti, bahwa Anda seharusnya mencari tahu cara melindungi kata sandi boot-loader Anda.

Sakit kepala
sumber
0

Anda dapat menggunakan kata sandi satu kali dengan manajemen pusat. Saya tahu, bahwa ini tidak sesuai dengan "harus berfungsi ketika eth sedang offline dan server diakses dengan iLO".

Pokoknya: Pertanyaannya adalah, seberapa sering server offline.

Jadi Anda bisa memikirkan pengaturan berikut:

Gunakan solusi OTP yang dikelola secara terpusat seperti privacyidea ( http://www.privacyidea.org ). Anda dapat menetapkan beberapa token OTP berbeda untuk pengguna root. Setiap token memiliki PIN OTP yang berbeda dan merupakan perangkat yang berbeda. Dengan demikian, semua kolega Anda dapat masuk sebagai root pengguna tetapi dalam log audit Anda akan melihat token mana yang diautentikasi, sehingga Anda dapat mengetahui kolega mana yang masuk saat itu.

Di server, Anda perlu mengonfigurasi pam_radius untuk meneruskan permintaan otentikasi ke RADIUS dan privacyIDEA.

Kekecewaan. Sekarang server Anda menjadi offline. Dalam hal ini Anda harus bermain dengan tumpukan pam Anda. Saya bisa memikirkan sesuatu seperti:

auth sufficient pam_unix.so
auth required pam_radius.so use_first_pass

Sehingga Anda dapat masuk dengan kata sandi tetap offline, dan sebaliknya kata sandi akan diserahkan ke pam_radius dan divalidasi sebagai OTP terhadap privacyIDEA.

Lihat ini howto https://www.howtoforge.com/manage-two-factor-authentication-in-your-serverfarm-with-privacyidea .

cornelinux
sumber