Active Directory na CentOS 8

Active Directory určite poznáte, ak ale nie tak je to implementácia LDAP protokolu spoločnosťou Microsoft. Active Directory nájdete skoro v každom väčšom korporáte, keďže dovoľuje centrálnu správu užívateľov a skupín. Samozrejme najväčšia výhoda je že vďaka otvorenosti protokolov máme možnosť používať Active Directory ako autentifikačný server pre mnoho koncových zariadení.

Konfigurácia Active Directory, pridávanie užívateľov a taktiež nastavenie DNS je nadrámec tehto článku. Budeme teda pracovať s tým že máme vytvoreného užívateľa, máme vytvorené skupiny ktoré sú pridelené k užívateľom.

Inštalácia

V prvom kroku nainštalujeme potrebné balíky ktoré potrebujeme na overovanie oproti Active Directory.

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

Následovne je potrebné overiť či daný stroj má správne nastavený DNS server.

# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.2
nameserver 1.1.1.1

V prípade že stroj nemá správny DNS server, je potrebné ho v NetworkManager zmeniť aby smeroval na náš Active Directory.

# nmcli con mod (nazov_pripojenia) ipv4.dns "VAS_AD_SERVER 1.1.1.1"

Prihlásenie zariadenia do domény

Teraz môžeme pripojiť náš server do domény example.com pod užívateľom Administrator, samozrejme môžeme použiť iného užívateľa.

# realm join --user=Administrator hostname.example.com

Overiť pripojenie môžeme pomocou príkazu „realm list“

# realm list
example.com
  type: kerberos
  realm-name: EXAMPLE.COM
  domain-name: EXAMPLE.COM
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common-tools
  login-formats: %[email protected]
  login-policy: allow-permitted-logins
  login-policy: allow-realm-logins

Teraz vieme že náš stroj je v Active Directory, taktiež si teraz overíme či vidíme užívateľov.

# id [email protected]
uid=000000000([email protected]) gid=000000000([email protected]) groups=000000000([email protected])

Teraz sa môžeme prihlásiť pod užívateľským kontom [email protected], ale samozrejme nechce sa nám všade písať aj názov domény. SSSD nám dáva možnosť používať iba použivateľské meno.

vi /etc/sssd/sssd.conf
use_fully_qualified_names = False

Následne je potrebné reštartovať daemon.

# systemctl restart sssd

Teraz môžeme overiť či konfigurácia je funkčná.

# id uzivatel
uid=000000000(uzivatel) gid=000000000(linux) groups=000000000(linux)

Nastavenie politiky prihlasovania

Samozrejme nechceme aby sa každý mohol prihlásiť. Preto je vhodné nastaviť aby sa vedeli prihlásiť iba určitý užívatelia.

Najjednoduchšia autentifikácia je pomocou užívateľského mena, kedy pridávame určitých užívateľov.

# realm permit [email protected]
# realm permit [email protected] [email protected]

Táto možnosť je funkčná ale pri väčšom počte serverov a taktiež pri väčšom počte užívateľov je vhodné používať autentifikácia pomocou LDAP skupín.

# realm permit -g 'linux'
# realm permit -g 'Skupina2' 'Skupina3'

V prípade že chceme určitej skupine sudo privilégia, tak aj to vieme. Stačí pridať skupinu do sudoers akoby sme pridávali normálnu skupinu.

%[email protected]       ALL=(ALL)       ALL
%nazov\ [email protected]       ALL=(ALL)       ALL

Teraz nám už len ostáva sa skúsiť pomocou ssh prihlásiť cez nášho Active Directory užívateľa

# ssh uzivatel@localhost
ECDSA key fingerprint is .
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
uzivatel@localhost's password:
[uzivatel@localhost ~]$ whoami
[email protected]

Naše prihlásenie bolo úspešné tak už nám nezostáva nič iné než aplikovať toto riešenie na všetkých strojoch.

Dúfam že si užijete implementáciu!

1 comment
  1. Dominik Hrinkino
    Dominik Hrinkino • Post Author •
    3. mája 2020 at 11:58

    V prípade Debianu je konfigurácia totožná len sa trošku líšia balíky. V Debian 10 je potrebné nainštalovať nasledujúce balíky

    apt install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common krb5-user sssd-tools sssd libnss-sss libpam-sss adcli packagekit

    Postup ostáva rovnaký

Leave a Reply