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 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 Usługa FTP
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 : 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] – pomoc dane 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
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_unix obsługuje autoryzację przez /etc/passwd, /etc/group mod_auth_file obsługuje dyrektywy AuthUserFile i AuthGroupFile mod_ldap obsługuje dane przechowywane w katalogach LDAP mod_radius obsługuje dane dostarczane przez serwery RADIUS mod_sql obsł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> Port 2122
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>