IIS 7.0 - FTP Publishing Service Peter Schmidt Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số vấn đề cơ bản về FTP Publishing Service mới trong IIS 7.0 Internet Information Se
Trang 1IIS 7.0 - FTP Publishing Service
Peter Schmidt
Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số vấn đề cơ bản về FTP Publishing Service mới trong IIS 7.0 (Internet Information Services 7.0) cùng với các bước hướng dẫn chi tiết trong cài đặt dịch vụ FTP này
Hoàn toàn không phải bí mật lớn rằng Microsoft chưa từng có sản phẩm FTP server tốt nhất, khi so với các đối thủ cạnh tranh khác trong lĩnh vực thương mại máy chủ FTP Mặc dù Microsoft luôn có FTP Server trong hầu hết tất cả các phiên bản trước của IIS và Windows Server, nhưng họ luôn thiếu rất nhiều các tính năng máy chủ FTP nâng cao Tuy nhiên lúc này Microsoft đã vượt qua được rất nhiều vấn đề đó, với phiên bản mới của FTP Publishing Service, phiên bản được phát hành chính thức khi Windows Server 2008 được ra mắt Dịch vụ mới này đã được viết lại toàn bộ, giống như IIS 7.0 và nó chỉ cung cấp cho IIS 7.0 Tại sao lại có hai máy chủ FTP và sự khác nhau giữa nó là gì?
• Đầu tiên nó là một nâng cấp minor và khá giống với FTP Service có trong IIS 6.0
• Thứ hai FTP Service là một phiên bản mới được cải thiện, được cung cấp như một bản download và chỉ cho IIS 7.0
Bài này của chúng tôi sẽ tập trung vào phiên bản mới được cải thiện của FTP Publishing Service này
FTP Service mới có nhiều tính năng cho phép các nhà thiết kế web dễ dàng publish các nội dung và nó cũng cung cấp nhiều tùy chọn bảo mật và triển khai hơn đối với các quản trị viên Nó cũng có sẵn cho Windows Server 2008 ở cả hai phiên bản 32-bit và 64-bit
Những điểm mới
FTP Publishing Server mới gồm có rất nhiều tính năng và các cải thiện Dưới đây chúng tôi sẽ chỉ ra một số chủ đề mới chính và mô tả một trong số các nâng cao mới này
• Sự tích hợp với IIS 7.0
FTP service mới này được tích hợp mạnh với giao diện quản trị hoàn toàn mới và kho lưu trữ cấu hình của IIS 7.0
• Hỗ trợ cho các chuẩn Internet mới
Trang 2FTP service mới hỗ trợ FTP trên SSL, cũng được biết đến như FTPS hoặc FTP/SSL và sử dụng chứng chỉ khóa công (SSL/TLS) Bạn không nên nhầm lẫn nó với SFTP hoặc FTP trên SSH, đây hoàn toàn là một chuẩn khác hiện không hỗ trợ bởi Microsoft FTP Publishing Service Nó cũng hỗ trợ các cải thiện khác như UTF8 và IPv6
• Chia sẻ hosting
FTP service mới được cải thiện và được tích hợp hoàn toàn vào IIS 7.0,
nó có thể cấu hình FTP và các nội dung web từ cùng một site bằng cách add một FTP binding (kết nối FTP) vào một website đang tồn tại Dịch vụ FTP cũng có sự hỗ trợ cho hostname ảo, dịch vụ này làm cho nó có thể hosting nhiều site FTP trên cùng một địa chỉ IP Nó cũng cải thiện cả sự cách ly người dùng dùng thông qua các thư mục ảo
• Khả năng mở rộng
Dịch vụ FTP mới này có hỗ trợ khả năng mở rộng (API), tính năng này làm cho nó trở nên dễ dàng hơn đối với các hãng phần mềm trong việc viết các tùy chỉnh cho việc chứng thực FTP
• Logging
Việc logging của FTP đã được cải thiện và nâng cao để gộp tất cả lưu lượng FTP vào các file bản ghi
• Các tính năng khắc phục sự cố
IIS 7.0 có một số tính năng khắc phục sự cố mới, như Event Tracing cho Windows (ETW), dịch vụ FTP hỗ trợ tính năng này cùng với việc cung cấp các thông báo xử lý lỗi chi tiết và các thông báo đến người dùng cục bộ, cũng là một tùy chọn mới cho IIS 7.0
Các điều kiện tiên quyết cho việc cài đặt
FTP Publishing Service mới hiện được cung cấp một cách miễn phí dưới dạng một modul có thể download từ IIS.net DownloadCenter
Một số điều kiện tiên quyết cần cho phải bảo đảm trước khi tiếp tục cài đặt FTP Publishing Service
• Bạn phải đang sử dụng Windows Server 2008
• IIS 7.0 phải được cài đặt
• Nếu bạn muốn quản lý các dịch vụ FTP mới bằng giao diện IIS 7.0 thì phải cài đặt IIS Management Console
• Phải đăng nhập với quyền quản trị viên
• Cấu hình chia sẻ của IIS 7.0 phải được vô hiệu hóa trên mỗi nút trước khi
Trang 3cài đặt dịch vụ mới này, và nó có thể được kích hoạt trở lại sau khi dịch vụ này được cài đặt xong
• Dịch vụ FTP có trong Windows Server 2008 phải được gỡ bỏ trước khi cài đặt dịch vụ FTP mới này
Cài đặt
Trong hướng dẫn từng bước này chúng tôi sẽ giới thiệu cho các bạn cách cài đặt dịch vụ FTP trên một máy chủ Windows Server 2008 mới Lưu ý chúng tôi chỉ giới thiệu đến phần cài đặt FTP chứ không đề cập đến các dịch vụ của IIS 7.0
• Download phiên bản FTP Service mới từ liên kết ở trên
• Chạy chương trình đã download với quyền quản trị viên để cài đặt hoặc cài đặt bằng một trong hai lệnh dưới đây:
- x86 version: msiexec /i ftp7_x86_rtw.msi
- x64 version: msiexec /i ftp7_x64_rtw.msi
• Các bước này rất quan trọng vì User Account Control (UAC) thường ngăn chặn bạn thực hiện việc truy cập file applicationHost.config
• Khi chương trình cài đặt bắt đầu, bạn kích Next:
Trang 4Hình A: Cài đặt bắt đầu
• Chấp nhận EULA và kích Next:
Hình B: EULA
• Chọn các tùy chọn bạn muốn cài đặt và kích Next:
Trang 5Hình C: Chọn các tính năng cài đặt
Các tính năng cài đặt được mô tả:
• Common files
Cung cấp các file chung cho Microsoft FTP Service for IIS 7.0, như file lược đồ cấu hình FTP, các file này được yêu cầu trên tất cả các máy chủ FTP đang sử dụng nút cấu hình chia sẻ
• FTP Publishing Service
FTP Publishing Service, thành phần lõi cần thiết cho FTP để làm việc và yêu cầu Process Model của tính năng Windows Process Activation
Service được cài đặt
• Managed Code Support
Hỗ trợ cho các tính năng mã có sẵn Tính năng này được yêu cầu khi các tính năng mã có sẵn như ASP.NET users hoặc IIS Manager Users, sẽ được sử dụng với FTP Tính năng này mang tính tùy chọn và sẽ không làm việc khi chạy Windows Server 2008 trong chế độ Server Core
• Administration Features
Hỗ trợ việc quản trị bằng IIS Manager, giao diện người dùng (UI).Tính năng này yêu cầu phải có the IIS Manager và NET 2.0 Framework đã được cài đặt
Trang 6
• Bắt đầu cài đặt, kích Install:
Hình D: Bắt đầu cài đặt
• Kích “Read notes” để xem readme và kích Finish:
Trang 7Hình E: Cài đặt kết thúc
Xác nhận FTP Service đã được cài đặt bằng cách kiểm tra xem Microsoft FTP Service có đang chạy không và trong IIS Manager kiểm tra phần FTP mới với tất
cả các thành phần quản lý cho FTP Service
Trang 8Hình F: Phần FTP trong IIS Manager Mặc định máy chủ FTP sẽ khóa và không chấp nhận các yêu cầu FTP
Từ bên trong IIS Manager bạn hoàn toàn có thể dễ dàng publish một FTP mới hoặc add một FTP Publishing vào website đã tồn tại
Với mục đích bảo mật người dùng, FTP Service hỗ trợ sự nặc danh, thứ không được khuyến khích và cũng có hai cách chứng thực người dùng FTP của bạn:
• Windows Authentication
Người dùng được đặt trong Active Directory hoặc khu vực lưu trữ người dùng nội bộ trong máy chủ FTP chuyên dụng
• IIS Manager Authentication
Đây là một tính năng mới, nơi IIS Manager được sử dụng cho quản trị viên người dùng và tất cả người dùng được add bằng IIS Manager, việc chứng thực được quản lý bởi bộ cung cấp “IISManagerAuth” mới
Kết luận
Phiên bản mới FTP Publishing Service với khả năng download từ Microsoft là một phiên bản đáng được chờ đợi Đây là một công cụ tuyệt vời mà Microsoft đã sửa và viết lại FTP Server thành phát hành mới với sự hỗ trợ cho FTP-S
Trang 9Tính bảo mật và khả năng mã hóa thường không có trong các phiên bản cũ
Một ưu điểm khác của dịch vụ mới này đó là sự tích hợp trong IIS Manager và việc kết nối trực tiếp với các website đang tồn tại bên trong IIS Manager
Phần hai này sẽ giới thiệu cho các bạn các kịch bản cấu hình khác nhau của FTP Publishing Service mới cho IIS 7.0 Các điều kiện tiên quyết của bài này là FTP Publishing Service đã được cài đặt trên Windows Server 2008 rồi Phần một của loạt bài này chúng tôi đã giới thiệu cho các bạn cách download và cài đặt phiên bản mới của FTP Publishing Service này Phần tiếp theo này sẽ giới thiệu cho các bạn hai chủ đề cấu hình chính đó là:
• Cách cấu hình một site FTP mới
• Cách bổ sung thêm FTP Publishing vào website đang tồn tại
Cả hai chủ đề này sẽ đều liên quan tới việc cấu hình FTP bằng GUI và các công
cụ quản lý dòng lệnh
Sử dụng FTP có thể khác đôi chút, sự khác biệt này phụ thuộc vào trường hợp
sử dụng và yêu cầu cho FTP trong tổ chức Chính vì vậy chúng tôi sẽ giới thiệu cho các bạn một số kịch bản khác nhau này
Cấu hình một site FTP mới
Có rất nhiều cách để cấu hình một site FTP mới với IIS 7.0 và FTP Publishing Service mới, bạn hoàn toàn có thể thay đổi hoặc bổ sung thêm một site FTP trực tiếp trong các file cấu hình xml hoặc bằng cách sử dụng kịch bản
Phần đầu tiên của phần này chúng tôi sẽ giới thiệu việc cấu hình FTP “cách sử dụng GUI” bằng công cụ IIS Manager và trong phần hai sẽ giới thiệu việc cấu hình FTP bằng sử dụng giao diện dòng lệnh Cả hai cách đều cho cùng một kết quả giống nhau, đó chính là một site FTP mới
Tạo một thư mục mới
Một thư mục mới cần phải được chuẩn bị cho FTP Publishing Lúc này bạn hoàn toàn dễ dàng tạo một thư mục trước khi tiếp tục với việc cấu hình FTP Phải bảo đảm cho thư mục được cấu hình với các điều khoản chính xác Thư mục được
sử dụng trong ví dụ này là: “D:\Inetpub\ftproot\ftp.iis-digest.com”
1 Tạo thư mục D:\Inetpub\ftproot\ftp.iis-digest.com
Trang 102 Thiết lập các điều khoản thư mục bằng cách sử dụng lệnh calcs thông qua nhắc lệnh:
CACLS "C:\inetpub\ftproot\ftp.iis-digest.com" /G IUSR:R /T /E
Hình A: Cửa sổ nhắc lệnh và lệnh cacls
Lệnh ở trên thay đổi các điều khoản trên thư mục ftp.ii-digest.com và bổ sung
thêm các điều khoản đọc và thực thi cho tài khoản IUSR
Người dùng IUSR là một tài khoản mới trong Windows Server 2008 được sử
dụng cho IIS 7.0, thay thế cho tài khoản cũ IUSR_machinename có trong
Windows Server 2003 và IIS 6.0 trước đây
Cấu hình FTP
1 Bắt đầu IIS Manager tại Start – Administrative Tools – Internet Information Service (IIS) Manager
2 Trong IIS Manager, bên dưới Sites, bạn kích Add FTP Site…
Trang 11Hình B: Thêm FTP Site…
3 Add FTP Site Wizard được triệu gọi và tại hộp thoại đầu tiên, bạn nhập vào
tên của FTP Site và đường dẫn vật lý, đã được tạo từ trước:
Trang 12Hình C: Add FTP Site Wizard – nhập vào thông tin của site
Trang 13Hình D: Add FTP Site Wizard – Nhập vào Binding và các thiết lập SSL
4 Nhập vào thông tin địa chỉ IP cho FTP Site và ghép nối cổng, sử dụng cổng 21 mặc định Trong trường hợp bạn biết rằng mình đang thực hiện và nếu ứng dụng của bạn có thể cần sử dụng một cổng khác thay cho cổng mặc định này thì
có thể thay đổi nó ở đây
5 Có một vấn đề mới với FTP Publishing Service đó là nó hỗ trợ việc đặt tên host ảo, tính năng này cũng tương tự như việc sử dụng các header chủ trên một
website Một tên host ảo (Virtual Host) giống như ftp.iis-digest.com có nghĩa rằng
nó cho phép nhiều site FTP được cấu hình trên một địa chỉ IP và không có xung đột nào về việc kết nối cổng
6 SSL cũng là một tính năng mới được hỗ trợ bởi FTP Publishing Service, bằng việc kết hợp SSL và FTP, máy chủ sẽ cung cấp sự hỗ trợ FTPS Bằng cách chọn một chứng chỉ SSL trong suốt quá trình cấu hình, FTP Site sẽ được cung cấp như một site an toàn, chính vì vậy tất cả lưu lượng sẽ được mã hóa Vì
không có chứng chỉ SSL cho site FTP này nên trong ví dụ trên sẽ là “Allow
SSL”
7 Thiết lập sự thẩm định quyền thành nặc danh để cung cấp sự truy cập nặc danh đối với site ftp mới được sử dụng như một ví dụ trong bài này
Trang 14Hình E: Add FTP Site Wizard – Thiết lập sự thẩm định quyền và thông tin về
quyền hạn
8 Thêm các thiết lập về quyền hạn đã được sử dụng cho site ftp này, thiết lập
nó thành “Anonymous users” và các điều khoản Read (only)
9 Site ftp mới đã được cấu hình và có thể được thấy trong IIS Manager
Trang 15Hình F: IIS Manager – hình ảnh của site ftp mới
10 Kiểm tra site FTP mới: trong ví dụ này chúng ta đăng nhập vào site kiểm thử
ftp.iis-digest.com bằng một người dùng nặc danh Với FTP 7 có sử dụng các
header ảo, đăng nhập cần phải được định dạng giống như sau:
“ftp.iis-digest.com|anonymous”:
Hình G: Cửa sổ nhắc lệnh – kiểm tra kết nối ftp
Có nhiều cách để cấu hình người dùng cho một site ftp theo cách an toàn và việc sử dụng mức thẩm định quyền nặc danh trong sản xuất là không được khuyến khích Vấn đề bảo vệ FTP sẽ được chúng tôi giới thiệu trong phần tiếp
Trang 16theo của loạt bài này
Cấu hình site FTP mới bằng kịch bản và dòng lệnh
Với IIS 7.0 và FTP 7 mới, bạn hoàn toàn có thể lập kịch bản và tự động hóa rất nhiều thao tác quản lý của IIS và FTP Phần này chúng tôi sẽ giới thiệu cho các bạn về cách thực hiện tạo và cấu hình site FTP mới như trên bằng cách sử dụng dòng lệnh và kịch bản
Sử dụng công cụ dòng lệnh mới AppCMD.exe, lệnh và các tham số cho việc tạo một site FTP mới là:
appcmd add site /name:"ftp.iis-digest.com ftpsite"
/bindings:ftp://ftp.iis-digest.com:21
/physicalpath:"c:\inetpub\ftproot\ftp.iis-digest.com
/ftpServer.security.ssl.dataChannelPolicy:SslAllow"
Hình H: Cửa sổ nhắc lệnh – đang sử dụng công cụ quản lý appcmd
Cũng như vậy, có thể được thực hiện bằng cách sử dụng PowerShell và
PowerShell Provider mới cho IIS 7.0 Bạn cần cài đặt PowerShell 1.0 trên
Windows Server 2008 cùng với PowerShell Provider mới cho IIS 7.0 PowerShell Provider có thể được download từ www.iis.net Cả hai cần được cài đặt để cung cấp kết nối và các lệnh nhằm quản lý IIS 7.0 và FTP 7 bằng cách sử dụng
PowerShell
Cũng có một giao diện mang tính lập trình hơn cho việc quản lý IIS 7.0, giao diện
đó là Microsoft.Web.Administration Để có thêm các thông tin chi tiết về giao diện này, bạn hãy tìm trong website chính thức của IIS (www.iis.net), trong bài này chúng tôi sẽ không đề cập đến nó
Trang 17Bổ sung thêm FTP Publishing vào một website đang tồn tại
Với IIS 7.0 và FTP Publishing Service mới, bạn hoàn toàn có thể bổ sung thêm FTP đối với một website đang tồn tại một cách trực tiếp từ bên trong IIS
Manager Đây chính là tính năng mới tuyệt vời trong IIS Điều này có nghĩa rằng trong các môi trường hosting hiện có, bạn sẽ dễ dàng hơn rất nhiều trong việc
bổ sung thêm sự truy cập FTP vào một website đang chạy trên máy chủ web
Với FTP Publishing Service mới, bạn hoàn toàn có thể dễ dàng publish một FTP vào một website đang tồn tại và điều này có thể được thực hiện trực tiếp từ bên trong IIS Manager Trong ví dụ bên dưới, một site FTP sẽ được bổ sung vào website mặc định
1 Mở “Sites” và tìm website mà bạn muốn bổ sung chức năng FTP vào, trong ví
dụ này, tên site là “Default Web Site”
2 Đánh dấu website (Default Web Site) và kích chuột hoặc từ panel Action, chọn
“Add FTP Publishing…”:
Hình I: IIS Manager – Chọn Add FTP Publishing…
3 Một hộp thoại Add FTP Publishing Wizard sẽ xuất hiện với trang đầu tiên là
“Binding and SSL Settings”:
Trang 18Hình J: Add FTP Site Wizard – Nhập vào Binding và các thiết lập SSL
4 IP Address: Chọn địa chỉ IP cho site FTP mới của bạn, ở đây có thể chọn “All Unassigned” hoặc nhập vào địa chỉ IP, hoặc chọn từ menu sổ xuống Trong ví
dụ này chúng tôi đã sử dụng “All Unassigned”
5 Port: Cổng FTP mặc định là Port 21, đây cũng là cổng được sử dụng trong ví
dụ này
6 Virtual Name: Bạn hoàn toàn có thể sử dụng header chủ cho site FTP như
chúng ta biết từ header chủ trên các website và từ ví dụ đầu tiên Trong ví dụ này, nó sẽ được để trống, điều đó có nghĩa rằng nó sẽ đáp trả cho địa chỉ IP
7 Chọn “Allow SSL” vì không có chứng chỉ SSL để bổ sung cho site ftp