GNU/Linux >> Znalost Linux >  >> Linux

Jak připojit systém Linux k doméně Active Directory

Microsoft Active Directory (AD) je adresářová služba pro mnoho organizací. Pokud vy a váš tým zodpovídáte za smíšené prostředí Windows a Linux, pravděpodobně byste chtěli centralizovat ověřování pro obě platformy. Popíšu, jak přidat počítače se systémem Linux do domény Active Directory.

Active Directory a potřeba centralizované správy přístupu

Služba Active Directory společnosti Microsoft, populárněji známá jako AD, má již mnoho let lví podíl na trhu správy podnikového přístupu. Je používán institucemi a jednotlivci po celém světě k centrálnímu řízení přístupu ke zdrojům patřícím organizaci. Poskytuje vám možnost spravovat uživatele, hesla, zdroje, jako jsou počítače, a diktovat, kdo má k čemu přístup. Pro některé z vás, kteří čtete tento zápis, zejména pro ty, kteří pracují ve velkých institucích, jste již dříve komunikovali s AD. Interakce obvykle spočívá v použití jedné sady přihlašovacích údajů pro přihlášení k jakékoli pracovní stanici v organizaci. To je jen špička velkého ledovce.

Představte si soubor 40 počítačových systémů a 70 uživatelů ve firmě. Někteří zaměstnanci pracují na směny, zatímco jiní pracují v běžné pracovní době. Některé mají přístup k tisku; ostatní ne. Tradičním způsobem práce je vytváření místních uživatelských účtů na každém počítači, ke kterému uživatel potřebuje přístup. Představte si pracovní vytížení týmu podpory koncových uživatelů. Když uživatel z jakéhokoli důvodu změní své heslo, musí tento uživatel změnit heslo na všech počítačích, ke kterým měl dříve přístup, aby byly věci synchronizovány. Zanedlouho dojde ke zmatku. Nyní si představte, že dva členové personálu rezignují. Nemusím vám říkat monotónní práci, která se musí opakovat pokaždé, když dojde ke změně obsazení nebo jakýchkoli pracovních stanic. Pro IT týmy je to noční můra. Čas, který by mohl být využit pro inovativní úkoly, se nyní tráví znovuobjevením kola. O správě přístupu k tiskárnám jsem ani nemluvil.

Zde se daří adresářové službě, jako je Active Directory. Může to být doslova zachránce života. S Active Directory je každý uživatel jedinečně vytvořen jako objekt v centrální databázi s jedinou sadou přihlašovacích údajů. Každý počítačový systém je také vytvořen jako objekt. Každý uživatel může automaticky přistupovat ke každé pracovní stanici se stejnou sadou přihlašovacích údajů. Veškeré změny účtu, které je třeba provést, se v centrální databázi provedou jednou. Zaměstnanci mohou přistupovat k tiskárnám pomocí stejné sady přihlašovacích údajů. Autentizační mechanismus tiskáren může být propojen s AD, aby se toho dosáhlo. Spokojení uživatelé, spokojený IT tým.

Pomocí skupin a organizačních jednotek lze přizpůsobit a udržovat přístup k různým zdrojům. Je to ještě lepší. Tento adresář může ukládat telefonní čísla zaměstnanců, e-mailové adresy a lze jej rozšířit o další informace. Co když někdo odstoupí? Žádný problém. Stačí zakázat uživatelský účet. Přístup této osoby ke všem zdrojům je na místě zrušen. Čím větší organizace, tím větší potřeba centralizovaného řízení. Šetří čas; šetří to emoce.

