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. ]