FTP 匿名登入(anonymous)檢查工具
檢查某台 FTP 伺服器是否接受匿名登入。這是常見的設定疏失,也可能造成安全風險。
什麼是匿名 FTP?
匿名 FTP 讓人不需要個人帳號就能連上 FTP 伺服器,使用者名稱用 anonymous,密碼則填任意字串(通常是電子郵件地址)。它過去常用來散布公開軟體,但在存放敏感資料的伺服器上,現在被視為安全風險。
很多伺服器至今仍刻意開放匿名存取:Linux 發行版的鏡像站、韌體下載伺服器和公開典藏都是這樣提供檔案的。問題在於那些不小心開放的伺服器:一直沒關掉的預設設定、直接轉成正式環境的測試機,或是一個原本不該放客戶資料的匿名目錄。這項檢查要找的,正是這種漏洞。
檢查方式
這個工具會在你指定的連接埠連上伺服器,用使用者名稱 anonymous 實際嘗試登入,並回報伺服器真正的回應;如果允許存取,也會附上歡迎橫幅。過程中不會下載或上傳任何東西,就是攻擊者的掃描器會嘗試的同一套交握,從你的瀏覽器執行一次。
為什麼要檢查匿名存取?
- 不該有的匿名存取,可能讓私人檔案暴露在公開的網際網路上。
- 攻擊者會利用匿名 FTP 上傳惡意程式,或把伺服器當成中繼站。
- 許多法規遵循標準(PCI-DSS、HIPAA)都要求停用匿名 FTP。
既然在檢查伺服器,也可以用 FTP 連線測試工具確認帳密與連線狀況,再用 FTP 伺服器橫幅擷取工具看看伺服器對外宣稱自己是什麼軟體。等檢查變成實際的檔案工作時,FTPie 是一款內建 FTPS 與 SFTP 的現代 Windows 免費 FTP 用戶端。
常見問題
使用者名稱是 anonymous,密碼依慣例是你的電子郵件地址,不過大多數伺服器接受任意字串。許多伺服器也接受較短的使用者名稱 ftp。只要其中一種能登入,就表示伺服器允許匿名存取。
不一定。公開的下載鏡像站和軟體典藏是刻意使用匿名 FTP 的,對真正公開的檔案提供唯讀存取並沒有問題。它會變成風險,是在意外開啟、可存取的目錄裡有私人資料,或匿名使用者可以上傳的時候。可寫入的匿名 FTP,向來是散布惡意程式的典型據點。
在 vsftpd 中,於 vsftpd.conf 設定 anonymous_enable=NO 並重新啟動服務。在 ProFTPD 中,刪除或註解掉設定裡的 Anonymous 區段。在 FileZilla Server 中,刪除 anonymous 使用者帳號。在 IIS 中,停用 FTP 站台的匿名驗證。完成後再執行一次這項檢查,確認伺服器現在會拒絕匿名登入。