ProFTPd

Proftpd jest uznawany za jeden z najlepszych serwerów ftp, zastosowanie go na serwerze Freesco na pewno wpłynie na bezpieczeństwo, jak i sprawne przesyłanie plików. Instalacja jest bardzo prosta, wystarczy wpisać polecenie: installpkg adres_serwera_z_paczkami/proftpd. Następnie odpowiadamy „n” na pierwsze pytanie i „y” na drugie – i wszytko zostanie zainstalowane.

Ponieważ Freesco zostało pomyślane jako serwer dla niewielkich sieci domowych (szkolnych, biurowych, osiedlowych), więc zaawansowane opcje serwerów wirtualnych nie są tu w zasadzie potrzebne. Zatem sugeruję instalację ze strony Leszka Filipskiego – (przypis: juz nieaktualne, strona nie istnieje) ta wersja jest prosta i nie wymaga szczególnych umiejętności, zaś autor dołączył przykładowe pliki konfiguracyjne i dokładny opis instalacji oraz konfiguracji.
Biorąc pod uwagę, że pracujemy na niezbyt pojemnych połączeniach zakładam, że serwer ftp chcemy udostępnić w celu administrowania stronami www, trzeba się bowiem liczyć z tym, że jeśli udostępnimy jakieś pliki światu, to kilku odwiedzających skutecznie może nam zapchać dostęp do Internetu.
Poniżej jest podstawowy plik konfiguracyjny podany przez Leszka Filipskiego i nieco przeze mnie zmodyfikowany:
———-
# Konfiguracja Proftpd
# Zawarto w nim konfigurację dla pojedynczego serwera i dla jednego
# login’u anonymous. W efekcie, aby miało to szansę zadziałać musisz
# mieć zdefiniowanego użytkownika/grupę „nobody”
ServerName „FTP serwer”
ServerType standalone
DefaultServer on
# Port 21 to standardowy port FTP.
Port 21
Umask 022
# Aby zabezpieczyć się przed atakami DoS (odmowa udostępnienia usługi)
# zaleca się ustawienie maksymalnej liczby procesów potomnych na 30
MaxInstances 30
# Ustaw użytkownika i grupę z poziomu których serwer normalnie startuje.
User nobody
Group nobody
# Normally, we want files to be overwriteable.

AllowOverwrite yes

# Podstawowa konfiguracja użytkownika anonimowego, bez upload’u katalogów.

User nobody
Group nobody
# Potrzebujemy uzytkownika który będzie używany gdy ktos będzie się
# logował jako anonim. Tu po zalogowaniu się do serwera jako anonymous
# faktycznie będziemy korzystać z konta nobody
UserAlias anonymous nobody
# Maksymalnaliczbaużytkowników loguj±cych się jako anonymous
MaxClients 5
# Tu ustawiamy fakt logowania bez hasła
AnonRequirePassword off
# ‚welcome.msg’ będzie wyświetlane w chwili logowania,
# a ‚.message’ w każdym nowo otwartym katalogu.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE mówi czy można zapisywać cokolwiek w katalogu
# Dyrektywa DenyAll nie pozwala na to nikomu
# Inne możliwe dyrektywy to (nie wszystkie):
# AllowAll, Allow 192.168.1.*, AllowUser filip, DenyUser anonymous
# Oczywiście chodzi tu o środowisko ‚chroot’ stworzone dla
# użytkownika anonymous

AllowUser twoj_user
DenyAll

# koniec definicji użytkownika anonymous
DefaultRoot ~
# ~ – powoduje, że kazdy user zostanie wpuszczony tylko do swojego katalogu i nigdzie dalej
# auth file – jesli chcesz możesz stworzyc dodatkowy plik, lub korzystać z systemowego, bezpieczniej to pierwsze
AuthUserFile /mnt/router/etc/passwd
# pocz±tek definicji katalogu domowego użytkownika webadmin

AllowOverwrite yes

AllowUser webadmin
DenyAll

# koniec definicji katalogu
# początek definicji katalogu

AllowOverwrite yes

AllowUser twoj_user
DenyAll

# koniec definicji katalogu
# W zasadzie przydzielanie katalogów jak powyżej nie jest potrzebne, serwer domyślnie wpuszcza usera
# do jego katalogu domowego
# początek definicji serwera wirtualnego

# Nazwa twojego hosta
ServerName „FTP Server”
TransferLog /mnt/router/packages/proftpd/var/virt_tran.log
# katalog root dla tego serwera (nie można wyjść ponad ten katalog)
DefaultRoot ~
# auth file
AuthUserFile /mnt/router/etc/passwd
# początek definicji katalogu domowego użytkownika webadmin

AllowOverwrite yes

AllowUser webadmin
DenyAll

# koniec definicji katalogu
# pocz±tek definicji katalogu

AllowOverwrite yes
1
AllowUser twoj_user
DenyAll

# koniec definicji katalogu
# pocz±tek szczegółowej definicji katalogu dla użytkownika anonumous

User nobody
Group nobody
UserAlias anonymous nobody
MaxClients 10

# pobieranie plików dozwolone

AllowAll

# nie wolno nic zapisywać

DenyAll

# można się poruszać po drzewie katalogowym

AllowAll

————–
Część druga nie jest potrzebna przy podstawowej konfiguracji i można ją spokojnie wyciąć. Przyda się jeśli mamy wirtualne domeny.
Ważne jest, że proftpd nie wpuści użytkownika powyżej katalogu DefaultRoot. Dlatego aby można było spokojnie administrować plikami i stronami www, a jednocześnie mieć pewność, że jakiś user nie podpatrzy nam pliku passwd, najlepiej umieścić wszystko w katalogu home. W katalogu /home umieszczamy pliki katalogi użytkowników i strony www (patrz konfiguracja apacza).
I admin ma spokojną głowę. Zaletą proftpd jest możliwość ustawienia dostępu tylko niektórym użytkownikom lub tylko adresom w sieci wewnętrznej. Jeśli nie chcemy aby kolega X wchodził na serwer będąc na wczasach, bo gapa na pewno zostawi swoje hasło w kafejce internetowej, ustalamy, że może logować się wyłącznie ze swojego komputera w domu.
W pakiecie znajdują się także dwa dodatkowe programy: ftpcunt – wyświetlający nam ilość zalogowanych userów i ftpwho – pokaże nam, kto jest zalogowany na naszym serwerze.
Tekst ten powstał na bazie opisu wykonanego przez Yachoo, a także inne uwagi uczestników grupy trzepak.freesco. Ponadto wykorzystałem informacje zawarte w artykule Dariusza Sobolewskiego w numerze 8/2000 czasopisma Linux+ i informacje autora instalowanego przeze mnie pakietu Leszka Filipskiego.

autor: W. Trąmpczyński (Maciek), artykuł oryginalny opublikowany w 2004 roku na http://miniwebportal.one.pl


Dodaj komentarz