Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Giao thức FTP là một trong những giao thức lâu đời nhất (hơn 40 năm), nhưng vẫn được sử dụng rộng rãi nơi cần một giao thức truyền tệp đơn giản. Bạn có thể cài đặt máy chủ FTP trên bất kỳ phiên bản nào của hệ điều hành Microsoft. Lần hiện đại hóa sâu cuối cùng của dịch vụ FTP được thực hiện trong Windows 7 / Server 2008 R2 (thực tế mã dịch vụ gần như được viết lại từ đầu). Bảo mật của dịch vụ đã được cải thiện đáng kể và nhiều tính năng mới đã xuất hiện. Đặc biệt, máy chủ FTP trên Windows cho phép bạn cấu hình cách ly người dùng FTP. Tính năng này cho phép hạn chế quyền truy cập của nhiều người dùng vào thư mục riêng của họ trên một máy chủ FTP duy nhất.

Nhờ cách ly, người dùng chỉ có thể làm việc với thư mục của mình và không thể đi lên cao hơn trong cây thư mục FTP (thư mục FTP cấp cao nhất của người dùng được hiển thị như gốc của máy chủ FTP). Do đó, truy cập vào dữ liệu của người dùng khác trên máy chủ FTP có thể được ngăn chặn. Cách ly người dùng FTP được sử dụng rộng rãi bởi các nhà cung cấp dịch vụ Internet/hosting khi cần cung cấp quyền truy cập riêng lẻ vào một bộ nhớ tệp chung cho nhiều người dùng khác nhau.

Giống như các phiên bản Windows trước đó, dịch vụ FTP trong Windows Server 2016 / 2012 R2 (không nhầm lẫn với sFTP và TFTP) dựa trên và tích hợp sâu vào dịch vụ IIS và có một giao diện quản trị thống nhất.

Trong bài viết này, chúng tôi sẽ trình bày cách cài đặt máy chủ FTP dựa trên IIS trên Windows Server 2016/2012 R2 và cấu hình cách ly người dùng FTP (hướng dẫn này cũng áp dụng cho Windows 10 và 8.1).

Cách cài đặt vai trò máy chủ FTP trên Windows Server 2016/2012 R2?

Bạn có thể cài đặt dịch vụ FTP bằng bảng điều khiển Server Manager bằng cách chọn tùy chọn FTP Service và FTP Extensibility trong phần Web Server (IIS) -> FTP Server.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Ngoài ra, bạn có thể cài đặt vai trò máy chủ FTP bằng một lệnh PowerShell duy nhất:
Install-WindowsFeature Web-FTP-Server
Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Để cài đặt bảng điều khiển quản lý máy chủ FTP, hãy chạy lệnh sau:

Install-WindowsFeature -Name "Web-Mgmt-Console"

Tạo trang web FTP, quản lý quyền người dùng FTP

Khởi động Server Manager và mở bảng điều khiển quản lý IIS (Internet Information Service Manager).

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Tạo một trang web FTP mới (Sites -> Add FTP Site).

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

  • Tên trang web FTP: MyTestSite
  • Thư mục gốc của trang web FTP: C:\inetpub\ftproot

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Để bảo vệ dữ liệu FTP truyền qua mạng, bạn có thể cấu hình SSL cho FTP (trong trường hợp này, tất cả dữ liệu và mật khẩu/tài khoản do người dùng FTP gửi trong phiên sẽ được mã hóa), nhưng trong bài demo này không cần thiết. Tất cả các cài đặt khác để mặc định.

Bạn có thể quản lý trang web FTP của mình bằng mô-đun PowerShell WebAdministration. Ví dụ, để tạo một trang web FTP mới, chỉ cần chạy các lệnh:

Import-Module WebAdministration
# Đặt tên trang web FTP
$FTPSiteName = 'CORP_FTP'
# Thư mục FTP
$FTPRoot = 'D:\www\FTPRoot'
# Cổng FTP
$FTPPort = 21
New-WebFtpSite -Name $FTPSiteName -PhysicalPath $FTPRoot -Port $FTPPort

Chọn trang web FTP mới và vô hiệu hóa Anonymous Authentication trong phần FTP Authentication. Basic Authentication phải được bật.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Dịch vụ FTP trên Windows Server 2016/2012 R2 có thể sử dụng hai loại tài khoản: miền hoặc cục bộ. Tùy thuộc vào loại tài khoản, có một số khác biệt về cấu trúc thư mục FTP và cài đặt cách ly người dùng. Để dễ dàng mô tả, chúng tôi sẽ sử dụng tài khoản Windows cục bộ.

