Hiểu về FTP Port 21 trong quét bảo mật mạng
FTP (File Transfer Protocol) cổng 21 là gì?
- Giao thức truyền file chuẩn (RFC 959), sử dụng cổng 21 (Command/Control) và cổng 20 (Data)
- Cổng 21: Thiết lập kết nối, xác thực, điều khiển lệnh (USER, PASS, LIST, RETR, STOR...)
- Cổng 20: Truyền dữ liệu file thực tế (Active mode)
- Passive mode: Server mở cổng ngẫu nhiên >1023 cho data, client kết nối vào
Tại sao quét mạng thấy "Service 21 FTP"?
- Thiết bị (router, NAS, camera, printer, server, IoT) đang chạy FTP server
- Có thể bật mặc định bởi firmware, hoặc admin bật để quản lý file
- Quét từ công cụ: Nmap, Nessus, OpenVAS, Advanced IP Scanner, Fing...
Rủi ro bảo mật của FTP Port 21
| Rủi ro | Mô tả | Mức độ |
|---|---|---|
| Truyền rõ văn bản (Cleartext) | User, pass, lệnh, dữ liệu đi qua mạng không mã hóa → dễ sniff (Wireshark, tcpdump) | CAO |
| Anonymous Login | Cho phép đăng nhập anonymous/ftp không mật khẩu → liệt kê, tải file | CAO |
| Directory Traversal | Thoát thư mục root FTP truy cập hệ thống file server (../) | CAO |
| Brute Force / Credential Stuffing | Tấn công dò mật khẩu yếu, dùng pass rò rỉ từ nơi khác | TRUNG BÌNH |
| Bounce Attack (FXP) | Dùng FTP server làm trung gian tấn công máy khác | THẤP |
| Malware Upload | Upload shell, backdoor nếu có quyền ghi | CAO |
Các lỗ hổng nổi tiếng (CVE)
- vsftpd 2.3.4 - Backdoor (CVE-2011-2523): Smiley face ":)" trong username kích hoạt shell port 6200
- ProFTPD mod_copy - SITE CPFR/CPTO → ghi file tùy ý (CVE-2015-3306)
- Pure-FTPd, Wu-FTPD, IIS FTP - nhiều lỗ hổng buffer overflow, format string
Phiên bản an toàn: SFTP vs FTPS
| Giao thức | Cổng | Mã hóa | Xác thực | Firewall Friendly |
|---|---|---|---|---|
| SFTP (SSH File Transfer Protocol) | 22 (SSH) | Toàn bộ phiên (SSH) | Key-based, Password, MFA | Rất tốt (1 cổng) |
| FTPS (FTP over SSL/TLS) | 21 (Control) + Data ports | TLS/SSL (Explicit/Implicit) | Cert + User/Pass | Khó (cần passive port range, ALG) |
| FTP (Plain) | 21 + 20 | KHÔNG | User/Pass rõ | Trung bình (ALG) |
Khuyến nghị: Dùng SFTP (port 22) thay thế FTP hoàn toàn.
Cách bảo mật / Khắc phục
- Tắt FTP nếu không cần: Tắt service, chặn cổng 21/20 trên firewall
- Nếu bắt buộc dùng: Chuyển sang SFTP (OpenSSH) hoặc FTPS (Explicit TLS)
- Chặn Anonymous:
anonymous_enable=NO(vsftpd) - Giới hạn IP: Firewall / TCP Wrappers (/etc/hosts.allow, deny) chỉ cho IP tin cậy
- Mật khẩu mạnh + Fail2ban: Khóa IP sau 3-5 lần sai
- Chroot Jail: Giới hạn user trong thư mục home, không truy xuất hệ thống
- Logging & Monitoring: Ghi log mọi lệnh, tích hợp SIEM
- File Integrity Monitoring (FIM): Tripwire, AIDE, Wazuh phát hiện file lạ
Có nên mở cổng 21 ra Internet?
TUYỆT ĐỐI KHÔNG. Cổng 21 là một trong những cổng bị tấn công nhiều nhất (Shodan, Censys, Masscan quét liên tục). Chỉ cho truy cập FTP/SFTP qua VPN (WireGuard, OpenVPN, Tailscale) hoặc Zero Trust Network Access (ZTNA).