Proftpd i LDAP

Jak połączyć LDAP-a i Proftpd? Dowiesz się z tego wpisu!

Instalacja

Debian

W Debianie Etch wystarczy zainstalować pakiet proftpd-ldap.

        apt-get install proftpd-ldap

Podstawowa konfiguracja

LDAPServer            localhost
LDAPDNInfo            cn=admin,dc=linuxexpert,dc=pl 123456
LDAPDoAuth            on "ou=users,dc=linuxexpert,dc=pl"
LDAPNegativeCache       off

W przypadku korzystania z serwera OpenLDAP dla użytkowników należy skorzystać z schematu PosixUserAccount w którym mamy zawarte takie dane jak: UID, GID, homeDirectory, loginShell które są niezbędne dla poprawnego działania Proftpd. Należy również pamiętać aby katalog domowy istniał i miał poprawne ustawione prawa dostępu.

Wyjaśnienie powyższych ustawień:

LDAPServer – serwer LDAP, do którego należy się podłączyć, poszczególne serwery oddzielane są spacją, port podajemy po dwukropku („:”), domyślnie to 389.

(sprwadzić port 😉 ).

LDAPDNInfo – Ustawienie informacji DN, na których odbędzie się inicjujące połączenie do serwera LDAP, np. LDAPDNInfo „” „” oznacz anonimowe połączenie, jeżeli nie jest podane, połączenie będzie wykonane jako anonimowy użytkownik.

LDAPDoAuth – aktywuje lub deaktywuje autoryzację z użyciem serwera LDAP, pierwszy argument włącza lub wyłącza autoryzację, drugi wskazuje gałąź, w której nastąpi wyszukanie użytkownika pragnącego się autoryzować, trzeci argument (opcjonalny) wygląda domyślnie tak: „(&(uid=%v)(objectclass=posixAccount))”. Jak się można z tego domyśleć jest to filtr na podstawie którego następuje wyszukanie użytkownika, gdzie %v będzie zastąpione nazwą użytkwonika. Tutaj widać dlaczego wymaga się domyślnie korzystanie z schematu PosixUserAccount.

LDAPNegativeCache – określa czy włączyć czy wyłączyć cachowanie negatywnych zapytań do serwera LDAP.

Rozszerzona konfiguracja

LDAPAttr Pozwala zmapować (zamienić) jeden atrybut na inny.

 

LDAPAuthBinds – Jeżeli jest ustawione, działa w następujący sposób: wszystkie dane są pobierane z LDAPa bez hasła użytkownika, następnie następuje połączenie z serwerem jako użytkownik który się probuje zalogować by sprawdzić hasło, sposób ten jest stworzony by korzystać z wielu metod autoryzacji, jakie oferują serwery LDAP.

LDAPDefaultAuthScheme – domyślny sposób kodowania haseł w bazie LDAP. Zauważ że w przypadku trzymania hasła zakodowanego w bazie danych na początku hasła jest podana metoda kodowania hasła, np:

        {MD5}4QrcOUm6Wau+VuBX8g+IPg==

Tutaj jest to MD5. Dyrektywa ta pozwala określić jakim sposobem jest kodowane hasło (domyślnie MD5 lub czysty tekst) jeżeli nie ma na początku zdefiniowanego sposobu kodowania haseł.

LDAPDefaultGID – domyślny GID (numer identyfikacyjny grupy), wykorzystywane w dużych środowiskach providerskich,

LDAPDefaultUID – domyślny GID (numer identyfikacyjny użytkownika), wykorzystywane w dużych środowiskach providerskich,

 

LDAPDoGIDLookups –

LDAPDoQuotaLookups – sprawdzanie quoty użytkownika,

LDAPDoUIDLookups

LDAPForceDefaultGID – dla wszystkich użytkowników, dla których informacje przechowywane są na serwerze LDAP ustawia wartość GID, jest to wykorzystywane, gdy korzystamy z konfiguracji używającej wirtualnych użytkowników mapowanych na jednego realnego użytkownika,

LDAPForceDefaultUID – dla wszystkich użytkowników, dla których informacje przechowywane są na serwerze LDAP ustawia wartość UID, jest to wykorzystywane, gdy

korzystamy z konfiguracji używającej wirtualnych użytkowników mapowanych na jednego realnego użytkownika,

LDAPForceGeneratedHomedir – określenie domyślnego katalogu domowego użytkowników (sprawdzić),

LDAPGenerateHomedir – pozwala na tworzenie domowego katalogu użytkownika, gdy nastąpi taka potrzeba, dzięki czemu nie musimy ręcznie go tworzyć,

LDAPGenerateHomedirPrefix – prefix to tworzonych na rządanie (on deamond) katalogów domowych użytkownika. Przydatne, gdy serwer nie wspiera atrybutu lub gdy nie chcemy rozszerzać atrybutów serwera LDAP.

 

LDAPProtocolVersion – określa wersje protokołu, której klient użyje do połączenia, domyślnie 3.

LDAPQueryTimeout – czas, po którym klient (proftpd)  stwierdzi, że upłynął czas po którym powinien uzyskać odpowiedź od serwera

LDAPSearchScope – jak głęboko powinien serwer szukać (albo cała gałąź albo jeden poziom), domyślnie cała gałąź

LDAPUseTLS – czy używać szyfrowanego połączenia TLS (domyślnie nie), uwaga: serwer przypadku ustawienia „yes”, jeżeli się nie połączy, nie przełączy się w trym nieszyfrowanego połączenia.

W sieci

  • http://horde.net/~jwm/software/mod_ldap/ – strona domowa modułu ldap dla serwera Proftpd.
  • http://www.proftpd.org/docs/directives/linked/config_ref_mod_ldap.html – strona poświęcona dyrektywom konfiguracyjnym modułu LDAP serwera Proftpd.

 

Dodaj komentarz