IIS7上配置FTP7使用IIS管理憑據方式進行驗證
在 Windows Server 2008 R2 釋出後,gOxiA 就開始著手於相關的測試和評估。IIS 是重點測試和評估之一!而今天與大家分享的是如何在 IIS7 上配置 FTP7 使用 IIS管理憑據 方式進行身份驗證。提到 MSFTP 服務,恐怕知道的人多,但是真正使用的人少!特別是 IDC 環境下多數會選擇 Serv-U FTP Server,gOxiA 從 Windows Server 2008 開始就不再使用 Serv-U,原因很簡單!Serv-U 不是免費的,此次 Serv-U 預設存在安全隱患。況且開放 FTP 也是為了方便自己維護網站,下載上傳資料用!所以用系統自身的軟體不是更好!維護也相對容易很多!但是,使用過 MSFTP 的朋友知道從 FTP7 開始,微軟才為 MSFTP 設計提供了對非 Windows 身份驗證功能的支援,也就是說如果我們要訪問 MSFTP 則不必再在系統裡新增使用者帳號,而可以使用 IIS 來統一管理單獨的憑據!現在我們再也不用擔心,使用 MSFTP 會存在使用者帳號安全隱患的問題。
這是一篇 Step by Step,所以其中涉及到的相關原理及知識內容不作過多介紹!我們將通過 IIS7 提供的 IisManagerAuth 身份驗證模組來實現 IIS管理憑據的 FTP 帳號。具體步驟如下:
在開始配置之前,我們需要修改相關目錄的目錄安全許可權,這一步驟是必須的,否則在登入 FTP 的時候會出現錯誤。如下圖所示,我們會看到由於許可權不足導致無法讀取配置檔案的錯誤提示。而無許可權讀取的檔案是位於 inetsrv\config 下的 redirection.config 檔案。經過 gOxiA 的測試發現即使為該檔案新增了相應的許可權但仍提示登入失敗,最終要配置 config 目錄許可權,賦予 Network Service(FTP7 程式的預設帳戶)有讀取許可權後才能正常登入。
為了簡單的演示目錄許可權的設定過程,gOxiA 參考了 IIS.net 中相關文章的命令列,其中涉及到的 cacls 可以直接執行就可以得到引數幫助。要執行的命令列如下:
cacls c:\windows\system32\inetsrv\config /G “Network Service”:R /E
配置了 config 目錄許可權後,請確保 “Network Service”對該目錄下的 administration.config 和 redirection.config 檔案有讀取許可權,否則請執行如下命令列:
cacls c:\windows\system32\inetsrv\config\administration.config /G “Network Service”:R /E
cacls c:\windows\system32\inetsrv\config\redirection.config /G “Network Service”:R /E
之後建立一個 FTP 的預設目錄,注意請新增“Network Service”有完全控制的許可權。
在開始之前請確認已經安裝了 IIS7 的 管理服務元件,否則請進入伺服器管理,單擊新增角色服務,選中 IIS7 的管理服務元件,進行安裝。
預設可以使用 C:\Inetpub\Ftproot 作為 FTP 主目錄,當然也可以根據自己的需要建立或選擇一個目錄,但是需要注意,請賦予“Network Service”有完全控制許可權。
下來我們配置 IIS7 啟用 IIS管理器憑據,在啟用之後才能使用 IisManagerAuth。為此,開啟 IIS管理器,雙擊“管理服務”,選中“Windows 憑據或 IIS 管理器憑據”,最後單擊右邊操作列表下的“應用”。
之後使用“IIS管理器使用者”建立一個 IIS 所管理的使用者帳號。為此,雙擊“IIS 管理器使用者”,單擊“新增使用者”,在彈出的窗體中輸入使用者名稱和密碼。
上述操作一旦完成,就可以開始建立一個 FTP 站點,首先選中 IIS 管理器左邊的導航窗體中的“網站”,之後單擊滑鼠右鍵,左鍵單擊“新增 FTP 站點…”。
“站點資訊”中輸入 FTP 站點名稱,如:Default FTP Site。並選擇預設的內容目錄,本例中 gOxiA 使用的是 C:\inetpub\ftproot,單擊“下一步”。
在“繫結和 SSL 設定”中,根據需要啟用虛擬主機名,注意:FTP“虛擬主機名”可能不被一些客戶端所支援。此外請將 SSL 預設的配置“需要”更改為“允許”,否則如果不配置 SSL 證書並使用 SSL FTP 登入方式將導致客戶端連線失敗。
在“身份驗證和授權資訊”配置中,更具需要選擇身份驗證方式,並指定一個使用者和許可權。如果你只允許 IIS管理器使用者能夠訪問該 FTP 站點,那麼這一步可以不配置,直接單擊“完成”。方便大家的學習,本例中允許系統使用者中的 Administrator 對該 FTP 有讀取和寫入的許可權。
現在以 Windows 身份驗證方式的 FTP 站點已經建立好了,下面我們可以使用 Administrator 來登入 FTP。
經過測試,建立的 FTP 站點已經正常執行,下面我們將要為該 FTP 站點新增之前建立的 IIS管理器使用者 — goxia 有相應的訪問許可權。
首先,選中“Default FTP Site”,在內容窗體中雙擊“FTP 身份驗證”,進入“FTP 身份驗證”設定後單擊右邊操作中的“自定義提供程式…”,在彈出窗體中勾選“IisManagerAuth”。
啟用了 IisMangerAuth 後,開啟“FTP 授權規則”,新增指定的使用者 — goxia,並賦予有相應的訪問許可權。
最後我們來使用 goxia 這個 IIS 管理器使用者登入 FTP 進行測試。
如果首次登入失敗,提示無法驗證使用者和密碼,則需要開啟該 FTP 站點的“IIS 管理器許可權”設定,新增 goxia 這個帳號。之後測試登入成功後再將其帳號從中刪除即可。查詢 IIS.net 的相關指引文件,發現預設是要執行這步配置的,但是 gOxiA 認為這一步是配置使用者是否具有該 FTP 的遠端管理許可權的,一旦配置並啟用 IIS 的遠端管理服務,那麼該帳號具備的許可權可能會造成安全隱患。目前 gOxiA 也未完全理解。希望有網友指點一二!
本文轉自 蘇繁 51CTO部落格,原文連結:http://blog.51cto.com/goxia/224756,如需轉載請自行聯絡原作者
相關文章
- 使用 KeePassXC 管理憑據
- Windows下的IIS7證書備份Windows
- IIS7/IIS8環境下全站https訪問的配置方法HTTP
- Windows2000/2003/2008伺服器IIS匯入伺服器證書的方法(IIS5、IIS6、IIS7)Windows伺服器
- Spring Boot使用JWT進行token驗證Spring BootJWT
- iis7/8隱藏banner資訊
- 使用Moya庫,進行https證書校驗HTTP
- ActionCable 中怎樣使用 devise 進行驗證dev
- 使用 OAuth 2.0 進行 Kafka 身份驗證 - strimziOAuthKafka
- iis7遠端桌面管理和3389批次管理軟體特點比較
- IIS7 IIS8 自動跳轉到HTTPS – HTTPS SSL 教程HTTP
- 請問在一個介面內怎麼根據請求方式對引數進行分別驗證呢?
- Spring AI(使用Ollama大模型進行AI驗證)SpringAI大模型
- 使用SpringBoot進行優雅的資料驗證Spring Boot
- 透過 ForwardAgent ,在遠端機器上,使用本機 ssh key 進行驗證Forward
- 使用 gorilla/mux 進行 HTTP 請求路由和驗證GoUXHTTP路由
- 在.NET Core 中使用 FluentValidation 進行規則驗證
- Windows下IIS部署自建CA證書進行雙向認證的過程Windows
- Win2008 r2 iis7/iis7.5系統下HTTP重定向HTTP
- 換種方式使用 Laravel 的 request 驗證Laravel
- 如何在IIS上安裝證書
- TP5使用bootstrapvalidator進行非同步驗證郵箱boot非同步
- 在.Net Web Api中使用FluentValidate進行引數驗證WebAPI
- 搞定了!OAuth2使用驗證碼進行授權OAuth
- 使用 GoFrame 框架 JWT 方式驗證使用者資訊GoFrame框架JWT
- 1.6.5.1. 準備使用密碼檔案進行身份驗證密碼
- 使用 useSeoMeta 進行 SEO 配置
- 線上直播系統原始碼,使用者異地登入時對身份進行驗證原始碼
- 伺服器開啟遠端連線軟體 iis7伺服器管理工具伺服器
- 雲伺服器IIS7伺服器日誌分析方法伺服器
- 演進配置管理的七條經驗
- SSL證書是如何驗證的?驗證方式推薦
- Centos7上進行ftp配置CentOSFTP
- IIS伺服器上安裝SSL證書?伺服器
- Jmeter進行HTTPS介面壓測及SSL證書驗證JMeterHTTP
- 申請SSL證書如何進行操作DNS域名驗證DNS
- IIS7 中部署MVC4應用程式需要怎麼做?MVC
- 在 Hub 上使用 Presidio 進行自動 PII 檢測實驗
- SAP MM 盤點憑證上的posting blockBloC