Adresářová služba je ve svém jádru pouze organizovaným způsobem rozepisování všech zdrojů v organizaci a zároveň usnadňuje snadný přístup k těmto zdrojům. AD je v podstatě druh distribuované databáze, ke které se přistupuje vzdáleně prostřednictvím protokolu LDAP (Lightweight Directory Access Protocol). LDAP je otevřený protokol pro vzdálený přístup k adresářovým službám přes médium orientované na připojení, jako je TCP/IP. AD není jedinou adresářovou službou založenou na standardu x.500 nebo ke které lze přistupovat pomocí LDAP. Mezi další adresářové služby patří OpenLDAP a FreeIPA. AD je však vyspělá služba založená na systému Windows, která je součástí systémů Windows Server. Jinými slovy, bude to automatický vítěz, když má vaše organizace mnoho systémů Windows. To je jeden z důvodů jeho všudypřítomnosti. Adresářové služby jako FreeIPA jsou založeny na Linuxu a poskytují vynikající službu pro linuxovou stáj. Když se guma dostane na cestu, výběr se scvrkne na to, kterou z nich můžete rychle nastavit, s ohledem na vaše aktuální prostředí a dovednosti vašeho týmu.

[ Také by se vám mohlo líbit: Interoperabilita Windows a Linux:Pohled na Sambu ]

Co se ale stane, když zvolíte AD a máte několik serverů CentOS a nechcete pro své uživatele Linuxu udržovat samostatnou sadu přihlašovacích údajů? Této režii se lze zcela vyhnout. Co musíte udělat, je připojit servery Linux k doméně AD, jako byste měli server Windows.

Pokud je to to, co musíte udělat, čtěte dále, abyste zjistili, jak to udělat. Je možné připojit systém Windows k doméně FreeIPA, ale to je mimo rozsah tohoto článku.

Předpoklady

Tento článek předpokládá, že máte alespoň nějaké úvodní zkušenosti se službou Active Directory, zejména se správou uživatelských účtů a účtů počítače. Kromě toho musí být splněny následující zřejmé požadavky:

  • Účet v AD, který má oprávnění nezbytná pro připojení systému k doméně.
  • Server Linux (pro tuto ukázku byl použit server CentOS 7).
  • Řadič domény.
  • Ujistěte se, že váš server Linux ví, jak najít řadič domény prostřednictvím DNS.

Abychom tento článek všem usnadnili, uvádíme seznam klíčových podrobností. Takto je nastavena laboratoř, kterou jsem pro tento zápis použil, takže byste měli odpovídajícím způsobem upravit.

  • Název domény AD:Hope.net
  • Uživatelský účet pro připojení k doméně:fkorea (Celé jméno - Fiifi Korea)
  • Název hostitele serveru Linux:centy2

Balíčky k instalaci

Pro tuto konfiguraci je základním balíčkem k instalaci realmd . Kromě realmd , existuje řada balíčků, které je třeba nainstalovat, aby to fungovalo.

# yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python

Realmd poskytuje zjednodušený způsob zjišťování a interakce s doménami Active Directory. Využívá sssd provádět skutečná vyhledávání potřebná pro vzdálenou autentizaci a další náročné práce spojené s interakcí s doménou. V zájmu stručnosti se nebudu zdržovat dalšími balíčky v seznamu.

Pro ty, kteří se zajímají o podrobnosti, by však mělo velmi pomoci rychlé vyhledávání Google.

Realmd (interakce s doménou)

Nyní, když jsou všechny balíčky nainstalovány, je první věcí, kterou musíte udělat, je připojit systém CentOS k doméně Active Directory. Používáme realm aplikaci na to. realm klient je nainstalován ve stejnou dobu jako realmd . Používá se k připojení, odebrání, řízení přístupu a provádění mnoha dalších úkolů. Zde je očekávaná syntaxe pro jednoduché připojení k doméně:

realm join --user=[domain user account] [domain name]

Mezera mezi uživatelským účtem a účtem domény není překlep. Vložením odpovídajících podrobností získáme následující příkaz:

# realm join --user=fkorea hope.net

Jakmile se zobrazí výzva, zadejte heslo a počkejte, až proces skončí.

