FTP prijava radi, ali ispis direktorija se zamrzava: zašto
FTP prijave i ispis mapa koriste dvije različite veze. Kada se ispis zamrzne, provjerite pasivnu adresu podataka i raspon portova, a ne lozinku.
Korisničko ime radi, lozinka radi, a klijent kaže da je povezan. Zatim zauvijek čeka na ispis direktorija ili na prvi prijenos datoteke, i ništa u vjerodajnicama to ne objašnjava. FTP otvara drugu vezu za svaki ispis i svaku datoteku, a upravo ta druga veza ne uspijeva. Prijava dokazuje samo da prvi razgovor radi.
Izvedite provjere redom. Svaka isključuje drugi sloj, pa stanite kod prve koja pokaže anomaliju.
Najprije razdvojite dvije veze
Kontrolna veza prenosi naredbe i odgovore na serverskom portu za slušanje. Veza za podatke prenosi ispis direktorija ili sadržaj datoteke, a u pasivnom načinu poslužitelj bira svoju završnu točku i objavljuje je u PASV ili EPSV odgovoru. Dopuštanje porta 21 ne govori ništa o tome je li port za podatke dostupan, i upravo zato prijava uspijeva dok svaki ispis istekne. WinSCP-ov vodič kroz FTP načine objašnjava tu podjelu i njezine mrežne zahtjeve.
Ako klijent stoji iza VPN-a, put podataka prolazi kroz isti tunel, ali ne nužno kroz istu politiku.
Pročitajte adresu u PASV odgovoru
Pokrenite detaljni klijent i pročitajte odgovor umjesto da nagađate. curl -v ftp://user@host/ ispisuje PASV redak s adresom i portom koje poslužitelj želi, a na tu se adresu klijent zatim povezuje. Ako je to privatna adresa koja ništa ne znači na klijentovoj strani tunela, veza za podatke ne vodi nikamo dok kontrolni kanal ostaje zdrav.
Usporedite tu adresu s adresom do koje je klijent stvarno došao. Neslaganje je odgovor, i obično dolazi od NAT-a ili od poslužitelja konfiguriranog s unutarnjom adresom.
Provjerite raspon portova i politiku tunela
Pasivni poslužitelji dodjeljuju portove za podatke iz konfiguriranog raspona, a taj raspon mora biti dopušten kroz VPN i svaki vatrozid na putu. Politika koja dopušta 21 i ništa drugo je politika samo za prijavu. Potvrdite raspon s onima koji upravljaju poslužiteljem, pa testirajte jedan port iz njega umjesto da pretpostavljate da se cijeli raspon ponaša isto.
Šifrirani kontrolni kanali to otežavaju, jer posredni uređaj više ne može prepisati objavljenu adresu u letu.
Znajte kada EPSV ili rezervno rješenje pomaže
EPSV vraća port bez zasebne adrese, što uklanja kvar zbog pogrešne adrese kada ga oba kraja podržavaju. Nekim klijentima može se reći da zanemare objavljenu adresu i ponovno upotrijebe odredište kontrolne veze. Oba su legitimni alati namijenjeni određenoj topologiji, a ne univerzalno rješenje.
Ne isključujte TLS samo zato da bi pomoćni alat mogao pregledati sesiju. To mijenja radni protokol za pokvaren model prijetnji.
Potvrdite ispisom i prijenosom
Nakon promjene politike adresa ili portova otvorite novu sesiju preko istog VPN puta i ispišite direktorij. Zatim prenesite malu datoteku, jer ispis i prijenos na nekim poslužiteljima mogu ići različitim putovima koda. Provjerite u klijentskom zapisu vezu za podatke prema očekivanoj adresi i portu, i potvrdite da su bajtovi stigli.
Držite FTP, FTPS i SFTP odvojenima u glavi dok to radite. Promjena pasivnog porta nije SFTP postavka, i popravak se ne prenosi na druge protokole.