Artifactory製品庫的密碼管理及策略配置

JFrog傑蛙科技發表於2020-09-28

密碼安全管理

通常我們在企業內部對平臺帳號進行管理時,安全團隊都會對我們的帳號體系有一定要求。

通常情況下有以下幾點:

密碼設定的要求,比如密碼的長度,複雜度。

密碼管理的要求,如密碼過期時間,錯誤嘗試次數等等。

密碼安全的的要求,比如密碼是否加密。

JFrog Access 服務

本篇文章就為您介紹一下Artifactory 的帳號管理體系如何設定以上規則,對於使用 Artifactory 製品庫的公司來說,這是一項必須要了解的內容。

那麼說到Artifactory 的帳號管理體系,就要給大家介紹一下 JFrog Access ,它 JFrog 產品中的一項服務,作用是在後臺管理所有 JFrog 服務的身份驗證和授權的相關事務。 Artifactory 中任何配置的所有使用者,組,許可權和密碼,都有這項服務來管理和儲存。 JFrog  Access 作為JFrog Artifactory 安裝的組成部分, Access 服務將作為單獨的 WAR 檔案安裝在   $ARTIFACTORY_HOME/webapps 資料夾下。

Access 相關配置

那麼根據 Access 的服務所承擔的工作來說,我們的密碼規則配置,也自然是由這項服務來管理。

對我們當前已經執行的服務來說Access 的配置檔案,對於 Artifactory 6.x 的版本來說,檔案儲存在 $ARTIFACTORY_HOME/access/etc 目錄下,如果是 Artifactory 7.x 的版本,檔案儲存在 $ JFROG_HOME/artifactory/var/etc/access 目錄下,檔名為: access.config.latest.yml

該檔案中與密碼安全性相關的配置項如下:  

security:

    password-policy:    # users' password policy ( 使用者的密碼策略 )

        uppercase: 0      # minimum number of uppercase letters that the password must contain ( 密碼必須包含的最小小寫字母數 )

        lowercase: 0      # minimum number of lowercase letters that the password must contain ( 密碼必須包含的最小大寫字母數 )

        digit: 0          # minimum number of digits that the password must contain ( 密碼必須包含的最小數字數 )

        length: 4         # minimum length of the password ( 密碼最小長度 )

        not-match-old: true # should access allow setting a new password to the same one currently set for the user ( 禁止與新舊密碼相同 )

    user-lock-policy:

        attempts: 0                     # number of failed login attempts to allow before locking a user. 0 (default) means the feature is disabled ( 鎖定使用者之前允許的失敗登入嘗試次數 )

        seconds-to-unlock: 0            # number of seconds to wait before re-enabling login for a user that has been locked out ( 為已鎖定的使用者重新啟用登入之前等待的秒數 )

        password-expiry-days: 0         # number of days before a password expires. Set by Artifactory ( 密碼過期 )

        admin-password-expirable: false # does the access admin password expire ( 訪問管理員密碼是否過期 )

    audit:

        enabled: true           # should access log all requests to a specific file or not ( 是否應訪問將所有請求記錄到指定檔案 )

        password-strength: 8      # bcrypt password strength. A higher value means better security, but password verification will be slower ( 密碼加密強度,更高的值意味著更好的安全性,但是密碼驗證會慢一些 )

        local-interfaces-expire-in-seconds: 60 * 10 # number of seconds for which local server ips should be cached for users allowed-ips ( 使用者允許的 IP 快取本地伺服器 IP 的秒數 )

        encryption-enabled: true  # specifies if users custom data encryption is allowed ( 指定是否允許使用者的自定義資料加密 )

完成配置一個樣例

僅僅展示引數可能不是很直觀,我們現在就來定一個規則,並且把配置內容完成一遍。

要求密碼長度大於 1 2 位,包含大小寫字母與數字,新舊密碼不能相同。登入 5 次失敗後鎖定,鎖定時間 3 0 秒,密碼 到期時間9 0 天。具體配置如下圖所示:


更多 Access 檔案的相關配置可以參考我們 JFrog 官方 Wiki 連結。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2724864/,如需轉載,請註明出處,否則將追究法律責任。

相關文章