這幾天在 Review 公司內一個 ASP.NET Core 專案的 Azure Pipelines,我發現網站是透過 FTP 進行更新的。然而自動化部署的過程,則是先上傳一個 app_offline.htm
檔案,然後在部署成功後刪除 app_offline.htm
檔案。也因為這個專案,我發現了一些 Azure Pipelines 內建的 FTP Upload task (FtpUpload@2
) 有些魔鬼般的細節,實測之後發現有太多地雷,便花了點時間研究一下。
... 繼續閱讀 ...
我們有個 企業 IT 委外 (協助客戶提升企業 IT 管理品質與安全性的服務) 的客戶問我說要如何設定 vsftpd ( Linux 下非常普及的 FTP 伺服器 ) 才能讓他們官網在更新檔案的時候比較安全,因為該客戶的網站編輯人員經常透過 FTP 更新資料,且公司裡所有需要更新網站的人都能透過 FTP 登入官網,每個人都能建立檔案、刪除檔案、更新檔案…等等,由於每個人都擁有 FTP 最大權限,他覺得很不安全,問我應該怎樣設定比較好。因此今天整理出我設定 vsftpd 的筆記,在此我分享安全設定 vsftpd 與多人共用 FTP 的設定技巧!
... 繼續閱讀 ...
之前找了一套支援 SFTP (FTP over SSH) 的 FTP Server 就是為了解決 Port 不夠用的問題,直到最近才發現我們常用的 FileZilla Server 原來就有支援 FTPS ( FTP over SSL ) 功能,雖然使用 FTPS 無法省 Port,但至少對資料傳輸的安全性來說絕對是大幅提昇。
... 繼續閱讀 ...
因為開放 FTP 連線最少最少也需要兩個 Port 才能提供服務 ( Command Channel 與 DATA Channel ),我們最近就遇到一個案子由於客戶的對外實體 IP 不夠,且 NAT 的設定規則也幾乎全部用罄,只剩下開啟一個 IP 對應規則,所以我就無法透過開放 FTP 連線的方式更新資料,每次都要用遠端桌面的檔案傳輸功能更新檔案實在很沒效率。
... 繼續閱讀 ...
我想 FTP 可能有人每天都在用,但卻很少人知道 FTP 運作原理,更尤其是在連不上 FTP 的時候常常都是一頭霧水,在問別人時也可能會發現有人可以連、有人不能連,有的人連的上可以登入成功但是卻無法列出檔案清單,種種的問題只要能了解 FTP 的運作原理就可以很輕易的了解問題出在哪裡,進而解決問題。
... 繼續閱讀 ...
FTP 有兩種傳輸模式,一種是主動模式(Active mode),另一種是被動模式(Passive mode),不過由於許多公司都是透過 IP 分享器上網,所以不是所有人都能透過 Active mode 傳輸檔案。而現在的 Server 環境也通常有架設防火牆阻擋沒在使用的 Ports,這種情況下也會讓 Passive mode 無法正常運作,因為當 FTP Server 在使用 Passive mode 傳輸資料時,Server 端會動態的使用 Port 1024 ~ 65535 來進行檔案的傳輸,這樣就很有可能被防火牆阻擋掉正常的連線。
... 繼續閱讀 ...
有時後 FTP 登入的帳號、密碼忘了還真討厭,平時都記憶在自己的 FileZilla 中,也不會特別去重打,但別人來跟你要密碼的時候就很難想起來。
... 繼續閱讀 ...