Fajnym programem wspomagającym tworzenie haseł jest apg. Pozwala on w szybki sposób wygenerować dobre hasła. Dobrym zwyczajem jest użyć przełączników określających długość hasła -m (minimalna długość) i (-x – maksymalna długość) oraz reguł co hasło ma zawierać czyli -M (L – małe litery, -C duże litery oraz -N liczby).
W początkach Linuksa dużym problemem był fakt, że każdy podsystem (np. serwer pocztowy, serwer ftp) albo korzystały z centralnej bazy autorazycyjnej (mam na mysli pliki /etc/passwd i /etc/shadow) albo miało własne mechanizmy autoryzacji (np. z specjalnego pliku, bazy danych czy obecnie serwera LDAP). Prowadziło to (i prowadzi dalej) do rozproszenia mechanizmów autorazycji po wielu miejscach systemu, w przypadku chęci zmiany sposobu autorzyacji trzeba albo zmieniać program z którego korzystamy albo napisać do niego własny mechanizm autorazyacji (spróbujcie np. zrobić tak aby użytkownicy użytkownicy ftp nie mieli fizycznych kont na serwerze, czyli byli wirtualnymi użytkownikami, a pewna ich grupa mogła logować się jedynie w okreslonych godzinach w okreslonych dniach).
Przeglądałem dzisiaj konfigurację systemu PAM pod względem konfiguracji z LDAP-em i ujrzałem wpis z bardzo ciekawego tool-a: pam-auth-update. Pozwala ono w łatwy sposób przekonfigurować autoryzację PAM tak aby korzystała z LDAP-a, NIS-a, Kerberos-a czy też usunąć konfigurację wspierającą to.
Program korzysta z debconf i pozwala w łatwy sposób przełączać konfigurację:
┌─────────────────────────────────────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────────────────────────────────────┐
│ Pluggable Authentication Modules (PAM) determine how authentication, authorization, and password changing are handled on the system, as well as allowing configuration of │
│ additional actions to take when starting user sessions. │
│ │
│ Some PAM module packages provide profiles that can be used to automatically adjust the behavior of all PAM-using applications on the system. Please indicate which of these │
│ behaviors you wish to enable. │
│ │
│ PAM profiles to enable: │
│ │
│ [*] Unix authentication │
│ [ ] LDAP Authentication │
│ │
│ │
│ │
│ │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Następnie tworzymy grupę sftp, dodajemy do niej użytkowników i konfigurujemy zasady dla tych użytkowników:
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
Wady rozwiązania:
* nie działa scp
* nie działa rsync (możesz oczywiście zbudować w chroot środowisko dla rsync ale nie o to chodzi w łatwych rozwiązaniach…)