150 likes | 298 Views
Administracja serwerami sieciowymi Linux Serwer FTP. Mateusz Szulczyński Rafał Kubacik Paweł Serafin. Usługa FTP. File Transfer Protocol usługa przesyłania plików pomiędzy komputerami pobieranie plików do lokalnego systemu plików wysyłanie plików na odległy system plików
E N D
Administracja serwerami sieciowymi LinuxSerwer FTP Mateusz Szulczyński Rafał Kubacik Paweł Serafin
Usługa FTP File Transfer Protocol • usługa przesyłania plików pomiędzy komputerami • pobieranie plików do lokalnego systemu plików • wysyłanie plików na odległy system plików • architektura klient-serwer • bazuje na protokole TCP • niski poziom bezpieczeństwa • dostępna na każdy system operacyjny • każdy plik ma swój własny adres URL • można używać klienta ftp lub przeglądarki internetowej
Tryby pracy FTP Obsługa dzięki portom: command port 21 – komunikaty sterujące data port [zależny od trybu] – dane Active FTP : command: klient >1023 -> serwer 21 data: klient >1023 <- serwer 20 Passive FTP : command: klient >1023 -> serwer 21 data: klient >1023 -> serwer >1023
Program ftp – podstawowe komendy • ! – wywołanie interaktywnej powłoki na lokalnym komputerze • open 1.2.3.4 – nawiązanie połączenia z serwerem FTP • close – zakończenie sesji • cd [katalog] – zmiana katalogu • pwd – aktualny katalog • ls [katalog], dir [katalog]– wyświetlenie listy plików w katalogu • get zdalny [lokalny] – pobranie pliku zdalny i zachowanie jako lokalny • put lokalny [zdalny] - wysłanie pliku lokalny i zapisanie jako zdalny • help [polecenie] – pomocdane można przesyłać w trybie ASCII lub binarnym
Serwery FTP dla Linuksa • proftpd • rozbudowane statystyki (wykorzystane pasmo, logi) • wu-ftpd • prosta konfiguracja • pureftpd • szybki czas logowania • małe użycie pamięci • vsftpd • bardzo wysokie wymagania odnośnie bezpieczeństwa Cechy wspólne: • obsługa IPv6 • wirtualne hosty
Proftpd • http://www.proftpd.org/ • najbardziej popularny serwer FTP na Linuksa • wzorowany na serwerze HTTP Apache • pliki konfiguracyjne z dyrektywami i grupami dyrektyw • pliki .ftaccess • wirtualne hosty • moduły rozszerzające • dwa tryby działania: inetd, standalone
Proftpd - użytkownicy • Użytkownicy systemowi - użytkownicy mający dostęp do kont shell na serwerze • Użytkownicy wirtualni - użytkownicy posiadający dostęp tylko do konta ftp (skrypt ftpasswd, dyrektywy AuthUserFile, AuthGroupFile) • Użytkownicy anonimowi - użytkownicy posiadający dostęp anonymous ftp, bez podawania loginu ani hasła
Proftpd - konfiguracja ProFTPD jest jednym z prostszych w konfiguracji programów serwerowych. Wszystkie pliki potrzebne do jego skonfigurowania znajdują się w katalogu /etc/proftpd. Natomiast główny plik konfiguracyjny to /etc/proftpd.conf. Ważniejsze parametry: • ServerName – określa nazwę serwera wyświetlaną łączącym się z nim użytkownikom. • ServerAdmin –adres e-mail administratora • ServerType – ustawia tryb pracy demona ProFTPD
Proftpd - konfiguracja • DeferWelcome – informacja o serwerze po zalogowaniu • User – konto z jakiego uruchomiono serwer • Group – grupa, do której należy konto uruchamiające • MaxClients – maksymalna liczba obsługiwanych połączeń • DefaultRoot – katalog główny serwera • Port – port, na którym działa serwer • PassivePorts – zakres portów dla trybu pasywnego • MasqueradeAddress – publiczny adres w przypadku NAT • Umask - maska dla tworzonych plików i katalogów • TimeoutIdle – czas bezczynności do rozłączenia • AuthUserFile – alternatywny plik z danymi identyfikacji użytkowników
Proftpd - konfiguracja Bloki dyrektyw: • <Global></Global> - konfiguracja ustawień globalnych • <Anonymous></Anonymous> - używany do konfiguracji anonimowego logowania • <Directory></Directory> - konfiguracja dotycząca tylko podanego katalogu i jego podkatalogów • <Limit></Limit> - używany do określenia szczegółowych restrykcji • <VirtualHost></VirtualHost> - używany do tworzenia wydzielonych konfiguracji hostów
Proftpd – moduły • dostępne są moduły standardowe oraz contrib Przykład modułów identyfikacji: • mod_auth_unixobsługuje autoryzację przez /etc/passwd, /etc/group • mod_auth_fileobsługuje dyrektywy AuthUserFile i AuthGroupFile • mod_ldapobsługuje dane przechowywane w katalogach LDAP • mod_radiusobsługuje dane dostarczane przez serwery RADIUS • mod_sqlobsługuje dane przechowywane w tabelach SQL • poleceniem proftpd –l uzyskuje się listę skompilowanych modułów
Proftpd – wirtualne hosty • należy używać adresów IP • przykład: <VirtualHost 1.2.3.4> Port 2121 ... </VirtualHost> <VirtualHost 1.2.3.4> Port 2122 ... </VirtualHost>
Proftpd - limity Dostępne ograniczenia: • ALL • DIRS (CDUP, CWD, LIST, MDTM, MLSD, MLST, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD) • LOGIN • READ (RETR, SIZE ) • WRITE (APPE, DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD) • dyrektywy Allow, Deny, AllowUser, DenyUser, AllowGroup, DenyGroup, AllowAll, DenyAll
Proftpd – pliki .ftaccess • konfiguracja on-the-fly • przykład: <Limit ALL> Allow 212.32.5.0/26 Allow 158.152.0.0/16 DenyAll </Limit>