Jak můžeme přidat další slova do seznamu slov kontrolovaných slovníkem hesel pam_cracklib v Red Hat Enterprise Linux 6?
Co je PAM cracklib
Red Hat Enterprise Linux lze nakonfigurovat tak, aby ověřil, že hesla nelze snadno uhodnout. V systému Red Hat Enterprise Linux tuto kontrolu provádí modul Pluggable Authentication Module (PAM) /lib/security/pam_cracklib.so . Kontroluje, zda mají hesla minimální délku, a ověřuje, zda se heslo nevyskytuje ve slovníku.
Slovník používaný tímto modulem se nachází v /usr/lib/ a je ve formátu cracklib. Ve výchozím nastavení má každý ze souborů slovníku předponu název souboru cracklib_dict .
Tento modul má řadu parametrů, některé z užitečnějších jsou uvedeny níže:
Parametr | Popis |
---|---|
minlen | Určuje minimální povolenou délku účtu |
difok | Určuje minimální počet znaků, které se musí lišit od předchozího hesla |
Příkladem implementace by bylo přidání následujícího řádku do souboru /etc/pam.d/system-auth:
password required /lib/security/pam_cracklib.so retry=3 type= minlen=8 difok=3Poznámka :Argument type=nepotřebuje hodnotu, pokud nechcete definovat tento parametr. Jeho definováním se změní zpráva vytištěná jako výzva pro uživatele.
Další informace o modulu pam_cracklib lze nalézt v systémové dokumentaci na adrese:/usr/share/doc/pam-
Přidávání nových slov do slovníku cracklib
Chcete-li přidat slova do slovníku, který cracklib používá pro ověřování hesel proti známým slovům ze slovníku, postupujte podle následujících kroků.
1. Ujistěte se, že máte na svém serveru CentOS/RHEL/Fedora nainstalované otáčky nižší než rpm:
pam-1.1.1-22.0.1.el6.x86_64 cracklib-2.8.16-4.el6.x86_64 cracklib-dicts-2.8.16-4.el6.x86_64 words-3.0-17.el6.noarch
Všimněte si, že verze rpm se bude měnit podle verze OS.
2. Zkontrolujte, zda nové slovo, které chcete přidat do slovníku, již ve slovníku existuje, či nikoli.
# echo "pwd1234@" | cracklib-check pwd1234@: OK
„OK“ ve výstupu znamená, že nové slovo již není zahrnuto ve slovníku.
3. Upravte /usr/share/dict/linux.words a přidejte „pwd1234@“ jako poslední.
# vi /usr/share/dict/linux.words pwd1234@
3. Ověřte soubor, že položka byla přidána.
# tail /usr/share/dict/linux.words Zyzomys Zyzzogeton zyzzyva zyzzyvas ZZ Zz zZt ZZZ pwd1234@
4. Aktualizujte slovník cracklib pomocí níže uvedeného příkazu:
# create-cracklib-dict /usr/share/dict/linux.words
5. Nyní znovu zkontrolujte, zda totéž bylo přidáno do Slovníku nebo ne?
# echo "pwd1234@" | cracklib-check pwd1234@: it is based on a dictionary word
Nové slovo je již ve slovníku, jak je vidět z výstupu výše.
6. Nyní zkuste stejné heslo od uživatele také
$ passwd Changing password for user test. Changing password for test. (current) UNIX password: New password: >>>>>>>>>>>>> Input pwd1234@ BAD PASSWORD: it is based on a dictionary word
Jak můžete vidět z výstupu výše, nové slovo přidané do slovníku nyní nelze použít jako heslo.