Що найкраще рішення для управління кореневим паролем тисяч серверів


12

Я системний адміністратор. У виробничому середовищі мені потрібно керувати тисячами серверів. Ми з колегами використовуємо центральний сервер управління та розповсюджуємо його відкритий ключ через інші сервери. Тож ми можемо використовувати цей сервер управління для передачі ssh на інші сервери.

Іноді нам потрібно використовувати кореневий пароль, наприклад, коли сервер не працює, нам потрібно використовувати iLO, щоб визначити причину.

Наразі ми використовуємо загальний пароль root. Це небезпечно. Я також переглянув якесь одне серверне рішення на зразок OPIE(Одноразові паролі у всьому), але оскільки у нас так багато серверів, це не дуже гарна ідея.

Редагувати:

Що я хочу від рішення щодо управління паролем:

  1. Це повинно бути безпечним, тому одноразовий пароль - чудове рішення.
  2. Пароль можна легко ввести, іноді нам потрібно приєднати монітор до сервера або за допомогою iLO, як я вже згадував вище.
  3. Рішення повинно працювати навіть в режимі офлайн (без мережевого підключення)

Тож не дуже гарна ідея встановити корінний пароль на довгий і випадковий рядок, хоча він генерується з якоїсь відомої команди (як openssl passwd). Важко запам'ятати, а іноді важко генерувати (без мого ноутбука)


1
Ви вже використовуєте таку систему управління конфігурацією, як лялька? Що ви використовуєте?
Зоредаче

Лялька ++ для цього.
Том О'Коннор

Ми використовуємо cfengine :-)
yegle

Відповіді:


5

Ви можете використовувати Puppet, щоб висунути зміну пароля на всі свої сервери. Ви б визначили, rootвикористовуючи такий userтип :

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

Щоб створити зашифрований пароль:

openssl passwd -1 -salt "blah"

Я б запропонував, можливо, змінювати її щомісяця або близько того --- можливо, використовуючи схему, яку запам'ятали ваші СА. Ви також можете поширити його безпечним методом або поставити його в сейф.


3

Ви завжди можете просто встановити відключений пароль. Це запобіжить будь-якому доступу мережі до root, і якщо ви завантажуєтесь в єдиному режимі користувача, більшість дистрибутивів завантажуватимуться прямо в оболонку.

Це, ймовірно, не так важливо з питаннями безпеки, як ви могли подумати. Тривіально обходити пароль root у будь-якому випадку, якщо ви не заблокували grub із паролем, майже кожен може просто сказати grub, щоб почати bash замість initrd.

Звичайно, це може означати, що натомість ви повинні з'ясувати, як захистити паролем натомість завантажувач.


0

Ви можете використовувати одноразові паролі з центральним управлінням. Я знаю, що це не підходить до "повинно працювати, коли eth офлайн і на сервері доступ до iLO".

У будь-якому разі: питання в тому, як часто сервер перебуває в режимі офлайн.

Отже, ви можете подумати про наступне налаштування:

Використовуйте централізовано кероване рішення OTP, як privacyidea ( http://www.privacyidea.org ). Ви можете призначити декілька різних маркерів OTP кореневому користувачеві. Кожен маркер має інший PIN-код OTP і є іншим пристроєм. Таким чином, всі ваші колеги можуть увійти як користувальницький корінь, але в журналі аудиту ви побачите, який маркер автентифікований, тож ви можете знати, який колега ввійшов у цей час.

На серверах потрібно налаштувати pam_radius для передачі запиту автентифікації на RADIUS та privacyIDEA.

Бампер. Тепер ваш сервер перебуває в автономному режимі. У цьому випадку вам слід грати зі своїм стеком пам’яті. Я міг би придумати щось на кшталт:

auth sufficient pam_unix.so
auth required pam_radius.so use_first_pass

Таким чином, ви можете ввійти з фіксованим паролем в автономному режимі, інакше пароль передається pam_radius і перевіряється як OTP проти PrivacyIDEA.

Дивіться це як https://www.howtoforge.com/manage-two-factor-authentication-in-your-serverfarm-with-privacyidea .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.