Kênh video học Quản Trị Mạng  -  Kênh TV và video học lập trình.
+ Trả lời chủ đề
Hiện kết quả từ 1 tới 3 của 3

Chủ đề: Dịch vụ FTP

  1. #1
    AHN
    AHN đang ẩn
    iPMAC Pro Avatar của AHN
    Tham gia ngày
    09-07-08
    Đến từ
    http://quantrimang.tv
    Tuổi
    27
    Bài gửi
    556
    Thanks
    0
    Thanked 16 Times in 12 Posts

    Mặc định Dịch vụ FTP

    I. Giới thiệu về FTP.

    I.1. Giao thức FTP.

    FTP là từ viết tắt của File Transfer Protocol. Giao thức này được xây dựng dựa trên chuẩn TCP, FTP cung cấp cơ chế truyền tin dưới dạng tập tin (file) thông qua mạng TCP/IP, FTP là 1 dịch vụ đặc biệt vì nó dùng đến 2 cổng: cổng 20 dùng để truyền dữ liệu (data port) và cổng 21 dùng để truyền lệnh (command port).

    I.1.1 Active FTP.

    Ở chế độ chủ động (active), máy khách FTP (FTP client) dùng 1 cổng ngẫu nhiên không dành riêng (cổng N > 1024) kết nối vào cổng 21 của FTP Server. Sau đó, máy khách lắng nghe trên cổng N+1 và gửi lệnh PORT N+1 đến FTP Server. Tiếp theo, từ cổng dữ liệu của mình, FTP Server sẽ kết nối ngược lại vào cổng dữ liệu của Client đã khai báo trước đó (tức là N+1)
    Ở khía cạnh firewall, để FTP Server hỗ trợ chế độ Active các kênh truyền sau phải mở:
    - Cổng 21 phải được mở cho bất cứ nguồn gửi nào (để Client khởi tạo kết nối)
    - FTP Server's port 21 to ports > 1024 (Server trả lời về cổng điều khiển của Client)
    - Cho kết nối từ cổng 20 của FTP Server đến các cổng > 1024 (Server khởi tạo kết nối vào cổng dữ liệu của Client)
    - Nhận kết nối hướng đến cổng 20 của FTP Server từ các cổng > 1024 (Client gửi xác nhận ACKs đến cổng data của Server)

    Sơ đồ kết nối:


    - Bước 1: Client khởi tạo kết nối vào cổng 21 của Server và gửi lệnh PORT 1027.
    - Bước 2: Server gửi xác nhận ACK về cổng lệnh của Client.
    - Bước 3: Server khởi tạo kết nối từ cổng 20 của mình đến cổng dữ liệu mà Client đã khai báo trước đó.
    - Bước 4: Client gửi ACK phản hồi cho Server.

    Khi FTP Server hoạt động ở chế độ chủ động, Client không tạo kết nối thật sự vào cổng dữ liệu của FTP server, mà chỉ đơn giản là thông báo cho Server biết rằng nó đang lắng nghe trên cổng nào và Server phải kết nối ngược về Client vào cổng đó. Trên quan điểm firewall đối với máy Client điều này giống như 1 hệ thống bên ngoài khởi tạo kết nối vào hệ thống bên trong và điều này thường bị ngăn chặn trên hầu hết các hệ thống Firewall.

    Ví dụ phiên làm việc active FTP:
    Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80), dùng chương trình FTP Client dạng dòng lệnh, đến máy chủ FTP testbox2.slacksite.com (192.168.150.90). Các dòng có dấu --> chỉ ra các lệnh FTP gửi đến Server và thông tin phản hồi từ các lệnh này. Các thông tin người dùng nhập vào dưới dạng chữ đậm.
    Lưu ý là khi lệnh PORT được phát ra trên Client được thể hiện ở 6 byte. 4 byte đầu là địa chỉ IP của máy Client còn 2 byte sau là số cổng. Giá trị cổng đuợc tính bằng (byte_5*256) + byte_6, ví dụ ((14*256) + 178) là 3762.


    I.1.2 Passive FTP.

    Để giải quyết vấn đề là Server phải tạo kết nối đến Client, một phương thức kết nối FTP khác đã được phát triển. Phương thức này gọi là FTP thụ động (passive) hoặc PASV (là lệnh mà Client gửi cho Server để báo cho biết là nó đang ở chế độ passive).
    Ở chế độ thụ động, FTP Client tạo kết nối đến Server, tránh vấn đề Firewall lọc kết nối đến cổng của máy bên trong từ Server. Khi kết nối FTP được mở, client sẽ mở 2 cổng không dành riêng N, N+1 (N > 1024). Cổng thứ nhất dùng để liên lạc với cổng 21 của Server, nhưng thay vì gửi lệnh PORT và sau đó là server kết nối ngược về Client, thì lệnh PASV được phát ra. Kết quả là Server sẽ mở 1 cổng không
    dành riêng bất kỳ P (P > 1024) và gửi lệnh PORT P ngược về cho Client.. Sau đó client sẽ khởi tạo kết nối từ cổng N+1 vào cổng P trên Server để truyền dữ liệu.
    Từ quan điểm Firewall trên Server FTP, để hỗ trợ FTP chế độ passive, các kênh truyền sau phải được mở:
    - Cổng FTP 21 của Server nhận kết nối từ bất nguồn nào (cho Client khởi tạo kết nối)
    - Cho phép trả lời từ cổng 21 FTP Server đến cổng bất kỳ trên 1024 (Server trả lời cho cổng control của Client)
    - Nhận kết nối trên cổng FTP server > 1024 từ bất cứ nguồn nào (Client tạo kết nối để truyền dữ liệu)
    - Cho phép trả lời từ cổng FTP Server > 1024 đến các cổng > 1024 (Server gửi xác nhận ACKs đến cổng dữ liệu của Client)


    - Bước 1: Client kết nối vào cổng lệnh của Server và phát lệnh PASV.
    - Bước 2: Server trả lời bằng lệnh PORT 2024, cho Client biết cổng 2024 đang mở để nhận kết nối dữ liệu.
    - Buớc 3: Client tạo kết nối truyền dữ liệu từ cổng dữ liệu của nó đến cổng dữ liệu 2024 của Server.
    - Bước 4: Server trả lời bằng xác nhận ACK về cho cổng dữ liệu của Client.
    Trong khi FTP ở chế độ thụ động giải quyết được vấn đề phía Client thì nó lại gây ra nhiều vấn đề khác ở phía Server. Thứ nhất là cho phép máy ở xa kết nối vào cổng bất kỳ > 1024 của Server. Điều này khá nguy hiểm trừ khi FTP cho phép mô tả dãy các cổng >= 1024 mà FTP Server sẽ dùng (ví dụ WU-FTP Daemon).
    Vấn đề thứ hai là một số FTP Client lại không hổ trợ chế độ thụ động. Ví dụ tiện ích FTP Client mà Solaris cung cấp không hổ trợ FTP thụ động. Khi đó cần phải có thêm trình FTP Client. Một lưu ý là hầu hết các trình duyệt Web chỉ hổ trợ FTP thụ động khi truy cập FTP Server theo đường dẫn URL ftp://.

    Ví dụ phiên làm việc passive FTP:
    Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80), dùng chương trình FTP Client dạng dòng lệnh, đến máy chủ FTP testbox2.slacksite.com (192.168.150.90), máy chủ Linux chạy ProFTPd 1.2.2RC2. Các dòng có dấu --> chỉ ra các lệnh FTP gửi đến Server và thông tin phản hồi từ các lệnh này. Các thông tin người nhập vào dưới dạng chữ đậm.
    Lưu ý: đối với FTP thụ động, cổng mà lệnh PORT mô tả chính là cổng sẽ được mở trên Server. Còn đối với FTP chủ động cổng này sẽ được mở ở Client.


    Còn tiếp

  2. #2
    Thành viên năng nổ Avatar của TechPro
    Tham gia ngày
    13-08-08
    Tuổi
    29
    Bài gửi
    74
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Mặc định

    Thanks AHN nào. Ngày trước mình làm cái Tool scan các port đang sử dụng, demo thấy FTP đang truyền mà lại có mấy cái Port > 1024, chả hiểu chuyện gì xảy ra
    Giờ mới biết rõ.
    AHN nhanh post tiếp nhé.

  3. #3
    AHN
    AHN đang ẩn
    iPMAC Pro Avatar của AHN
    Tham gia ngày
    09-07-08
    Đến từ
    http://quantrimang.tv
    Tuổi
    27
    Bài gửi
    556
    Thanks
    0
    Thanked 16 Times in 12 Posts

    Mặc định

    Một số lưu ý khi truyền dữ liệu qua FTP.

    IIS hỗ trợ cả hai chế độ kết nối Active và Passive, do đó việc kết nối theo phương thức Active hay passive tùy thuộc vào từng Client. IIS không hỗ trợ cơ chế vô hiệu hóa (disable) chế độ kết nối Active hay Passive.
    Khi ta sử dụng dịch vụ FTP để truyền dữ liệu trên mạng Internet thông qua một hệ thống bảo mật như Proxy, Firewall, NAT, thông thường các hệ thống bảo mật này chỉ cho phép kết nối TCP theo cổng dịch vụ 21 do đó user gặp vấn đề trong việc sử dụng các lệnh DIR, LS, GET, or PUT để truyền dữ liệu vì các lệnh này đòi hỏi hệ thống bảo mật phải cho phép sử dụng cổng TCP 20. Cho nên khi sử dụng FTP để truyền tin trên mạng Internet thông qua mạng các hệ thống bảo mật (Proxy, Firewall, NAT) thì
    những hệ thống này phải mở TCP port 20 của FTP.

    Danh sách các ứng dụng Microsoft cung cấp làm FTP Client.


    Cô lập người dùng truy xuất FTP Server (FTP User Isolation).

    FTP User Isolation đặc tính mới trên Windows 2003, hỗ trợ cho ISP và Aplication Service Provider cung cấp cho người dùng upload và cập nhật nội dung Web, chứng thực cho từng người dùng. FTP user Isolation cấp mỗi người dùng một thư mục riêng rẻ, người dùng chỉ có khả năng xem, thay đổi.


    Chương trình FTP client.

    Là chương trình giao tiếp với FTP Server, hầu hết các hệ điều hành đều hỗ trợ FTP Client, trên Linux hoặc Windows để mở kết nối tới FTP Server ta dùng lệnh #ftp <ftp_address>.
    Để thiết lập một phiên giao dịch, ta cần phải có địa chỉ IP (hoặc tên máy tính), một tài khoản (username, password). Username mà FTP hỗ trợ sẵn cho người dùng để mở một giao dịch FTP có tên là anonymous với password rỗng.
    Sau đây là một ví dụ về mở một phiên giao dịch đến FTP Server:


    Giới thiệu FTP Server.

    Là máy chủ lưu trữ tập trung dữ liệu, cung cấp dịch vụ FTP để hỗ trợ cho người dùng có thể cung cấp, truy xuất tài nguyên qua mạng TCP/IP. FTP là một trong các dịch vụ truyền file rất thông dụng, người dùng có thể upload và download thông tin một cách dễ dàng hơn.

    Cài đặt dịch vụ FTP.

    Chọn Start | Control Panel.
    Bấm đôi vào Add or Remove Programs.
    Từ ô vuông bên trái(pane) của cửa sổ “Add or Remove Programs” chọn Add/Remove Windows Components.
    Từ danh sách Components, chọn Application Server và chọn nút Details.
    Từ danh sách các Application Server chọn Internet Information Services và chọn nút Details.
    Chọn mục File Transfer Protocol (FTP) Service.


    Bấm nút OK.
    Click vào nút Next để hệ thống cài đặt dịch vụ FTP (đôi khi hệ thống yêu cầu chỉ bộ nguồn I386 hoặc đường dẫn có chứa thư mục này để hệ thống chép một số file cần thiết khi cài đặt).
    Bấm vào nút Finish để hoàn tất quá trình cài đặt.

+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

     

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
muagi.vn