Nenechte se oklamat krátkou nepřítomností výstupu. Existuje řada operací, které probíhají jako součást procesu. Můžete připnout na -v přepínač pro podrobnější výstup. Nejlepší způsob, jak zkontrolovat, zda je počítač nyní členem domény, je spustit realm list příkaz. Příkaz se pokusí zobrazit aktuální stav serveru s ohledem na doménu. Je to rychlý a špinavý způsob, jak zjistit, které skupiny nebo uživatelé mají přístup k serveru.

Podívejte se na jeho výstup:

Je také docela triviální umístit nově vytvořený počítačový objekt AD od počátku do konkrétní organizační jednotky (OU). Nechám to na další čtení, ale jako tip se můžete podívat na manuálovou stránku. Pomocí realm klienta, můžete udělit nebo odejmout přístup uživatelům a skupinám domény. Hluboký ponor do používání realmd jemnozrnnějším způsobem stačí k vytvoření dalšího článku. Nebudu však bez chyby, když pro vaši pozornost vypíchnu několik parametrů, a to klientský software a serverový software. Nyní byste měli pochopit, proč jsme museli instalovat tolik balíčků.

Chcete-li doménu úplně opustit, potřebujete dvě slova:realm leave

Další konfigurace

Nyní, když je server Linux součástí domény AD, mohou uživatelé domény přistupovat k serveru pomocí svých obvyklých pověření. Jsme hotovi, že? Špatně. "Co je za problém?" Slyšel jsem, že říkáš.

No, pro začátek, toto je konfigurace barebones, která vás zprovozní. Ale zkušenost je to přinejmenším neohrabaná. Potřebujeme službu dále nakonfigurovat, abychom jí dodali skutečný pocit AD. Mělo by to být stejné jako přihlášení k pracovní stanici Windows 10 připojené k doméně.

Za druhé, v místnosti pro systémové správce je velký slon zvaný Dynamické aktualizace DNS (DynDNS). Pokud není správně nastaven, vytváříme další režii tím, že musíme záznamy DNS udržovat ručně. V prostředí, které silně závisí na DNS, to může být problém. U systémů Windows znamená připojení systému k doméně automaticky spravované a spravované dvě položky na serveru DNS. Když se IP adresy změní, změna se automaticky projeví v DNS. To znamená, že můžete změnit IP adresy systémů, aniž byste museli platit náklady na manuální údržbu. To bude dávat smysl pouze lidem, kteří již využívají DNS ve svém prostředí. Kromě znatelného zvýšení produktivity automatizace pomáhá, aby prostředí Windows i Linux fungovala stejným způsobem.

Třetí problém je DNS Scavenging. V doméně Active Directory je DNS obvykle zajišťován řadiči domény. Každý systém připojený k doméně má automatický záznam DNS s odpovídající IP adresou. To je super pohodlné. Automaticky, v zadaném intervalu, jsou zastaralé DNS záznamy odstraňovány, aby se zabránilo nesprávně nasměrovaným paketům a také se starají o smazané počítačové objekty. Toto je známé jako scavenging a ve výchozím nastavení v AD není zapnutý. Pokud je však zapnutý, musíme jej nakonfigurovat. Obvykle je interval čištění sedm dní. Pokud po uplynutí této doby nedojde k žádné aktualizaci záznamu, bude smazán, pokud se nejedná o statický záznam. U systémů Windows je funkce Dynamické aktualizace nastavena automaticky. U linuxových serverů je však potřeba provést několik úprav. Pokud to neuděláme, služby po chvíli přestanou fungovat, protože jejich záznamy jsou smazány z DNS a nikdo neví, jak se k jejich součástem dostat.

Nyní, když víme o některých potenciálních problémech, které musíme vyřešit, pojďme se podívat na některé z věcí, které můžeme vyladit, abychom koncovému uživateli a správci systému poskytli hladší zážitek.

SSSD (snazší přihlášení a dynamické aktualizace)

