it-swarm-vi.tech

Tôi cần mở cổng tường lửa nào khi sử dụng FTPS?

Tôi cần truy cập máy chủ FTPS (vsftpd) trên trang web của nhà cung cấp. Nhà cung cấp có một tường lửa trước máy chủ ftps. Tôi có một tường lửa trước máy khách FTPS của tôi.

Tôi hiểu rằng các cổng 990, 991 và có thể 989 cần được mở để kiểm soát lưu lượng.

Tôi có một số câu hỏi:

  1. Khi xem xét từ góc độ tường lửa của nhà cung cấp, các cổng này có nên được mở cho cả lưu lượng truy cập trong và ngoài nước không?
  2. Còn các cổng cho kênh DATA thì sao?
  3. Tôi có phải mở tất cả các cổng trên 1000 không?
  4. Tôi có nên làm điều đó cho cả lưu lượng truy cập trong và ngoài nước?
33
user3293

Sự hiểu biết của tôi về FTP qua SSL (ftps) là nó không hoạt động tốt với tường lửa và NAT. Trong phiên FTP thông thường, thông tin về các kết nối dữ liệu được đọc và for NAT được sửa đổi, bởi tường lửa để tường lửa tự động mở các cổng cần thiết. Nếu thông tin đó được bảo mật bởi SSL , tường lửa không thể đọc nó hoặc thay đổi nó.

Sử dụng SFTP, hoặc scp, giúp công việc của quản trị viên mạng dễ dàng hơn rất nhiều - mọi thứ xảy ra trên cổng 22 của máy chủ và giao dịch tuân theo mô hình máy khách/máy chủ bình thường.

Một điều không được đề cập là liệu tường lửa của bạn có hoạt động hay không NAT và nó có tĩnh hay không NAT hoặc NAT động. Nếu máy khách của bạn có tĩnh địa chỉ hoặc đang được NAT tĩnh, bạn có thể không cần thực hiện bất kỳ thay đổi tường lửa nào, giả sử bạn cho phép tất cả lưu lượng truy cập đi ra ngoài và máy chủ chỉ hoạt động ở chế độ Bị động (PASV).

Để biết chính xác cổng nào bạn sẽ cần mở, bạn sẽ cần phải:

a) nói chuyện với nhà cung cấp để biết chi tiết về cách hệ thống của họ được cấu hình.

b) Sử dụng một bộ phân tích giao thức, chẳng hạn như tcpdump hoặc wireshark, để xem lưu lượng, cả từ bên ngoài tường lửa và bên trong tường lửa của bạn

Bạn cần tìm ra cổng nào là Control Connection. Bạn liệt kê 3, có vẻ kỳ lạ với tôi. Giả sử máy chủ chỉ hoạt động ở chế độ PASV (thụ động), bạn cần tìm hiểu cách máy chủ được cấu hình để phân bổ các cổng DATA. Họ đã khóa kênh DATA vào một cổng vào chưa? Họ đã khóa kênh DATA vào một phạm vi nhỏ hoặc cổng?

Với những câu trả lời này, bạn có thể bắt đầu cấu hình tường lửa của mình.

19
pcapademic

Tôi tin rằng các cổng khoảng 990 là dành cho SSL ẩn, đây là một cách làm FTP/SSL cũ không chuẩn. Cách "đúng" trong những ngày này là SSL rõ ràng, có nghĩa là bạn vẫn kết nối trên cổng 21 và sau đó đàm phán SSL trước khi gửi quà tặng của bạn. Để hỗ trợ các kết nối thông qua tường lửa, bạn cần sử dụng chế độ PASV và thiết lập cứng các cổng dữ liệu sẽ được sử dụng.

Tôi tin rằng bạn cần ít nhất một cổng cho mỗi kết nối dữ liệu bạn muốn hỗ trợ. Nếu chỉ là bạn, có lẽ bạn chỉ nên mở thêm một vài cổng. Cụ thể đối với tôi, tôi sử dụng 21000-21010.

Trong vsftpd.conf, tôi có hai dòng này (cùng với tất cả các nội dung khác để hỗ trợ SSL):

pasv_min_port=21000

pasv_max_port=21010

Trên tường lửa của tôi, tôi có một IP tĩnh công khai với một-một/static NAT với IP bên trong và chỉ mở các cổng tcp 21, 21000-21010.

29
David

Tôi biết đây là một chủ đề rất cũ, tuy nhiên ..

Xin lưu ý rằng SFTP hoàn toàn khác với FTPS. (SSH so với SSL)

