GNU/Linux >> Znalost Linux >  >> Linux

Příklad PAM:K úpravě PAM použijte authconfig

Pluggable Authentication Modules (PAM) jsou v Linuxu již dlouhou dobu. Cílem PAM je centralizovat autentizaci a požadavky na autentizaci pro služby a moduly.

V nedávném článku o PAM jsem zmínil, že mnoho změn konfigurace se provádí pomocí jiných nástrojů. Jedním z těchto nástrojů je authconfig . Tento nástroj se používá s Red Hat Enterprise Linuxem až po RHEL7 včetně. Nejnovější verze Fedory a RHEL8 používají authselect místo toho, ačkoli můžete najít authconfig nástroj v režimu kompatibility.

authconfig Tento nástroj byl vytvořen, aby pomohl při konfiguraci klienta pro centralizovanou autentizaci. Soubory PAM jsou pouze součástí této konfigurace. Například pomocí authconfig pro povolení ověřování Kerberos provede změny v souboru /etc/nsswitch.conf a soubor /etc/krb5.conf kromě přidání pam_krb5 modulu do /etc/pam.d/{system,password}-auth soubory. Další konfigurace PAM je nyní možná také pomocí authconfig nástroj, jak uvidíme v příkladech níže.

Tři rozhraní authconfig

Stejně jako mnoho dalších nástrojů pro konfiguraci systému lze ověřování konfigurovat pomocí nástroje grafického uživatelského rozhraní (GUI), interaktivního textového rozhraní (TUI) nebo příkazového řádku. Podívejme se na všechny tři možnosti.

Grafický nástroj poskytuje authconfig-gtk balík. Tento nástroj má několik karet pro uspořádání možností:

Interaktivní textová verze ("TUI") je přístupná pomocí authconfig-tui příkaz. Použijte TAB klávesu pro přesun polí a SPACE pro výběr nebo zrušení výběru možností:

Nakonec je tu skriptovatelný nástroj příkazového řádku authconfig . Tento příkaz má také mnoho možností, které jsou popsány v --help a v man stránku.

Grafická a textová verze jsou interaktivní, ale mají omezené možnosti. Můžete například povolit ověřování pomocí čtečky otisků prstů ve všech třech rozhraních, ale pouze nástroj příkazového řádku má možnost nakonfigurovat pam_faillock modul. Změny síly hesla pomocí pam_pwquality modul jsou vytvořeny pomocí grafického nástroje a nástroje příkazového řádku, ale nikoli interaktivního textového rozhraní.

První příklad:Aktivace čtečky otisků prstů

Než se dostaneme ke specifikům používání možností příkazového řádku, podívejme se na změny provedené povolením čtečky otisků prstů pomocí authconfig-tui nebo authconfig-gtk :