Tạo một số người dùng FTP, giả sử là ftp_user1, ftp_user2 và ftp_user3. Cũng tạo một nhóm ftp_users bao gồm các người dùng này. Bạn có thể tạo người dùng cục bộ trong phần Local Users and Groups của bảng điều khiển Computer Management.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Bạn cũng có thể tạo người dùng và nhóm cục bộ từ dấu nhắc lệnh (hoặc sử dụng PowerShell). Tạo nhóm cục bộ:
net localgroup ftp_users /add
Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Tạo người dùng cục bộ mới:
net user ftp_user1 /add *
Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Thêm người dùng vào nhóm:
net localgroup ftp_users ftp_user1 /add
Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Tạo hai người dùng khác theo cách tương tự.

Gán quyền Đọc&Ghi trên thư mục C:\inetpub\ftproot cho nhóm ftp_users.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Tạo một thư mục có tên LocalUser (tên phải giống hệt, rất quan trọng!!!) trong thư mục C:\inetpub\ftproot. Sau đó tạo ba thư mục con với tên ftp_user1, ftp_user2, ftp_user3 trong thư mục C:\inetpub\ftproot\LocalUser.

Lưu ý. Tùy thuộc vào loại tài khoản, bạn phải tạo các cấu trúc thư mục sau (dưới %FtpRoot%\ là gốc của trang web FTP; trong trường hợp của chúng tôi là C:\inetpub\ftproot\):
Loại tài khoản Cú pháp đặt tên thư mục chính
Người dùng ẩn danh %FtpRoot%\LocalUser\Public
Tài khoản Windows cục bộ %FtpRoot%\LocalUser\%UserName%
Tài khoản Windows miền %FtpRoot%\%UserDomain%\%UserName%
Tài khoản IIS Manager hoặc ASP.NET đặc biệt %FtpRoot%\LocalUser\%UserName%

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Quay lại bảng điều khiển IIS và tạo quy tắc mới (Add AllowRules) trong phần FTP Authorization Rules của trang web. Chỉ định rằng nhóm ftp_users phải có quyền đọc và ghi.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Cách cấu hình cách ly người dùng FTP trên Windows Server 2016/2012 R2?

Chuyển sang cấu hình cách ly người dùng FTP. Cách ly người dùng FTP được cấu hình ở cấp độ trang web FTP, không phải toàn bộ máy chủ. Cách ly người dùng FTP cho phép bạn tổ chức thư mục chính FTP cho từng người dùng.

Mở FTP User Isolation trong cài đặt của trang web FTP.

Phần này chứa một số cài đặt. Hai cài đặt đầu tiên không đề xuất cách ly người dùng:

  1. Thư mục gốc FTP (phiên FTP của người dùng bắt đầu trong thư mục gốc của trang web FTP);
  2. Thư mục tên người dùng (người dùng bắt đầu với thư mục vật lý/ảo có tên người dùng. Nếu thư mục bị thiếu, phiên bắt đầu trong thư mục gốc FTP của trang web).

Ba tùy chọn tiếp theo là các chế độ cách ly người dùng khác nhau:

  • Thư mục tên người dùng (vô hiệu hóa thư mục ảo toàn cục) cho rằng phiên FTP của người dùng bị cách ly trong thư mục vật lý/ảo có cùng tên với người dùng FTP. Người dùng chỉ thấy thư mục của mình (đó là thư mục gốc FTP của họ) và không thể vượt ra khỏi nó (đến thư mục cấp trên của cây FTP). Bất kỳ thư mục ảo toàn cục nào đều bị bỏ qua;
  • Thư mục vật lý tên người dùng (bật thư mục ảo toàn cục) cho rằng phiên FTP của người dùng bị cách ly trong thư mục vật lý có cùng tên với tên tài khoản người dùng FTP. Người dùng không thể đi lên trên thư mục của mình. Tuy nhiên, tất cả thư mục ảo toàn cục được tạo đều có sẵn cho người dùng;
  • Thư mục chính FTP được cấu hình trong Active Directory – người dùng FTP bị cách ly trong thư mục chính của mình được chỉ định trong cài đặt tài khoản Active Directory (thuộc tính FTPRoot và FTPDir).
Quan trọng. Nếu thư mục ảo toàn cục đang hoạt động, tất cả người dùng có thể truy cập tất cả thư mục ảo được đặt ở gốc của trang web FTP (nếu họ có quyền NTFS phù hợp).

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Chọn chế độ cách ly cần thiết (tôi sử dụng tùy chọn thứ hai để cách ly người dùng FTP).

Nên khởi động lại dịch vụ Microsoft FTP (FTPSVC) sau bất kỳ thay đổi nào đối với cài đặt trang web FTP.

