Управління доступом до декількох систем Linux


15

Шукали відповіді, але тут нічого не знайшли ...

Короткий короткий огляд: некомерційна організація гостро потребує модернізації своєї інфраструктури. Перше - знайти альтернативу керуванню обліковими записами користувачів на ряді хостів Linux.

У нас є 12 серверів (як фізичних, так і віртуальних) та близько 50 робочих станцій. У нас є 500 потенційних користувачів для цих систем. Особа, яка впродовж багатьох років будувала та підтримувала системи, вийшла на пенсію. Він писав власні сценарії, щоб усім цим керувати. Це все ще працює. Ніяких скарг немає. Однак багато матеріалів дуже ручні та схильні до помилок. Код безладний, і після оновлень часто потрібно виправити. Найгірша частина - це те, що в документах написано мало. Існує декілька випадкових записів ReadMe і випадкових записок, які можуть бути, а можуть і більше не бути актуальними. Тож технічне обслуговування стало важким завданням.

Наразі облікові записи керуються через / etc / passwd у кожній системі. Оновлення поширюються за допомогою cron-скриптів для виправлення систем, оскільки акаунти додаються на "основний" сервер. Деякі користувачі повинні мати доступ до всіх систем (як-от обліковий запис sysadmin), інші потребують доступу до спільних серверів, а інші можуть потребувати доступу до робочих станцій або лише до їх набору.

Чи є інструмент, який може допомогти нам керувати обліковими записами, які відповідають наступним вимогам?

  • Переважно з відкритим кодом (тобто безкоштовно, оскільки бюджет ДУЖЕ обмежений)
  • основний (тобто підтримується)
  • переважно є інтеграція LDAP або може бути зроблена для взаємодії з LDAP або AD службою для аутентифікації користувача (знадобиться найближчим часом для інтеграції облікових записів з іншими офісами)
  • управління користувачем (додавання, закінчення терміну дії, видалення, блокування тощо)
  • дозволяє керувати, до яких систем (або групи систем) кожен користувач має доступ - не всі користувачі дозволені у всіх системах
  • підтримка облікових записів користувачів, які можуть мати різні homedirs та кріплення, залежно від того, в якій системі вони ввійшли . Наприклад
    • sysadmin, увійшов на "головний" сервер, має головне: // home / sysadmin / як homedir і має всі спільні кріплення
    • sysadmin, що увійшов на робочі станції персоналу, мав би nas: // user / s / sysadmin як homedir (відмінне від вище) та потенційно обмежений набір кріплень,
    • Клієнт, який увійшов у систему, мав би свого хомедіра в іншому місці та не мав спільних монтов.
  • Якщо є простий інтерфейс управління, який був би приголомшливим.
  • І якщо цей інструмент буде кросплатформенним (Linux / MacOS / * nix), це буде дивом!

Я шукав в Інтернеті, і тому не знайшов нічого підходящого. Ми відкриті для будь-яких пропозицій. Дякую.

EDIT: Це питання було неправильно позначено як дублікат. Посилання на відповідь говорить лише про те, що у всіх системах є однакові хомедіри, тоді як нам потрібно мати різних гомедірів, залежно від того, який користувач системи зараз увійшов (МНОГО Homedirs). Також доступ повинен бути наданий лише деяким машинам не всією партією. Моди, будь ласка, зрозумійте всю міру проблеми, а не просто позначати її як дублікат для балів ...


"Бали" не присвоюються за маркування дубліката. Ваше запитання було недостатньо зрозумілим, що 5 людей вважали його дублікатом.
користувач9517

Не знав. Добре, дякую. Однак це було позначено як дублікат у поспіху. Будь ласка, прочитайте вимоги до форми, які чітко вказують, що потрібно. Це не дублікат. Надане посилання на "рішення" дозволяє без розбору отримати доступ до всіх систем (нам потрібно обмежити, хто має доступ, і до якої системи чи групи систем). Фактичне місцезнаходження homedir залежить від того, до якої системи можна отримати доступ. Один і той же користувач може мати різні homedirs AND mounts, залежно від того, в якій системі він / вона ввійшов.
Шварц

Просто для уточнення: у згаданому вище прикладі sysadmin main та nas - це різні сервери? Отже, той самий користувач матиме доступ до різних хомедірів залежно від хомедіра, в який він входить?
Marco Bizzarri