[demo]$ grep fprintd /etc/pam.d/* # before enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so

Pokud je tato možnost deaktivována, pouze fingerprint-auth soubor obsahuje odkazy na fprintd modul. Po povolení této možnosti se do /etc/pam.d/system-auth přidají nové řádky soubory:

[demo]$ grep fprintd /etc/pam.d/* # after enabling the fingerprint reader
/etc/pam.d/fingerprint-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/fingerprint-auth-ac:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth:auth        sufficient    pam_fprintd.so
/etc/pam.d/system-auth-ac:auth        sufficient    pam_fprintd.so

Druhý příklad:nastavení pwquality

Grafický nástroj má také Možnosti hesla karta, která ovládá /etc/security/pwquality soubor:

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # before changing a field

Tento soubor má spoustu užitečných komentářů ukazujících syntaxi a výchozí hodnoty. Po změně jednoho z polí se všechny možnosti nastaví na konec souboru:

[demo]# grep '^[^# ]' /etc/security/pwquality.conf # after changing a field
minlen = 12
minclass = 2
maxrepeat = 0
maxclassrepeat = 0
lcredit = 0
ucredit = 0
dcredit = 0
ocredit = 0

Změnil jsem požadovanou délku a požadovaný počet tříd znaků.

Použijte nástroj authconfig CLI

Jedna ze záludných věcí, které je třeba pamatovat při používání authconfig na příkazovém řádku je přidat --update volba. Existuje --test možnost kontroly syntaxe, --update možnost aktualizovat authconfig informace a skutečné konfigurační soubory pro zadané možnosti a --updateall možnost, která resetuje všechny konfigurační soubory tak, aby odpovídaly authconfig nastavení. --updateall Tato možnost je skvělý způsob, jak odstranit všechny ruční změny, které správce v systému provedl. Můj pracovní postup obvykle používá pouze --update možnost pro každou změnu.

Pokud spustíte authconfig příkazy jako běžný uživatel, budete před spuštěním příkazů vyzváni k zadání hesla pro zvýšení oprávnění. To platí i pro --help dotazy:

[demo]# authconfig --help
Usage: authconfig [options] {--update|--updateall|--test|--probe|--restorebackup <name>|--savebackup <name>|--restorelastbackup}

Options:
...omitted...
  --test                  do not update the configuration files, only print new settings
  --update, --kickstart   opposite of --test, update configuration files with changed settings
  --updateall             update all configuration files

Jak je vidět ve verzích GUI a TUI, ověřování otisků prstů je přepínač zapnutí/vypnutí. Možnosti příkazového řádku jsou:

[demo]# authconfig --help | grep finger
    --enablefingerprint     enable authentication with fingerprint readers by default
    --disablefingerprint    disable authentication with fingerprint readers by default

A příkaz pro aktivaci funkce otisku prstu je:

[demo]# authconfig --enablefingerprint --update

Nastavení hesla, která jsou dostupná ve verzi GUI, ale ne ve verzi TUI, lze také nastavit na příkazovém řádku.

[demo]# authconfig --help | grep passmin
  --passminlen=<number>          minimum length of a password
  --passminclass=<number>        minimum number of character classes in a password

Můžete nastavit více možností současně:

[demo]# authconfig --passminlen=12 --passminclass=2 --update

Protože ne všechny pwquality nastavení lze provést se všemi verzemi authconfig , je běžné používat jednu z možností příkazového řádku, jako je --passminlen pro počáteční konfiguraci /etc/security/pwquality soubor. Nástroj nastaví hodnoty pro všechny možnosti v dolní části souboru. Správce pak může ručně upravit kterékoli z těchto polí snadno pomocí sed nebo pomocí Ansible lineinfile modul.

faillock modul je příkladem změny konfiguračních souborů PAM, která je dostupná pouze s verzí authconfig pro příkazový řádek . Tento modul počítá neúspěšné pokusy o ověření na uživatele během zadaného intervalu a uzamkne účet, pokud je příliš mnoho po sobě jdoucích neúspěšných ověření.

[demo]# authconfig --help | grep fail
  --enablefaillock           enable account locking in case of too many consecutive authentication failures
  --disablefaillock          disable account locking on too many consecutive authentication failures
  --faillockargs=<options>   the pam_faillock module options

faillock modul je také trochu jiný. Existují možnosti povolení a zakázání, ale také možnost předávání argumentů. Práh počtu lze upravit, stejně jako délku intervalu a časový limit odemknutí. Můžete si také vybrat, zda se modul vztahuje pouze na běžné uživatele nebo také na účet root. Manuál pro pam_faillock zobrazuje platné možnosti a ukázky posledního řádku v /etc/pam.d/* soubory. --faillockargs možnost pro authconfig očekává řetězec v uvozovkách všech možností, které jste nastavili v souborech PAM. Pokud jej ponecháte vypnutý, použijí se výchozí možnosti modulu.

Je-li zakázáno, neexistují žádné odkazy na pam_faillock modul. Pokud však grep za pouhé selhání můžete vidět pam_faildelay modul:

[demo]# grep faillock /etc/pam.d/* # before enabling the faillock module

Nezapomeňte uvést faillock argumenty, pokud zahrnete tuto možnost:

[demo]# authconfig --enablefaillock --faillockargs='deny=4 unlock_time=300' --update

Po povolení modulu se do několika /etc/pam.d/*auth přidá několik řádků soubory.

A co ruční úpravy souborů PAM?

Během průzkumu souborů PAM upravených pomocí authconfig , můžete si všimnout, že několik souborů v /etc/pam.d adresář má v horní části komentář o přepisování ručních úprav obslužným programem. Nástroj se rozšířil, aby pokryl mnoho standardních funkcí PAM, ale někdy je potřeba provést ruční změny. Pokud provedete ruční změny, musíte změny zakázat přímo z authconfig .

Existuje článek znalostní báze a příspěvek na blogu služeb, které poskytují kroky pro ruční úpravy. Na kurzu Red Hat Security:Linux ve fyzickém, virtuálním a cloudovém (RH415) (RH415) můžete také najít formální tréninková cvičení pro manuální změny a ponořit se hlouběji do několika specifických modulů.

Po tom všem je to zastaralý nástroj?

authconfig nástroje byly původně vytvořeny, aby pomohly s konfigurací různých typů centralizovaného ověřování. Během mnoha let se rozšířil, aby zvládnul také další konfigurace PAM. V současných systémech je nyní většina centralizovaného ověřování konfigurována pomocí ipa-client-install nebo realmd , oba očekávají sssd a pam_sss moduly. authselect nástroj nahrazuje authconfig v posledních verzích Fedory a byl představen Red Hat Enterprise Linuxu s verzí 8. Tento nový nástroj spravuje konfigurace prostřednictvím profilů a již neupravuje všechny různé centralizované konfigurační soubory. Zaměření je na /etc/nsswitch.conf a konfigurační soubory PAM. Má mnoho podobných možností pro aktivaci a deaktivaci funkcí, jako jsou čtečky otisků prstů, čipové karty a faillock modul. Více o migraci se můžete dozvědět pomocí man authselect-migration .

[ Zdarma ke stažení:Cheat sheet pro pokročilé příkazy Linuxu. ]


Linux
  1. Jak používat nástroj příkazového řádku sipcalc Linux

  2. Použít rozšíření parametrů k úpravě výstupu jiného rozšíření?

  3. GPROF Tutorial – Jak používat Linux GNU GCC Profiling Tool

  1. Jak používat nástroj cPanel Domains

  2. Jak používat nástroj RedHat Upgrade Tool k upgradu CentOS z 6.x na CentOS 7?

  3. Jak nainstalovat a používat nástroj příkazového řádku Mosh Linux

  1. Získejte statistiky využití paměti pomocí tohoto nástroje příkazového řádku systému Linux

  2. Jak používat kompresní nástroj 7zip z terminálu Linux

  3. Jak nainstalovat a používat profilovací nástroj Gprof na Linuxu