Tên người dùng hoạt động, mật khẩu hoạt động và ứng dụng khách báo đã kết nối. Sau đó nó chờ mãi ở danh sách thư mục hoặc ở lần truyền tệp đầu tiên, và không có gì trong thông tin đăng nhập giải thích điều đó. FTP mở một kết nối thứ hai cho mỗi danh sách và mỗi tệp, và chính kết nối thứ hai đó là thứ thất bại. Việc đăng nhập chỉ chứng minh cuộc trò chuyện đầu tiên hoạt động.

Thực hiện các bước kiểm tra theo thứ tự. Mỗi bước loại trừ một lớp khác nhau, vì vậy hãy dừng ở bước đầu tiên cho thấy bất thường.

Trước tiên hãy tách hai kết nối

Kết nối điều khiển mang lệnh và phản hồi trên cổng lắng nghe của máy chủ. Kết nối dữ liệu mang danh sách thư mục hoặc nội dung tệp, và ở chế độ thụ động máy chủ chọn điểm cuối của mình và công bố nó trong phản hồi PASV hoặc EPSV. Cho phép cổng 21 không nói lên điều gì về việc cổng dữ liệu có thể truy cập được hay không, và đó chính là lý do việc đăng nhập thành công trong khi mọi danh sách đều hết thời gian. Hướng dẫn của WinSCP về các chế độ FTP trình bày sự phân tách đó và các yêu cầu mạng của nó.

Nếu ứng dụng khách nằm sau VPN, đường dữ liệu đi qua cùng một đường hầm nhưng không nhất thiết qua cùng một chính sách.

Đọc địa chỉ trong phản hồi PASV

Chạy một ứng dụng khách chi tiết và đọc phản hồi thay vì đoán. curl -v ftp://user@host/ in dòng PASV với địa chỉ và cổng mà máy chủ muốn, và ứng dụng khách kết nối tới địa chỉ đó tiếp theo. Nếu đó là địa chỉ riêng không có ý nghĩa gì ở phía ứng dụng khách của đường hầm, kết nối dữ liệu sẽ không đi đến đâu trong khi kênh điều khiển vẫn khỏe mạnh.

So sánh địa chỉ đó với địa chỉ mà ứng dụng khách thực sự đạt tới. Sự không khớp chính là câu trả lời, và nó thường đến từ NAT hoặc từ một máy chủ được cấu hình với địa chỉ nội bộ.

Kiểm tra dải cổng và chính sách đường hầm

Máy chủ thụ động cấp cổng dữ liệu từ một dải đã cấu hình, và dải đó phải được cho phép qua VPN và mọi tường lửa trên đường đi. Một chính sách chỉ cho phép 21 và không gì khác là chính sách chỉ để đăng nhập. Xác nhận dải với người vận hành máy chủ, sau đó thử một cổng trong đó thay vì giả định cả dải hoạt động giống nhau.

Các kênh điều khiển được mã hóa khiến việc này khó hơn, vì thiết bị trung gian không còn có thể viết lại địa chỉ được công bố khi đang bay.

Biết khi nào EPSV hoặc một phương án dự phòng hữu ích

EPSV trả về một cổng mà không có địa chỉ riêng, điều này loại bỏ lỗi địa chỉ sai khi cả hai đầu hỗ trợ nó. Một số ứng dụng khách cũng có thể được yêu cầu bỏ qua địa chỉ được công bố và dùng lại đích của kết nối điều khiển. Cả hai đều là công cụ hợp lệ nhắm tới một cấu trúc liên kết cụ thể, không phải giải pháp chung.

Đừng tắt TLS chỉ để một công cụ hỗ trợ kiểm tra phiên. Điều đó đánh đổi một giao thức đang hoạt động lấy một mô hình mối đe dọa hỏng.

Xác nhận bằng một danh sách và một lần truyền

Sau khi chính sách địa chỉ hoặc cổng thay đổi, hãy mở một phiên mới qua cùng đường VPN và liệt kê một thư mục. Sau đó truyền một tệp nhỏ, vì danh sách và truyền tải có thể đi theo những đường mã khác nhau trên một số máy chủ. Kiểm tra nhật ký ứng dụng khách để tìm kết nối dữ liệu tới địa chỉ và cổng mong đợi, và xác nhận rằng các byte đã đến.

Hãy giữ FTP, FTPS và SFTP tách biệt trong đầu khi làm việc này. Thay đổi cổng thụ động không phải là cài đặt SFTP, và bản sửa không áp dụng xuyên giao thức.

Bài viết liên quan