@MarcoBizzarri: не впевнений, що я розумію. Система, в яку входить користувач, визначає homedir. У SysA та SysB можуть бути / home / bob в / etc / passwd, тоді як homdir для Bob на SysC може бути / someplace / else / bob. Дві локації будуть містити різні дані. Користувач системи входить у систему, визначає, які інші кріплення доступні. Це дозволило б лише системам персоналу отримувати доступ до спільних крісел персоналу. Якщо "загальнодоступні" доступні системи будуть обмежені іншими кріпленнями. Таким чином, персонал повинен знаходитись на персональному ПК, щоб отримати доступ до крісел персоналу. Трохи компартменталізації ...
Swartz

Гаразд, тут є дві різні точки: hededir виправлений, і він може бути десь (або на одному сервері, або на іншому), але це завжди так. Я маю на увазі, SysA завжди був своїм хомедіром на серверіX, незважаючи ні на що. Після цього, серед персоналу є спільний режисер, назвемо його staff_dir, який повинен бути доступний, коли персонал увійде в службову станцію, але не тоді, коли ви входите в систему нормальної роботи; це правильно?
Marco Bizzarri

Відповіді:


17

FreeIPA - це, мабуть, те, що ви шукаєте. Це для Linux те, що Active Directory для Windows. (Він також може спілкуватися з AD, якщо у вас неоднорідне середовище, але його не слід використовувати безпосередньо для керування машинами Windows. Використовуйте AD для цього.)

Документація Red Hat (вони називають це управління ідентичністю) дуже ретельна та проста у дотриманні, і вона має бути в основному застосовно, навіть якщо ви не використовуєте похідні системи Red Hat.


+1 freeipa - приголомшливий.
Сірекс

Я буду дивитись на FreeIPA. Дякую за пораду. Запитання: Чи підтримує FreeIPA різні координатори в різних системах? Приклад: у користувача Bob (експортований NFS) homedir в / shared / home / xyz під час входу в SystemA та SystemB, але коли в SystemC / що завгодно / особливе є гомедіром Боба.
Свартц

Ви дивилися на автомати ? Це повинно отримати близько 90% шляху, а решта 10% - незначні зміни у вашому існуючому середовищі.
Майкл Хемптон

Так, існуючі системи використовують автоматичний контроль. Вони налаштовуються вручну для кожного типу системи. На жаль, наше існуюче середовище занадто громіздке для підтримки. Особливо після оновлень або під час створення нових системних образів. Хоча його суть справді працює, завжди є щось, що потребує налаштування, щоб змусити її працювати.
Swartz

Ну гаразд. Тепер у вас є гарна можливість почати прибирати речі.
Майкл Хемптон

6

Я б запропонував хорошому місцевому консультанту оцінити деталі вашої ситуації ...

Дійсно.

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


Незважаючи на це, моїм підходом було б використовувати Microsoft Active Directory та прив’язати системи Linux до використання SSSD або LDAP. FreeIPA чудово підходить для будинку з усіма Linux, але, хоча ви кажете "некомерційний", це не обов'язково виключає Windows. Ви збираєтесь зустріти Active Directory десь по шляху. Можливо, ви хочете доповнити це за допомогою автоматизованих домашніх каталогів, але особливості того, хто встановлюється, коли або де, не зрозумілі.

Навіть у 99% приватних хмарних середовищах Linux, які я будую зараз, я все ще покладаюся на Active Directory для зручності управління та централізованої автентифікації. Групи та дозволи на доступ прості, політика щодо паролів та старіння облікового запису проста. Будь-які занепокоєння щодо ремонтопридатності, розумної орієнтації та сумісності покриваються рішенням Microsoft. Реплікація вбудована, вона добре задокументована, і є трохи майбутнього захисту, властивого технології.

