FTP, có nghĩa là Giao thức truyền tập tin, là một giao thức mạng tiêu chuẩn được sử dụng để truyền các tập tin máy tính giữa máy khách và máy chủ trên mạng dựa trên TCP/IP như Internet.
Ở cuối bài viết, bạn sẽ tìm thấy một phần nhỏ thử nghiệm điều đó sẽ cho phép bạn đánh giá kiến thức thu được trong bài đọc này
FTP là một cách cho phép truyền tệp an toàn từ vị trí này sang vị trí khác và cũng có thể cho phép quản lý tệp trên máy chủ.
Trong FTP có 2 chế độ kết nối là Active FTP và Passive FTP.
FTP đang hoạt động
Trong FTP hoạt động, kết nối được bắt đầu từ máy khách đến cổng lệnh trên máy chủ. Khi máy khách yêu cầu truyền tệp, máy chủ sẽ bắt đầu kết nối dữ liệu trở lại máy khách.
Luồng thông tin trong Active FTP diễn ra như sau:
- Máy khách kết nối từ một cổng ngẫu nhiên (N) đến cổng 21 trên máy chủ (cổng dành cho FTP) và gửi lệnh PORT đến máy chủ. Lệnh này cho máy chủ biết cổng nào sẽ kết nối (cổng N+1).
- Khi máy chủ nhận được lệnh này, nó sẽ kết nối từ cổng dữ liệu (thường là cổng 20) đến cổng do máy khách chỉ định (N+1) và bắt đầu truyền dữ liệu.
Ưu điểm của FTP hoạt động
- Làm cho việc cấu hình máy chủ dễ dàng hơn: Active FTP dễ cấu hình hơn ở phía máy chủ vì bạn chỉ cần mở và nghe một cổng duy nhất (cổng 21).
Nhược điểm của FTP hoạt động
- Các vấn đề về tường lửa: Các máy khách sử dụng tường lửa thường gặp sự cố với Active FTP. Điều này là do tường lửa coi kết nối dữ liệu do máy chủ khởi tạo là không được yêu cầu và chặn nó.
- Yêu cầu bảo mật: Đây có thể là một rủi ro bảo mật khi máy chủ bắt đầu kết nối dữ liệu với máy khách, điều này có thể bị kẻ tấn công khai thác.
Nói tóm lại, Active FTP rất hữu ích và dễ cấu hình từ phía máy chủ. Tuy nhiên, nó có thể gặp vấn đề với tường lửa của máy khách và gây ra một số rủi ro bảo mật nhất định.
Vì những lý do này, nhiều tổ chức chọn sử dụng FTP thụ động, mặc dù có thể khó định cấu hình trên máy chủ hơn nhưng lại gặp ít vấn đề hơn với tường lửa và cung cấp khả năng kiểm soát kết nối dữ liệu tốt hơn.
FTP hoạt động thường được sử dụng trong các trường hợp sau
Máy chủ có giới hạn tường lửa nghiêm ngặt: Nếu máy chủ FTP nằm sau tường lửa với các chính sách bảo mật nghiêm ngặt giới hạn các cổng có thể được sử dụng cho các kết nối đến thì Active FTP có thể là một lựa chọn khả thi vì nó chỉ cần mở và nghe trên cổng 21.
Giới hạn tài nguyên máy chủ: Trong Active FTP, máy chủ chỉ cần mở và nghe một cổng duy nhất cho tất cả các kết nối dữ liệu. Điều này có thể có lợi nếu máy chủ có tài nguyên hạn chế và không thể xử lý việc mở nhiều cổng theo yêu cầu trong FTP thụ động.
Kiểm soát mạng: Một số quản trị viên mạng có thể thích Active FTP vì nó cho phép kiểm soát tốt hơn các kết nối dữ liệu. Trong Active FTP, máy chủ khởi tạo kết nối dữ liệu, có nghĩa là quản trị viên có thể kiểm soát tốt hơn việc truyền dữ liệu.
FTP thụ động
FTP thụ động được thiết kế để khắc phục các vấn đề của tường lửa và bộ định tuyến trong kết nối dữ liệu Active FTP. Không giống như Active FTP, trong Passive FTP, máy khách sẽ khởi tạo cả hai kết nối (kết nối lệnh và kết nối dữ liệu) với máy chủ.
Luồng thông tin trong Passive FTP như sau:
- Máy khách kết nối từ một cổng ngẫu nhiên (N) đến cổng 21 trên máy chủ (cổng dành cho FTP) và gửi Lệnh PASV đến máy chủ. Lệnh này cho máy chủ biết rằng nó đang ở chế độ thụ động và đang chờ phản hồi từ máy chủ có cổng kết nối dữ liệu.
- Máy chủ phản hồi từ cổng 21 đến cổng N của máy khách, cung cấp cổng không có đặc quyền (lớn hơn 1023) để nhận kết nối dữ liệu.
- Sau đó, máy khách sẽ bắt đầu kết nối thứ hai từ một cổng ngẫu nhiên khác (N+1) đến cổng không có đặc quyền do máy chủ chỉ định. Khi kết nối này được thiết lập, quá trình truyền dữ liệu sẽ bắt đầu.
Ưu điểm của FTP thụ động
- Khắc phục sự cố với tường lửa và bộ định tuyến: Tường lửa và bộ định tuyến thường cho phép các kết nối do máy khách khởi tạo, do đó FTP thụ động thường không gặp phải các sự cố tường lửa xảy ra với FTP hoạt động.
- Bảo mật nâng cao: Vì máy khách khởi tạo tất cả các kết nối nên sẽ có ít nguy cơ bị tấn công từ máy chủ hơn.
Nhược điểm của FTP thụ động
- Cấu hình máy chủ phức tạp hơn: Trong FTP thụ động, máy chủ phải có khả năng cung cấp và mở nhiều cổng không có đặc quyền cho các kết nối dữ liệu, điều này có thể khó định cấu hình và quản lý hơn so với Active FTP.
- Tăng tải trên máy chủ: Vì máy chủ phải xử lý nhiều kết nối do máy khách khởi tạo nên nó có thể yêu cầu nhiều tài nguyên máy chủ hơn.
Tóm lại, FTP thụ động cung cấp giải pháp cho các vấn đề tường lửa thường xảy ra với Active FTP và cũng có thể cung cấp khả năng bảo mật được cải thiện. Tuy nhiên, việc định cấu hình trên máy chủ có thể khó khăn hơn và có thể yêu cầu nhiều tài nguyên máy chủ hơn.
FTP thụ động thường được sử dụng trong các trường hợp sau
Khách hàng đằng sau tường lửa: FTP thụ động rất hữu ích khi máy khách nằm sau tường lửa không cho phép kết nối đến. Trong FTP thụ động, chính máy khách sẽ khởi tạo tất cả các kết nối, vì vậy tường lửa thường cho phép các kết nối này.
NAT (Dịch địa chỉ mạng): Nếu máy khách sử dụng NAT, nó có thể gặp sự cố với Active FTP vì NAT có thể không biết cách xử lý kết nối dữ liệu do máy chủ khởi tạo. FTP thụ động có thể tránh được vấn đề này vì tất cả các kết nối đều do máy khách khởi tạo.
an ninh: Một số tổ chức có thể thích FTP thụ động hơn do cân nhắc về bảo mật. Vì tất cả các kết nối đều do máy khách khởi tạo nên sẽ có ít nguy cơ bị tấn công từ máy chủ hơn.
Truyền dữ liệu quy mô lớn: FTP thụ động có thể xử lý một số lượng lớn truyền dữ liệu đồng thời, vì mỗi lần truyền có kết nối dữ liệu riêng. Điều này có thể có lợi trong các tình huống cần truyền nhiều dữ liệu đồng thời.
Ví dụ về cấu hình trên thiết bị Cisco
Cấu hình cho FTP hoạt động
Trong trường hợp này, bạn đã xác định giao diện mà từ đó bộ định tuyến khởi tạo các kết nối FTP và bạn đã chỉ định tên người dùng và mật khẩu để sử dụng cho các kết nối FTP.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
Cấu hình FTP thụ động
Lệnh 'ip ftp thụ động' cấu hình bộ định tuyến để sử dụng FTP thụ động thay vì FTP hoạt động. Tên người dùng và mật khẩu cho các kết nối FTP có thể được cấu hình giống như Active FTP.
Router(config)# ip ftp passive
Ví dụ về cấu hình trên thiết bị MikroTik
Cấu hình cho FTP hoạt động
Lệnh 'tìm nạp' này sẽ bắt đầu quá trình truyền tệp từ bộ định tuyến MikroTik (máy khách) sang máy chủ FTP. Chế độ mặc định là Active FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
Cấu hình FTP thụ động
Bằng cách thêm tùy chọn “passive:yes”, lệnh “fetch” sẽ sử dụng Passive FTP thay vì Active FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
Bảng so sánh chế độ kết nối Active FTP và Passive FTP
FTP đang hoạt động | FTP thụ động | |
---|---|---|
Advantage | 1. Cấu hình dễ dàng hơn trên máy chủ: chỉ cần mở và nghe một cổng duy nhất. | 1. Ít sự cố hơn với tường lửa và NAT vì máy khách khởi tạo tất cả các kết nối. |
2. Giảm nhu cầu về tài nguyên máy chủ: Máy chủ chỉ cần mở và nghe một cổng duy nhất. | 2. Cải thiện tính bảo mật vì tất cả các kết nối đều do khách hàng khởi tạo. | |
3. Kiểm soát mạng tốt hơn: Máy chủ khởi tạo kết nối dữ liệu. | 3. Nó có thể xử lý một số lượng lớn truyền dữ liệu đồng thời vì mỗi lần truyền có kết nối dữ liệu riêng. | |
Nhược điểm | 1. Sự cố với tường lửa và NAT phía máy khách: chúng có thể chặn kết nối dữ liệu do máy chủ khởi tạo. | 1. Cấu hình phức tạp hơn trên máy chủ: phải cung cấp và mở nhiều cổng. |
2. Rủi ro bảo mật có thể xảy ra: Máy chủ khởi tạo kết nối dữ liệu đến máy khách. | 2. Nhu cầu về tài nguyên máy chủ ngày càng tăng: Máy chủ phải xử lý nhiều kết nối do máy khách khởi tạo. |