FTPS trở nên tồi tệ theo 2 cách. Rõ ràng và tiềm ẩn. Rõ ràng là kém an toàn hơn vì sau khi bắt tay ban đầu bỏ qua mã hóa trong khi truyền dữ liệu [nếu mã hóa dữ liệu được duy trì có thể định cấu hình ở phía máy chủ với PROT P], trong khi Implicit giữ mã hóa dữ liệu sau khi bắt tay. Cổng FTPS mặc định là 21. Cổng ẩn mặc định là 990 (sau khi bắt tay, nó sẽ tự động chuyển sang 989 để truyền dữ liệu, nếu không được cấu hình khác). Mặc dù cổng 21 thường được chấp nhận là EXPLICIT FTPS và 990 dưới dạng IMPLICIT FTPS, nhưng thực tế, bất kỳ cổng nào bạn sẽ định cấu hình, ngoại trừ 990/989, sẽ dẫn đến EXPLICIT FTPS trong khi CHỈ 990/989 sẽ được chấp nhận là FTPS IMPLICIT.

Vì vậy, để trả lời câu hỏi của bạn: - tùy thuộc vào cấu hình FTPS Server, bạn sẽ cần mở cổng 21 hoặc 990/989. Tuy nhiên, để chắc chắn, bạn nên liên hệ với quản trị viên FTPS Server và hỏi đường. Ngoài ra, hãy nhớ rằng đối với chế độ thụ động, như với mọi phần mềm FTP khác, bạn sẽ phải mở các cổng bổ sung (TCP/UDP) thường là một cái gì đó trong phạm vi 64000-65000.

11
Marin

Về cơ bản ftps gần như vô dụng, bởi vì bạn phải thực hiện các yêu cầu lúng túng cho quản trị viên tường lửa. Lời khuyên để hạn chế cổng đến 10 là tốt. Nhiều hơn nữa, nó trở nên thảm hại.

sftp tốt hơn rất nhiều trong lý thuyết. Nhưng bạn cần một máy chủ sftp khả thi, ví dụ: một trong đó giới hạn khách hàng vào thư mục nhà riêng của họ.

Tùy thuộc vào ứng dụng, xem xét HTTPS. Tải lên tập tin thực sự đơn giản và rõ ràng là tải xuống. Nếu bạn đang viết kịch bản FTP, thì có lẽ sẽ dễ dàng hơn hoàn toàn để kịch bản tải lên tệp HTTPS.

FTP tự động là một dấu hiệu của một vấn đề thiết kế. Tôi nhận thấy điều này khi giao dịch với tổng cộng khoảng một chục nhà cung cấp 'yêu cầu' một nơi tôi làm việc để làm FTP tự động (đối với RẤT NHIỀU việc quan trọng) và khi khiến hàng chục khách hàng làm điều đó với cùng một cửa hàng (một lỗi thiết kế về 20 công dụng riêng biệt tôi đã chứng kiến). Thật dễ dàng để thuyết phục hầu hết các ứng dụng sử dụng HTTPS (thông thường tại đề cập, họ nói "chờ đã, không có lý do gì chúng ta không chỉ lấy chúng bằng HTTPS từ máy chủ web mà chúng tôi đã phục vụ dữ liệu cho họ?" ), ngoại trừ một số câu trả lời như "tốt, chúng tôi đã có các kịch bản này dường như hoạt động và không ai trong nhóm của chúng tôi thực sự giỏi với kịch bản nên chúng tôi không thể thực hiện bất kỳ thay đổi nào" (một nhóm gồm 5-10 lập trình viên, giả vờ không hiểu rằng họ có thể viết nó bằng ngôn ngữ mà họ chọn, vì họ không biết cách viết một chương trình tầm thường từ đầu.).

2
carlito

Nhà cung cấp có thể định cấu hình phạm vi cổng hẹp cho các cổng kết nối DATA, nếu họ chưa có. Sau đó, bạn có thể mở phạm vi tương tự ở cuối của bạn, cho các máy chủ cần truy cập như vậy. Chế độ PASV nên được sử dụng.

1
Chris W. Rea

Cổng 22 là tiêu chuẩn vì daemon SSH trên UNIX có mô-đun SFTP mà bạn có thể kích hoạt để tạo một máy chủ SFTP rõ ràng. Nếu bạn muốn chạy một máy chủ FTP ẩn với Filezilla thì bạn có thể chạy nó trên bất kỳ cổng nào bạn muốn nhưng có một nhược điểm: nếu bạn sử dụng ứng dụng khách FileZilla, bạn cần chỉ định URL trang web ftp là ftps: //mysite.com: 8086 thay vì đặt cổng vào trường cổng riêng mà máy khách FileZilla cung cấp.

Đối với tùy chọn rõ ràng, bạn chỉ cần MỘT cổng: 22. Đối với tùy chọn ẩn, bạn chỉ cần mở tường lửa cho cổng điều khiển: 8086 (chuyển tiếp nội bộ sang cổng 21 trên máy chủ tệp của bạn).

0
djangofan