sssd v systému Linux je zodpovědný za umožnění přístupu systému ke službám ověřování ze vzdáleného zdroje, jako je Active Directory. Jinými slovy, je to primární rozhraní mezi adresářovou službou a modulem požadujícím autentizační služby, realmd . Jeho hlavní konfigurační soubor se nachází na adrese /etc/sssd/sssd.conf . Ve skutečnosti se jedná o hlavní konfigurační soubor, který upravíme.

Před konfigurací se podívejme na jeho obsah. Jakmile se připojíte k doméně, je okamžitě upravena tak, aby obsahovala minimální informace potřebné pro úspěšné přihlášení. Můj soubor vypadal takto:

Chcete-li vyřešit všechny tři výše uvedené problémy, upravte svůj soubor tak, aby vypadal jako ten níže:

Většina možností je samozřejmá a vy si můžete tu svou upravit, zatímco si projdeme, co představují některé klíčové možnosti. Více informací o všech možnostech lze získat kontrolou manuálové stránky. Myslím, že je to dobře napsané. Stačí zadat man 5 sssd.conf na příkazovém řádku. Můžete si také prohlédnout manuálovou stránku pro sssd_ad pro další informace.

V první řadě je konfigurační soubor rozdělen na dvě části. Globální sekce pod [sssd] a sekci možností pro konkrétní doménu, [doména/[název domény]] .

Globální sekce obsahuje možnosti, které ovlivňují obecné chování sssd , jako jsou informace o verzi a souvisejících službách. Jeden klíčový parametr v této části je uveden níže:

  • výchozí_přípona_domény - Nastavte toto na název domény, pokud nechcete při přihlašování zadávat celý název uživatelského účtu. Místo toho, abyste museli psát [email protected] vždy stačí zadat fkorea a heslo. To hodně pomáhá, když máte dlouhý název domény.

Část specifická pro doménu obsahuje parametry, které jsou specifické pro doménu, ke které jste se připojili. Klíčové parametry jsou:

  • poskytovatel_přístupu - Umožňuje vybrat poskytovatele optimalizovaného a používaného pro interakci se servery AD pro účely ověřování. Mělo by být nastaveno na ad . Další hodnoty, které zde lze použít, jsou ldap a ipa , za předpokladu, že používáte tyto adresářové služby.
  • id_provider - Umožňuje vám vybrat poskytovatele optimalizovaného a používaného pro interakci se servery AD pro účely identifikace. Mělo by být nastaveno na ad .
  • název_hostitele reklamy - Mělo by se jednat o plně kvalifikovaný název hostitele serveru. Mělo by být nastaveno, pokud je název hostitele systému jiný než plně kvalifikovaný název domény. Pokud toto není nastaveno, pak sssd nemá přístup k plně kvalifikovanému názvu hostitele, dynamické aktualizace selžou.
  • ad_domain - Mělo by se jednat o úplný název domény (hope.net v tomto případě).
  • cache_credentials - To umožňuje uživatelům AD přihlásit se, když je řadič domény offline. Když je toto nastaveno na pravda , pověření jsou ukládána do mezipaměti po takovou dobu, aby ověření nezklamalo, když je back-end offline. Dobu uložení lze také nastavit.
  • fallback_homedir - To vám pomůže nastavit domovský adresář pro uživatele AD, kteří nemají atribut domovského adresáře v AD. To se liší od override_home parametr, který funguje, když je v AD pro uživatele nastaven domovský adresář.
  • dyndns_update - To umožňuje dynamické aktualizace DNS a přijímá buď pravda nebo false jako hodnotu. Pokud jsou povoleny dynamické aktualizace, aktualizace probíhají především za tří podmínek:
    • Když se server Linux restartuje.
    • Když se poskytovatel připojí online.
    • Kdy vyprší interval obnovení.
  • dyndns_refresh_interval - Tato hodnota je v sekundách s praktickým minimem 60 sekund. Přijímá celočíselné hodnoty a má výchozí hodnotu 24 hodin (86400s). V tomto příkladu jsme to nastavili na 12 hodin. Pokud aktualizaci nespustí nic jiného, ​​aktualizace se pravidelně provádí mezi.
  • dyndns_update_ptr - Booleovská hodnota, která určuje, zda má být přidružený záznam PTR aktualizován v každém cyklu aktualizace. Záznamy PTR se používají pro zpětné vyhledávání, a pokud neexistuje dobrý důvod, mělo by to být nastaveno na true .
  • dyndns_auth - Určuje, zda mají být dynamické aktualizace prováděny bezpečně nebo ne. Nastavení závisí na režimu akceptovaném AD. Pokud je AD nastaveno na Přijímat pouze zabezpečené aktualizace , tato hodnota by měla být nastavena na GSS-TSIG . Pokud ne a nestojíte o bezpečnostní výhody zabezpečených dynamických aktualizací (i přes důrazné varování v AD), lze tuto hodnotu nastavit na none .

