FTP oturum açma çalışıyor ama dizin listesi takılıyor: neden
FTP oturum açma ve klasör listeleri iki farklı bağlantı kullanır. Bir liste takıldığında parolayı değil, pasif veri adresini ve bağlantı noktası aralığını kontrol edin.
Kullanıcı adı çalışıyor, parola çalışıyor ve istemci bağlandığını söylüyor. Sonra bir klasör listesinde ya da ilk dosya aktarımında sonsuza kadar bekliyor ve bunu kimlik bilgilerinde hiçbir şey açıklamıyor. FTP her liste ve her dosya için ikinci bir bağlantı açar ve başarısız olan bu ikinci bağlantıdır. Oturum açma yalnızca ilk konuşmanın çalıştığını kanıtlar.
Kontrolleri sırayla yapın. Her biri farklı bir katmanı eler, bu yüzden bir anormallik üreten ilkinde durun.
Önce iki bağlantıyı ayırın
Bir kontrol bağlantısı, sunucunun dinleme bağlantı noktasında komutları ve yanıtları taşır. Bir veri bağlantısı dizin listesini ya da dosya gövdesini taşır ve pasif modda sunucu kendi uç noktasını seçip PASV veya EPSV yanıtında duyurur. 21 numaralı bağlantı noktasına izin vermek, veri bağlantı noktasına erişilebildiğine dair hiçbir şey söylemez; tam da bu yüzden her liste zaman aşımına uğrarken oturum açma başarılı olur. WinSCP'nin FTP kipleri rehberi bu ayrımı ve ağ gereksinimlerini açıklar.
İstemci VPN'in arkasındaysa veri yolu aynı tünelden geçer ama mutlaka aynı ilkeden geçmez.
PASV yanıtındaki adresi okuyun
Ayrıntılı bir istemci çalıştırın ve tahmin etmek yerine yanıtı okuyun. curl -v ftp://user@host/ sunucunun istediği adres ve bağlantı noktasıyla PASV satırını yazdırır ve istemci bir sonraki bağlantıyı o adrese kurar. Bu, tünelin istemci tarafında hiçbir anlamı olmayan özel bir adres ise, kontrol kanalı sağlıklı kalırken veri bağlantısı hiçbir yere gitmez.
Bu adresi istemcinin gerçekte ulaştığı adresle karşılaştırın. Uyuşmazlık yanıtın kendisidir ve genellikle NAT'tan ya da dahili bir adresle yapılandırılmış bir sunucudan gelir.
Bağlantı noktası aralığını ve tünel ilkesini kontrol edin
Pasif sunucular veri bağlantı noktalarını yapılandırılmış bir aralıktan ayırır ve bu aralığın VPN ile yol üzerindeki her güvenlik duvarından geçmesine izin verilmelidir. Yalnızca 21'e izin veren bir ilke, yalnızca oturum açma ilkesidir. Aralığı sunucuyu işletenlerle doğrulayın, sonra tüm aralığın aynı davrandığını varsaymak yerine içinden bir bağlantı noktasını test edin.
Şifrelenmiş kontrol kanalları bunu zorlaştırır, çünkü bir ara cihaz duyurulan adresi artık uçuş sırasında yeniden yazamaz.
EPSV'nin ya da bir geri dönüşün ne zaman yardımcı olduğunu bilin
EPSV ayrı bir adres olmadan bir bağlantı noktası döndürür; bu, iki uç da desteklediğinde yanlış adres arızasını ortadan kaldırır. Bazı istemcilere duyurulan adresi yok saymaları ve kontrol bağlantısının hedefini yeniden kullanmaları da söylenebilir. İkisi de belirli bir topolojiye yönelik meşru araçlardır, genel bir çözüm değildir.
Yalnızca bir yardımcı oturumu inceleyebilsin diye TLS'yi devre dışı bırakmayın. Bu, çalışan bir protokolü bozuk bir tehdit modeliyle değiştirir.
Bir liste ve bir aktarımla doğrulayın
Adres veya bağlantı noktası ilkesi değiştikten sonra aynı VPN yolu üzerinden yeni bir oturum açın ve bir dizini listeleyin. Ardından küçük bir dosya aktarın, çünkü bazı sunucularda liste ve aktarım farklı kod yolları izleyebilir. İstemci günlüğünde beklenen adres ve bağlantı noktasına giden bir veri bağlantısı olup olmadığını kontrol edin ve baytların ulaştığını doğrulayın.
Bunu yaparken FTP, FTPS ve SFTP'yi kafanızda ayrı tutun. Pasif bağlantı noktası değişikliği bir SFTP ayarı değildir ve düzeltme protokoller arasında taşınmaz.