SFTP服務器SFTPGo 2.2.0發布

SFTPGo 2.2 伺服器版本已經發布,它允許您使用 SFTP、SCP/SSH、Rsync、HTTP 和 WebDav 協定來組織對檔案的遠端存取。 除此之外,SFTPGo 可用於使用 SSH 協定提供對 Git 儲存庫的存取。 資料可以從本機檔案系統以及與 Amazon S3、Google Cloud Storage 和 Azure Blob Storage 相容的外部儲存體傳輸。 可以以加密形式儲存資料。 為了儲存使用者資料庫和元數據,使用支援 SQL 或鍵/值格式的 DBMS,例如 PostgreSQL、MySQL、SQLite、CockroachDB 或 bbolt,但也可以將元資料儲存在 RAM 中,這不需要連接外部資料庫。 此專案程式碼是用 Go 編寫的,並根據 GPLv3 授權分發。

在新版本中:

  • 新增了對使用有時間限制的一次性密碼的雙重認證的支援(TOTP、RFC 6238)。 Authy 和 Google Authenticator 等應用程式可用作身份驗證器。
  • 透過插件擴展功能的能力已經實現。 已經可用的插件包括:支援額外的金鑰交換服務、整合發布/訂閱方案、儲存和搜尋有關 DBMS 中事件的資訊。
  • 除了 JWT 令牌之外,REST API 還添加了對使用金鑰進行身份驗證的支持,並且還提供了設定與各個目錄和使用者相關的資料儲存策略(限制資料的生命週期)的功能。 預設情況下,Swagger UI 可以在不使用外部實用程式的情況下導航 API 資源。
  • Web 介面中新增了對寫入作業的支援(上傳檔案、建立目錄、重新命名和刪除),實現了透過電子郵件確認重設密碼的功能,還整合了文字檔案編輯器和 PDF 文件檢視器。 新增建立 HTTP 連結的功能,為外部使用者提供單一檔案和目錄的訪問,並能夠設定單獨的訪問密碼、限制 IP 位址、設定連結生命週期和限制下載次數。

SFTPGo 的主要特點:

  • 每個帳戶都是 chroot 的,限制了對用戶主目錄的訪問。 可以創建引用用戶主目錄之外的數據的虛擬目錄。
  • 帳戶存儲在與系統用戶數據庫不相交的虛擬用戶數據庫中。 SQLite、MySQL、PostgreSQL、bbolt 和內存存儲可用於存儲用戶數據庫。 提供了映射虛擬和系統帳戶的方法 - 可以進行直接或任意映射(一個系統用戶可以映射到另一個虛擬用戶)。
  • 支持公鑰、SSH 密鑰和密碼身份驗證(包括使用鍵盤密碼輸入的交互式身份驗證)。 可以為每個用戶綁定多個密鑰,也可以設置多因素、多階段認證(例如,如果密鑰認證成功,可能會額外要求輸入密碼)。
  • 可以為每個用戶配置不同的身份驗證方法,也可以定義他們自己的方法,通過調用外部身份驗證器程序(例如,通過 LDAP 進行身份驗證)或通過 HTTP API 發送請求來實現。
  • 可以連接外部處理程序或 HTTP API 調用以動態更改在用戶登錄之前調用的用戶設置。 支持在連接時動態創建用戶。
  • 支持數據大小和文件數量的單獨配額。
  • 通過單獨設置傳入和傳出流量限制以及同時連接數限制來支持帶寬限制。
  • 與用戶或目錄相關的訪問控制工具(您可以限制查看文件列表,禁止上傳、下載、覆蓋、刪除、重命名或更改訪問權限,禁止創建目錄或符號鏈接等)。
  • 對於每個用戶,您可以定義單獨的網絡限制,例如,您只能允許來自特定 IP 或子網的訪問。
  • 它支持與個人用戶和目錄相關的可下載內容過濾器的連接(例如,您可以阻止具有特定擴展名的文件的下載)。
  • 您可以將在各種操作期間啟動的處理程序與文件綁定(加載、刪除、重命名等)。 除了調用處理程序之外,還支持以 HTTP 請求的形式發送通知。
  • 自動終止非活動連接。
  • 不中斷連接的原子配置更新。
  • 提供用於在 Prometheus 中進行監控的指標。
  • 支持 HAProxy PROXY 協議來組織負載平衡或代理連接到 SFTP/SCP 服務,而不會丟失用戶的源 IP 地址。
  • 用於管理用戶和目錄、創建備份和報告活動連接的 REST API。
  • 用於配置和監控的 Web 界面 (http://127.0.0.1:8080/web)(也支持通過常規配置文件進行配置)。
  • 能夠以 JSON、TOML、YAML、HCL 和 envfile 格式定義設置。
  • 支持通過 SSH 連接,但對系統命令的訪問權限有限。 例如,允許運行 Git(git-receive-pack、git-upload-pack、git-upload-archive)和 rsync 所需的命令,以及幾個內置命令(scp、md5sum、sha*sum、 cd、pwd、sftpgo-copy 和 sftpgo-remove)。
  • 用於共享一個共享目錄的便攜式模式,自動生成通過多播 DNS 公佈的連接憑證。
  • 用於性能分析的內置分析系統。
  • 簡化的 Linux 系統帳戶遷移過程。
  • 以 JSON 格式存儲日誌。
  • 支持虛擬目錄(比如某個目錄的內容可以不從本地文件系統中獲取,而是從外部雲存儲中獲取)。
  • 支持 cryptfs 在保存到文件系統時透明地動態加密數據並在上傳時解密。
  • 支持將連接轉發到其他 SFTP 服務器。
  • 能夠使用 SFTPGo 作為 OpenSSH 的 SFTP 子系統。
  • 使用 KMS 服務器(密鑰管理服務)(例如 Vault、GCP KMS、AWS KMS)以加密形式存儲憑據和機密數據的能力。

來源: opennet.ru

添加評論