Otázka:
Jak vynutit politiku, která umožňuje nová přihlášení ssh pouze v určitou denní dobu. Mimo tato přístupová okna nejsou povolena žádná nová přihlášení ssh.
Řešení:
Popis zdroje PAM
Časy přihlášení lze řídit pomocí Linux Plugin Authentication Method (PAM) pam_time.so modul. Modul pam_time.so vynucuje omezení přihlášení uvedená v souboru /etc/security/time.conf . V tomto souboru tedy musí být definována požadovaná přihlašovací okna.
Příklad zásad
Použití příkladu je nejlepší způsob, jak vysvětlit fungování modulu pam_time.so. Rádi bychom omezili vzdálené přihlášení uživatele john do systému pouze mezi 13:00 a 14:00 každý den. Chcete-li to provést, přidejte do souboru /etc/security/time.conf následující řádek:
# vi /etc/security/time.conf sshd;*;john;Al1300-1400
Pole jsou oddělena středníkem (;). Pole jsou:
- Název služby, který má být řadičem, zde se používá sshd.
- Terminál tty, který je řízen. Toto pole nám umožňuje omezit omezení například na určitý terminál. Zástupný znak „*“ znamená použití omezení bez ohledu na terminál použitý pro pokus o přihlášení.
- Seznam uživatelů, na které se toto omezení vztahuje. Náš příklad omezení se vztahuje pouze na uživatele john.
- Seznam časů, na které se omezení vztahuje. Každý časový rozsah je volitelný vykřičník (!) pro negaci časového rozsahu, za nímž následuje jeden nebo více dvoupísmenných názvů dnů, za nimiž následuje časový rozsah využívající 24hodinové hodiny. Jméno Wk znamená jakýkoli všední den; jméno Wd znamená víkendový den; a Al znamená jakýkoli den. Náš příklad uděluje povolení mezi 13:00 a 14:00, kterýkoli den v týdnu.
Aktivujte zásady
Přidejte do souboru služby /etc/pam.d/sshd řádek, který zní:
# vi /etc/pam.d/sshd account required pam_time.so
Řádek by měl být seskupen s ostatními účetními řádky. Pořadí řádků v autentizačních souborech PAM je důležité:položky jsou aplikovány v pořadí, v jakém se řádky objevují v souboru. Přidejte nový řádek jako poslední řádek účtu. Tím je zajištěno, že informace o časovém vymáhání neproniknou k cizím osobám. V našem příkladu:
# vim /etc/pam.d/sshd #%PAM-1.0 ... # Additionally, check for any account-based restrictions using pam_time.so account required pam_nologin.so account include password-auth account required pam_time.so ...Při provádění změn v konfiguračních souborech PAM buďte extrémně opatrní. Špatná úprava nebo překlep může systém zcela otevřít kterémukoli uživateli nebo může zamknout každého uživatele (včetně roota) ze systému.