কম্পিউটার টিউটোরিয়াল

নেটওয়ার্ক স্ক্যানে পোর্ট ২১ (FTP) দেখালে কী বুঝায়? নিরাপত্তা ঝুঁকি ও সমাধান

FTP Port 21: নিরাপত্তা ঝুঁকি, ভালন্যারেবিলিটি এবং মিটিগেশন স্ট্র্যাটেজি

FTP (File Transfer Protocol) এবং পোর্ট ২১ কী?

FTP হলো ফাইল ট্রান্সফারের জন্য একটি পুরনো প্রোটোকল (RFC 959)। এটি দুটি পোর্ট ব্যবহার করে:

  • Port 21 (Command/Control Channel): কমান্ড, অথেনটিকেশন, সেশন ম্যানেজমেন্ট
  • Port 20 (Data Channel): আসল ফাইল ট্রান্সফার (Active Mode-এ)

FTP Port 21 কেন নিরাপদ নয় (Security Risks)?

ঝুঁকিবিবরণ
Clear-text AuthenticationUsername/Password প্লেইন টেক্সটে ট্রান্সমিট হয় (Sniffing/Wireshark-এ দৃশ্যমান)
No Encryptionকমান্ড এবং ডেটা উভয়ই আনএনক্রিপ্টেড — MitM আক্রমণের ঝুঁকি
Anonymous Loginঅননিমাস অ্যাক্সেস দিয়ে ফাইল ব্রাউজ/ডাউনলোড সম্ভব (Anonymous/ftp)
Directory Traversal../ দিয়ে রেস্ট্রিক্টেড ডিরেক্টরি অ্যাক্সেস
Cross-Site Scripting (XSS)FTP সার্ভারের ওয়েব ইন্টারফেসে XSS ভালন্যারেবিলিটি
Bounce AttackFTP সার্ভারকে প্রক্সি হিসেবে ব্যবহার করে অন্য হোস্ট স্ক্যান/আক্রমণ
Brute Forceদুর্বল পাসওয়ার্ড علیه ব্রুট-ফোর্স আক্রমণ

পোর্ট ২১ খোলা থাকলে কী করবেন? (Immediate Actions)

  1. প্রয়োজন নেইলে বন্ধ করুন: ফায়ারওয়ালে Inbound Port 21 ব্লক করুন
  2. প্রয়োজন হলে সিকিউর করুন: নিচের মিটিগেশন লাগু করুন
  3. সার্ভিস বন্ধ করুন: systemctl stop vsftpd / proftpd / pure-ftpd

FTP সিকিউর করার সেরা পদ্ধতি (Mitigation Strategies)

১. SFTP (SSH File Transfer Protocol) ব্যবহার করুন — সেরা বিকল্প

  • পোর্ট ২২ (SSH) ব্যবহার করে
  • ফুল এনক্রিপশন (কমান্ড + ডেটা)
  • পাবলিক কি অথেনটিকেশন (Passwordless, More Secure)
  • ফায়ারওয়াল ফ্রেন্ডলি (সিঙ্গল পোর্ট)

২. FTPS (FTP over SSL/TLS) ব্যবহার করুন

  • Explicit FTPS (Port 21 + AUTH TLS) বা Implicit FTPS (Port 990)
  • সার্টিফিকেট প্রয়োজন (Let's Encrypt বা Paid)
  • ফায়ারওয়ালে Passive Mode Port Range খোলা লাগে (কনফিগারেশন জটিল)

৩. যদি FTP বাধ্যতামূলক হয় (Legacy System), তবে:

  • Anonymous Login Disable করুন (anonymous_enable=NO)
  • Chroot Jail Enable করুন (chroot_local_user=YES)
  • শক্তিশালী পাসওয়ার্ড পলিসি + Fail2Ban (Brute Force Protection)
  • IP Whitelisting (শুধু নির্দিষ্ট IP থেকে অ্যাক্সেস)
  • TLS/SSL Enforce করুন (FTPS)
  • Logging & Monitoring Enable করুন (SIEM-এ লগ ফরওয়ার্ড)
  • File Integrity Monitoring (FIM) আপলোড করা ফাইল স্ক্যান করুন (ClamAV)

FTP সার্ভার হার্ডেনিং চেকলিস্ট (vsftpd / ProFTPD / Pure-FTPd)

# vsftpd.conf例
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
pasv_address=YOUR_PUBLIC_IP
hide_ids=YES
max_clients=50
max_per_ip=5

পোর্ট ২১ ও ২০-এর পার্থক্য

  • Port 21: Control Channel — কনেকশন স্থাপন, অথেনটিকেশন, কমান্ড (LIST, RETR, STOR)
  • Port 20: Data Channel (Active Mode) — আসল ফাইল ট্রান্সফার
  • Passive Mode-এ: ক্লায়েন্ট PASV কমান্ড দিয়ে র‍্যান্ডম হাই পোর্টে কানেক্ট করে (ফায়ারওয়াল ফ্রেন্ডলি)

পোর্ট ২২ (SSH/SFTP) FTP-এর পরিবর্তে ব্যবহার করুন কিনা?

হ্যাঁ, আমদানি সুপারিশ করা হয়। SFTP (SSH File Transfer Protocol) পোর্ট ২২-এ চলে, একটি পোর্ট, ফুল এনক্রিপশন, কি-ভিত্তিক অথেনটিকেশন, এবং ফায়ারওয়াল-ফ্রেন্ডলি। FTPS-এর চেয়েও SFTP কনফিগার করা সহজ এবং নিরাপদ।

নেটওয়ার্ক স্ক্যানে পোর্ট ২১ দেখালে কী করবেন? (Incident Response)

  1. সার্ভিস শনাক্ত করুন: nmap -sV -p 21 target
  2. Anonymous লগইন টেস্ট করুন: ftp target > user: anonymous, pass: anonymous
  3. ভালন্যারেবিলিটি স্ক্যান: nmap --script ftp-vuln* -p 21 target
  4. লগ চেক করুন: /var/log/vsftpd.log /var/log/xferlog
  5. অননুমোদিত হলে: ফায়ারওয়ালে ব্লক করুন, সার্ভিস বন্ধ করুন, SFTP-এ মাইগ্রেট করুন
সিদ্ধান্ত: FTP (Port 21) একটি লিগেসি প্রোটোকল যা আধুনিক সিকিউরিটি মানদণ্ড পূরণ করে না। SFTP (Port 22) ব্যবহার করুন। যদি লিগেসি সিস্টেমের জন্য FTP বাধ্যতামূলক হয়, তবে FTPS + চরম হার্ডেনিং + স্ট্রিক্ট মনিটরিং নিশ্চিত করুন।
  1. নেটওয়ার্ক সিকিউরিটি সার্ভিস কী? || What Is Network Security Services?

  2. নেটওয়ার্ক সিকিউরিটিতে Scanning কী? || What Is Scanning in Network Security?

  3. নেটওয়ার্ক সিকিউরিটি সেটআপ কাকে বলা হয়?

  4. নেটওয়ার্ক সিকিউরিটিতে পোর্ট রিডাইরেকশন কী?