Instalując na własnym sprzęcie serwer FTP działający domyślnie w trybie pasywnym należy z kilku względów zaznajomić się z zasadą działania tego typu połączenia, a także z kwestiami bezpieczeństwa jakie pociąga ze sobą transmisja danych protokołem FTP.
Na wstępie trochę teorii i rozważań dlaczego do naszego serwera wybieramy tryb pasywny, a nie aktywny.
W przypadku trybu Aktywnego FTP połączenie jest inicjowane przez klienta z dowolnego portu, a następnie wywołanie kierowane jest do portu 21 serwera. W odpowiedzi to serwer inicjuje połączenie z klientem kierując zapytanie z portu 20 na losowy port klienta. Mając na uwadze fakt, iż praktycznie każdy standardowy użytkownik chcący dostać się do serwera łączy się z internetem przy pomocy routera/modemu z domyślnie uruchomionym firewallem można z całą pewnością stwierdzić, iż połączenie takie zostanie zablokowane. Sytuację obrazuje poniższy schemat:
Powyższa sytuacja dla operatora udostępniającego usługi jest niekorzystna, gdyż powoduje liczne roszczenia, oraz sytuacje ze strony klientów, którzy niejednokrotnie nie mają możliwości zmiany konfiguracji sprzętu. Nie można również wymagać od nich zaawansowanej wiedzy potrzebnej do rekonfiguracji sprzętu, ani też żądać wyłączenia zapory ogniowej narażając ich bezpośrednio na ataki.
Z pomocą przychodzi tryb Pasywny, który przenosi odpowiedzialność, oraz ryzyko związane z ataki na serwer i operatora. W tym trybie klient również inicjuje połączenie z dowolnego portu na port 21 serwera, jednak w kolejnym kroku to również klient wysyła żądanie transmisji do serwera na losowy port wyższy niż 1024. Oczywiście serwer również może posiadać uruchomioną zaporę jednak to operator powinien dostosować się do sytuacji i spodziewanej ilości połączeń.
Otwarcie wszystkich portów jest dla serwer bardzo ryzykowne dlatego też kwestią bezpieczeństwa jest skonfigurowanie serwera FTP w taki sposób, aby zawęzić zakres portów do minimum.
W celu ustawienia zakresu portów pasywnych dla serwera Pure-FTPD tworzymy nowy plik PassivePortRange w katalogu konfiguracyjnym serwera /etc/pure-ftpd/conf, a następnie wpisujemy do niego port początkowy i port końcowy zakresu rozdzielone spacją. Powyższą operację możemy wykonać również hurtem za pomocą jednej komendy.
Powyższy przykład ustawia nam 100 portów przeznaczonych na transmisję danych w trybie biernym. Ilość ta jest wystarczająca dla 50'ciu użytkowników. Pamiętać należy, że każdy użytkownik wykorzystuje po dwa porty. Przy ustawianiu portów ważne jest aby nie wykorzystywać portów standardowo wykorzystywanych przez system do innych celów.
W celu dodatkowego zabezpieczenia możemy ustawić również maksymalna ilość użytkowników którzy mogą połączyć się z serwerem w tej samej chwili. Aby taki limit ustawić tworzymy plik MaxClientsNumber w katalogu konfiguracyjnym serwera FTP do którego wpisujemy liczbę klientów.
Na koniec pamiętamy o restarcie usługi