Cấu hình quy tắc Windows Firewall để truy cập máy chủ FTP

Khi bạn cài đặt vai trò máy chủ FTP, tất cả các quy tắc cần thiết để người dùng truy cập FTP sẽ được kích hoạt tự động trong cài đặt Windows Firewall.

Để FTP hoạt động đúng trong chế độ FTP thụ động, người dùng cần kết nối với phạm vi cổng RPC (1025-65535). Để không mở tất cả các cổng này trên tường lửa bên ngoài, bạn có thể giới hạn phạm vi cổng TCP động được sử dụng cho truyền dữ liệu FTP.

  1. Mở phần FTP Firewall Support trong cài đặt trang web FTP và trong trường Data Channel Port Range chỉ định phạm vi cổng bạn muốn sử dụng cho kết nối FTP. Ví dụ – 50000-50100;
    Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2
  2. Lưu thay đổi và khởi động lại IIS (iisreset);
  3. Mở Windows Control Panel và đi đến Control Panel\System and Security\Windows Firewall\Allowed apps;
  4. Đảm bảo danh sách các ứng dụng được phép truy cập qua tường lửa chứa quyền cho vai trò FTP Server.
    Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Sau đó kiểm tra xem các quy tắc sau có được bật trong cài đặt Windows Firewall with Advanced Security:

  • FTP Server (FTP Traffic-In) – giao thức TCP, cổng 21;
  • FTP Server Passive (FTP Passive Traffic-In) – cổng cục bộ 1024-65535 (50000-50100 trong trường hợp của chúng tôi);
  • FTP Server Secure (FTP SSL Traffic-In) – cổng 990 (khi sử dụng FTP với SSL);
  • FTP Server (FTP Traffic-Out) – cổng 20;
  • FTP Server Secure (FTP SSL Traffic-Out) – cổng 989 (khi sử dụng FTP với SSL).

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Theo đó, các cổng này cần được mở trên router (cổng, tường lửa) của bạn để người dùng FTP bên ngoài có thể kết nối đến trang web của bạn.

Kiểm tra kết nối máy chủ FTP từ Windows

Bạn có thể kiểm tra tính khả dụng của các cổng trên máy chủ FTP bằng cmdlet Test-NetConnection:

Test-NetConnection -ComputerName yourftpservername -Port 21

Hoặc sử dụng lệnh ftp:

ftp yourftpservername

Thử kết nối đến trang web FTP của bạn bằng bất kỳ ứng dụng khách FTP nào hoặc trực tiếp từ File Explorer (chỉ định ftp://yourservername/ trong thanh địa chỉ).

Nhập tên người dùng và mật khẩu.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Bây giờ bạn có quyền truy cập vào thư mục chính với tệp của người dùng (đó là gốc của trang web FTP đối với người dùng). Như chúng ta thấy, phiên người dùng bị cách ly và người dùng chỉ thấy tệp của mình trên máy chủ FTP.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Mẹo. Nếu bạn muốn sử dụng truy cập ẩn danh (Tất cả người dùng ẩn danh), bất kỳ người dùng nào cũng có thể kết nối đến máy chủ FTP của bạn bằng thông tin xác thực: anonymous hoặc guest làm tên người dùng và địa chỉ email làm mật khẩu. Nếu bạn kết nối với trang web FTP ẩn danh, phiên sẽ bị giới hạn trong thư mục LocalUser\Public (thư mục Public phải được tạo trước đó).

Bạn có thể sử dụng nhật ký FTP để xem thông tin về quyền truy cập của người dùng vào máy chủ FTP. Các tệp nhật ký được lưu trữ theo mặc định trong thư mục c:\inetpub\logs\logfiles trong các tệp u_exYYMMDD.log.

Để xem các kết nối người dùng hoạt động đến máy chủ FTP của bạn, bạn có thể sử dụng giá trị của bộ đếm hiệu suất IIS qua PowerShell hoặc phần Current FTP Sessions trong bảng điều khiển IIS. Trong bảng điều khiển này, bạn có thể xem tên và địa chỉ IP của người dùng FTP và ngắt kết nối phiên FTP nếu cần.

Cấu hình máy chủ FTP với cách ly người dùng trên Windows Server 2016 / 2012 R2

Vậy là chúng ta đã xem cách cấu hình trang web FTP với cách ly người dùng dựa trên Windows Server 2016 / 2012 R2. Trong chế độ cách ly, người dùng được xác thực trên FTP bằng thông tin đăng nhập cục bộ hoặc miền để truy cập thư mục gốc của họ tương ứng với tên người dùng.