Po dokončení konfigurace restartujte sssd pro okamžité použití nastavení.

# systemctl restart sssd

V tomto okamžiku jsme nastaveni. Nyní se můžeme přihlásit jako na pracovní stanici nebo serveru Windows.

Visudo (udělování administrátorských práv)

Uživatelé, kterým je udělen přístup, mají neprivilegovaný přístup k serveru Linux. Pro všechny záměry a účely jsou nyní všechny účty Active Directory přístupné systému Linux stejným způsobem, jakým jsou systému přístupné nativně vytvořené místní účty. Nyní můžete provádět běžné úlohy správce systému, jako je přidávat je do skupin, dělat z nich vlastníky prostředků a konfigurovat další potřebná nastavení. Pokud se uživatel pokusí o jakoukoli aktivitu, která vyžaduje sudo přístup, zobrazí se známá chyba. Jak je vidět v příloze, náš uživatel není v sudoers soubor.

V tomto světle můžeme upravit sudoers soubor přímo, abyste jim udělili oprávnění superuživatele. Toto není článek o udělování oprávnění superuživatele, ale můžeme použít visudo nástroj pro bezpečnou interakci s sudoers soubor.

Případně jsme mohli právě přidat uživatele do wheel skupina. Jde o to, že uživatelský účet je nyní dostupný pro použití systémem.

[ Síť se vymkla kontrole? Podívejte se na Automatizaci sítě pro každého, bezplatnou knihu od společnosti Red Hat. ] 

Sbalit

Vyzkoušejte to ve vaší organizaci nebo laboratorním prostředí. Je zřejmé, že jsem toto téma právě načrtl, ale tímto se dostanete docela daleko do procesu. Chcete-li prozkoumat možnosti, které nejsou uvedeny v tomto článku, nahlédněte do příslušné dokumentace.

Připojení systému Linux k doméně Active Directory vám umožní získat to nejlepší z obou světů. Proces je velmi jednoduchý a může být skriptován pomocí Bash nebo automatizován pomocí Ansible, zejména během počátečního nastavení systému. Pokud stále spravujete skupinu více než pěti systémů bez adresářové služby a máte dobrý důvod, udělejte si laskavost a pořiďte si jeden nastavení. Můžete mi poděkovat později.


Linux
  1. Nelze se připojit k serveru Linux Samba k doméně Windows Active Directory

  2. Jak najít domovský adresář uživatele na linuxu nebo unixu?

  3. Jak používat realmd v Ubuntu 14.04 LTS pro připojení k doméně Active Directory?

  1. Jak změnit úroveň běhu v systému RHEL 7 Linux

  2. Jak přejmenovat adresář v Linuxu

  3. Jak gzipovat adresář v Linuxu

  1. Jak získat velikost adresáře v Linuxu

  2. Jak auditovat přístup k souborům v systému Linux

  3. Jak mohu vypsat uživatelské atributy Active Directory z počítače s Linuxem?