Passive mode — FTPda data connectionni mijoz serverga boshlab beradigan ulanish rejimidir. Mijoz avval control connection orqali PASV yoki EPSV buyrug‘ini yuboradi. Server vaqtinchalik tinglovchi port ochib, uning manzil ma’lumotini qaytaradi; mijoz katalog ro‘yxati yoki fayl transferi uchun shu portga ulanadi.
Ulanish ketma-ketligi
Control connection odatda mijozdan serverning 21-portiga ochiladi. PASV javobida server IPv4 manzil va portni kodlangan shaklda beradi. EPSV esa asosan portni qaytaradi va control connectiondagi server manzilidan foydalanadi. EPSV IPv4 hamda IPv6 bilan ishlashni soddalashtiradi.
Mijoz data socketni ochgach LIST, RETR yoki STOR amali bajariladi. Data connection yopilishi transferning transport qismi tugaganini bildiradi. Yakuniy 2xx yoki xato javobi control channelda olinadi; disk to‘lishi kabi holat data uzatilgandan keyin ham xato qaytarishi mumkin.
NAT uchun qulayligi
Passive rejimda ikkala TCP connectionni ham mijoz tashqi tomonga ochadi. NAT va client firewall outbound ulanishga odatda ruxsat beradi, shu sabab rejim uy va korporativ tarmoqlarda faol rejimdan qulayroq. Server tomonda esa passive port diapazoni inbound trafik uchun ochilishi kerak.
Server NAT yoki load balancer ortida bo‘lsa, PASV javobida private IP qaytarishi mumkin. Public external address server konfiguratsiyasida belgilanadi yoki EPSV ishlatiladi. Control connection bir nodega, passive data port boshqa nodega yo‘nalsa sessiya holati topilmasligi mumkin; load balancer affinity yoki FTP-aware arxitektura talab etiladi.
Port diapazoni
Server ixtiyoriy ephemeral portdan foydalanishi mumkin, lekin firewall boshqaruvi uchun cheklangan passive port range belgilanadi. Diapazon parallel transferlar soniga yetarli bo‘lishi kerak. Juda kichik range band port xatosi, juda katta range esa ortiqcha ochiq attack surface va murakkab monitoring keltiradi.
Port faqat qisqa muddat tinglanadi va autentifikatsiyalangan sessiyaning kutilgan data transferiga bog‘lanadi. Begona host server e’lon qilgan portga oldin ulanishga urinsa, server source IP yoki session token semantikasiga mos tekshiruv bilan data hijackingni cheklaydi.
PASV javobiga ishonch
Zararli yoki noto‘g‘ri FTP server PASV javobida boshqa host manzilini ko‘rsatishi mumkin. Client shu manzilga ko‘r-ko‘rona ulansa port scanning yoki ichki tarmoqqa SSRFga o‘xshash xavf tug‘iladi. Ko‘p mijoz PASVdagi IPni e’tiborsiz qoldirib, control connection serveriga ulanadi. EPSV tabiatan faqat port qaytargani uchun bu muammoni kamaytiradi.
FTPS control channelni shifrlasa, oddiy NAT helper PASV javobini ko‘ra olmaydi. Server tashqi manzil va portlarni to‘g‘ri e’lon qilishi yanada muhim bo‘ladi. Data channel uchun ham TLS talab qilinishi mumkin.
Diagnostika
Login ishlashi, ammo katalog ro‘yxati timeout bo‘lishi passive port firewall yoki NAT mappingiga ishora qiladi. Control logdan PASV/EPSV javobi, e’lon qilingan port va data connection manbasi tekshiriladi. Serverda port tinglanyaptimi, public firewall va cloud security group ruxsati bormi — qatlamma-qatlam ko‘riladi.
SFTP passive yoki active rejim ishlatmaydi; u SSH transporti ustida bitta sessiya orqali fayl amallarini bajaradi. Shu sabab FTP data channel muammosi mavjud tizimda protokolni almashtirish arxitektura qarori bo‘lishi mumkin.
Passive port monitoringida ochilgan listener soni, ulanishni kutish vaqti va muvaffaqiyatsiz handshake lar kuzatiladi. Bu port range yetishmasligi bilan tarmoq blokini ajratishga yordam beradi.
Bog‘liq tushunchalar
FTP, Active mode, PASV, EPSV, NAT, Firewall, FTPS