У вашому початковому запитанні відсутні деякі деталі, хоча ...

  • Які конкретні дистрибутиви Linux є в середовищі? Чи відповідають версії?
  • Вам потрібен однаковий рівень деталізації управління для ваших систем Macintosh (більшість організацій не намагаються повністю керувати комп'ютерами Apple)?
  • Чи є віддалені користувачі?
  • Ви згадуєте "* nix" - Який тип * nixes присутній?

2
майже нічого не варто, що freeipa може робити всі ці речі для машин Linux (реплікація, політика паролів, групи тощо) та її дуже просто настроювати (справді!). Він також робить двонаправлену реплікацію проти активного каталогу (досить впевнений, що нові користувачі однонаправлені через AD, які мають додаткові поля), але якщо у вас є машини Windows, ви можете просити AD незалежно від того, наскільки це є центральним для Windows способом життя. Крім того, документації у freeipa трохи не вистачає.
Сірекс

На жаль, немає бюджету на консультанта. Немає машин Windows (тільки якщо персонал приносить свої). Усі системи є CentOS (деякі 5.x інші - 6.x). Організація перебуває в стадії створення старих iMacs (2007-ish) iMacs, отже, було б непогано мати інструмент, який працює на OSX та Linux. Одна приємна річ: не потрібно турбуватися про Windows.
Swartz

Погодьтеся з пропозицією Active Directory - якщо витрати на ліцензування є проблемою, Samba4 - це безкоштовна альтернатива, і він використовує ті самі інструменти / інфраструктуру управління, що і власний AD з Windows. Практично все інше може бути налаштовано на аутентифікацію проти AD через PAM, winbind, LDAP тощо. Для управління конфігурацією всієї інфраструктури перегляньте Salt ( saltstack.com/community.html blog.smartbear.com/devops/… )
nedm

3

Поточна система працює, але її важко керувати. Я припускаю, що є й інші проблеми з керуванням цими серверами, якщо все робилося вручну. Я ставлюся до іншого підходу, не замінюючи щось, що працює (управління користувачами), і вирішувати проблему адміністрації серверів.

Я рекомендую використовувати щось на зразок cfengine http://cfengine.com/community (безкоштовне видання там) для "модернізації" вашої системної адміністрації, а не лише управління користувачами. Це гарна можливість спробувати його, оскільки ваша поточна система працює дуже схоже на використання cfengine для розподілу конфігурації на сервери, у вашому випадку / etc / passwd. Тож замість заміни перенесіть ці сценарії на cfengine. Сподіваємось, вплив буде дуже мінімальним, оскільки ви все ще використовуєте той же / etc / passwd.

Після того, як вам буде комфортно cfengine, ви можете створити більше рецептів, щоб вирішити більше проблем, таких як наявність абсолютно нової системи управління користувачем і у вас є інструмент для управління конфігурацією на серверах.

Щоб допомогти розпочати роботу, я знайшов посилання http://explosive.net/opensource/cfpasswd/doc/cfengine.html, яке показує, як розповсюджувати / etc / passwd та пов’язані з ними файли.

Навіть якщо ви хотіли замінити систему управління користувачами зараз, вам все одно потрібен інструмент адміністрування для управління цим сервером. Краще мати інструмент адміністрування раніше, ніж пізніше, і налаштувати управління користувачем під інструмент адміністрування.


0

Додайте лише кілька швидких речей -

Я використовую Puppet в моєму розгортанні - подібна ідея до cfengine - http://puppetlabs.com

Це також може зробити ваше управління користувачем та загальну конфігурацію / управління сервером.

Якщо ви хочете спробувати щось настільки універсальне, як Samba, це може мати можливості виконувати управління каталогами з деякою конфігурацією, а також можливість використання резервного пакета LDAP для конфігурації. Samba 4 значно дозрів і фактично може забезпечити інтегроване середовище з Windows та Linux для управління / автентифікації.

Samba працює з AD або також замінює AD.

Є також продукт під назвою Centrify, який я дивився деякий час тому. Я ніколи не надто далеко з цим, але я вважаю, що вони також мають безкоштовну / відкриту версію. Якщо я пам'ятаю, він мав потенціал для змішаного середовища, що забезпечує управління Windows і Linux, а можливо, і Mac.

Я б другий пропозицією консультанта. Ці розгортання можуть бути дуже складними для налаштування дуже швидко, але прості в обслуговуванні після їх документування та налаштування.

Удачі


1
Я на початку розглядав лялькових та шеф-кухарів для керування конфігураціями. Лялька дає 10 безкоштовних вузлів, з шеф-кухарем ви отримуєте 5 безкоштовних. Після цього Puppet Labs стягує $ 99 / вузол / рік. Це було б для нас кілька тисяч. Вимикач. Хоча я не пам’ятаю ціни шефа, але це та сама ідея. Не в бюджеті. :(
Swartz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.