您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“MongoDB如何驗證相關參數”,內容詳細,步驟清晰,細節處理妥當,希望這篇“MongoDB如何驗證相關參數”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
從4.0版本開始,移除了廢除的
MONGODB-CR
密碼驗證機制
作用: 指定密碼驗證機制,只有該參數列表里有的密碼驗證機制才能夠被使用。
**默認值:**MONGODB-X509,SCRAM-SHA-256和SCRAM-SHA-1
MONGODB-X509:用于TLS/SSL證書身份驗證
SCRAM-SHA-256:使用SHA-256 哈希函數加密,并且需要將featureCompatibilityVersion
設置為4才可以使用
SCRAM-SHA-1:使用SHA-1 哈希函數加密,默認加密方式。
可用對象: mongod和mongos
注意:只能在數據庫啟動指定該參數
mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth
作用: 集群驗證模式,支持sendX509
和x509
。在集群滾動升級時,設置為x509
用于集群成員之間的驗證,可以大大減少停機時間。
默認: undefined,未指定
可用對象: mongod和mongos
語法:
db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )
更詳細信息,請查看官方文檔:https://docs.mongodb.com/manual/tutorial/configure-ssl/
作用: 啟用本機無密碼登錄數據庫,也就是可以通過本機無密碼登錄數據庫。禁用則設置為0
或false
。一般用在新裝的數據庫上創建第一個管理員用戶。一旦創建了管理員,建議關閉該參數。
默認:啟用(true
或1
)
可用對象: mongod和mongos
語法:
mongod --setParameter enableLocalhostAuthBypass=true
注意:無法在命令行修改改參數,只能在配置文件中指定。或者啟動時通過
mongod --setParameter
方式修改。
更詳細信息,請查看官方文檔:https://docs.mongodb.com/manual/core/security-users/#localhost-exception
從3.6版本開始引入的該參數
作用: 指定在轉到下一個簽名鍵之前HMAC簽名鍵有效的秒數。此參數主要用于方便身份驗證測試。
默認: 7776000 秒(90天)
語法:
mongod --setParameter KeysRotationIntervalSec=10000
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
作用: 使用LDAP驗證方式來部署MongoDB.
mongod實例在外部用戶緩存刷新之間等待的時間間隔(以秒為單位)。在MongoDB刷新外部用戶緩存之后,當經過LDAP授權的用戶下一次發出操作時,MongoDB重新從LDAP服務器獲取授權數據。
增加該值會增加MongoDB和LDAP服務器不同步的時間,但會減少LDAP服務器上的負載。相反,減少指定的值會減少MongoDB和LDAP服務器不同步的時間,同時增加LDAP服務器上的負載。
可用對象: mongod
默認: 30 秒
更詳細信息,請查看官方文檔:https://docs.mongodb.com/manual/core/security-ldap-external/#security-ldap-external
從4.0.9版本開始引入該參數
作用: 指定當連接LDAP服務器時驗證時是否使用連接池。
默認:
4.2版本開始:
Windows平臺默認值:true
MongoDB企業版二進制鏈接到libldap_r
的Linux平臺默認:true
MongoDB企業版二進制鏈接到libldap
的Linux平臺默認:false
4.0.9到4.2版本默認:false
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
4.2.1和4.0.13版本引入該參數
作用: 用于確定LDAP連接池是否應該使用LDAP服務器的延遲來確定連接順序(從延遲最低到延遲最高)。
默認: true
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
4.2.1和4.0.13版本引入該參數
作用: 每個LDAP服務器保持打開連接得最小數量。
默認: 1
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
4.2.1和4.0.13版本引入該參數
作用: 每個LDAP服務器保持打開連接得最大數量。
默認: 2,在4.4版本之前默認值為:unset
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
4.2.1和4.0.13版本引入該參數
作用: LDAP連接池的運行狀況檢查之間間隔的毫秒數。
默認: 60000
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
4.2.1和4.0.13版本引入該參數
作用: 連接到LDAP服務器的池連接在關閉前可以保持空閑的最大秒數。
默認: 300
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
4.4版本開始引入該參數,只對
linux
和MacOS
平臺可用。
作用: 指定是否啟用OCSP
(Online Certificate Status Protocol)
默認: true
注意:無法在命令行修改改參數,只能在配置文件中指定。或者啟動時通過
mongod --setParameter ocspEnabled=false
方式修改。
4.4版本開始引入該參數,僅對
linux
平臺可用。
作用: 在刷新OCSP狀態之前等待的秒數。應該指定1或1以上數值
默認: -1
注意:無法在命令行修改改參數,只能在配置文件中指定。或者啟動時通過
mongod --setParameter ocspValidationRefreshPeriodSecs=300
方式修改。
3.6版本開始引入該參數,從4.0開始當使用本地TLS/SSL庫,將支持Linux/BSD,不再支持Windows和MacOS。
作用: 使用TLS/SSL加密時,為OpenSSL指定密碼字符串。
默認: 空
例子:
對于版本4.2及更高版本,最好使用TLS選項而不是SSL選項。TLS選項具有與SSL選項相同的功能。
mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
對于4.0及之前版本:
mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --sslMode requireSSL --sslPEMKeyFile Certs/server.pem
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
3.6版本開始引入該參數,僅對
linux
平臺可用。
作用: 指定包含OpenSSL Diffie-Hellman參數的PEM文件的路徑。通過指定OpenSSL Diffie-Hellman參數,可以在TLS/SSL加密期間支持 Ephemeral Diffie-Hellman (DHE)密碼套件。
Ephemeral Diffie-Hellman (DHE)密碼套件(Ephemeral Elliptic Curve Diffie-Hellman (ECDHE)密碼套件)提供 Forward Secrecy
, Forward Secrecy
密碼套件創建臨時會話密鑰,該密鑰由服務器的私鑰保護,但從不傳輸。這確保了即使服務器的私鑰被泄露,您也不能使用泄露的密鑰解密過去的會話。
默認: 空
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
只用于MongoDB企業版(除了Windows的MongoDB企業版)。
作用: 指定saslauthd實例用于代理身份驗證的Unix Domain Socket的路徑。
可用對象: mongod和mongos
默認: 空
只用于MongoDB企業版
作用: 為了配置SASL和Kerberos身份驗證,saslHostName覆蓋了MongoDB的默認主機名檢測。
除了配置SASL和Kerberos之外,saslHostName不會影響mongod或mongos實例的主機名。
可用對象: mongod和mongos
默認: 空
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
只用于MongoDB企業版
作用: 允許用戶在每個實例的基礎上覆蓋Kerberos主體名的默認Kerberos服務名組件。
默認: mongodb
可用對象: mongod和mongos
注意:無法在命令行修改改參數,只能在啟動時通過
mongod --setParameter
方式修改。
作用: 更改所有新的SCRAM-SHA-1
密碼使用的哈希迭代次數。更多的迭代增加了客戶端向MongoDB進行身份驗證所需的時間,但也降低了密碼被暴力的可能性。默認值對于大多數常見用例和需求來說已經足夠了。
默認: 10000
可用對象: mongod和mongos
注意:修改該參數不會對之前密碼產生影響,值必須大于5000。可在命令行和mongod中修改。
mongod --setParameter scramIterationCount=12000
db.adminCommand( { setParameter: 1, scramIterationCount: 12000 } )
4.0版本引入該參數
作用: 和scramIterationCount參數作用差不多,只是針對的是SCRAM-SHA-256
新密碼
默認: 15000
可用對象: mongod和mongos
配置ssl,可配置為 preferSSL
或requireSSL
可用對象: mongod和mongos
db.adminCommand( { setParameter: 1, sslMode: “preferSSL” } )
4.2版本引入該參數
配置tls,可配置為preferTLS
和requireTLS
可用對象: mongod和mongos
db.adminCommand( { setParameter: 1, tlsMode: “preferTLS” } )
4.4版本引入,只對Linux可用
作用: mongod/mongos實例等待接收其證書的OCSP狀態響應的最大秒數。指定值應該>=1,如果未設置則使用tlsOCSPVerifyTimeoutSecs
參數的值。
默認: -1
可用對象: mongod和mongos
可在配置文件中或mongod命令行中指定,mongod --setParameter tlsOCSPStaplingTimeoutSecs=20
4.4版本引入,對Linux/Windows可用
作用: mongod/mongos實例等待接收其證書的OCSP狀態響應的最大秒數。指定值應該>=1。
默認: 5
可用對象: mongod和mongos
4.2版本引入
作用: 當未設置–tlsClusterFile時,可以通過--tlsClusterFile
選項或--tlsCertificateKeyFile
選項為mongod設置TLS證書。 如果設置了TLS證書,則默認情況下,實例在與部署中的其他mongod實例或mongos實例啟動集群內通信時,實例會發送證書。 將tlsWithholdClientCertificate設置為1或true可以指示實例在這些通信期間不發送其TLS證書。 在部署的所有成員上將此選項與--tlsAllowConnectionsWithoutCertificates
一起使用(以允許沒有證書的入站連接)。 tlsWithholdClientCertificate與--clusterAuthMode x509
互斥。
默認: false
可用對象: mongod和mongos
4.2版本引入
作用: 實例還可以用來標識部署成員的備用專有名稱(Distinguished Name DN)。
對于將x.509證書用于clusterAuthMode的MongoDB部署,在群集內部通信期間,部署成員使用x.509證書(如果指定,則使用net.tls.clusterFile和net.tls.certificateKeyFile)相互標識。 對于同一部署的成員,其證書中的DN必須具有相同的組織屬性(O),組織單位屬性(OU)和域組件(DC)。
如果為成員設置了tlsX509ClusterAuthDNOverride,則該成員在比較顯示的證書的DN成分(O,OU和DC)時也可以使用替代值。 那就是成員對照其net.tls.clusterFile / net.tls.certificateKeyFile檢查所提供的證書。 如果DN不匹配,則成員將根據tlsX509ClusterAuthDNOverride值檢查顯示的證書。
默認: false
可用對象: mongod和mongos
如果設置,則必須在所有成員實例上設置。
4.4版本引入
作用: 從MongoDB 4.4開始,如果提供的x.509證書在mongod / mongos系統時鐘的30天內過期,則mongod / mongos會在連接時記錄警告。 使用tlsX509ExpirationWarningThresholdDays
參數來控制證書到期警告閾值:最小可設置為0
增加參數值以在證書到期日期之前觸發警告。
減小參數值可在接近證書到期日期時觸發警告。
將參數設置為0,禁用警告。
默認: 30
可用對象: mongod和mongos
mongod --setParameter / mongos --setParameter
setParameter
4.2開始廢棄該參數,由
tlsWithholdClientCertificate
參數代替
默認: false
可用對象: mongod和mongos
作用: 在mongos實例上,指定mongos實例檢查以確定用戶對象的內存高速緩存中是否有陳舊數據的間隔(以秒為單位),如果是,則清除該高速緩存。 如果用戶對象沒有更改,mongos將不會清除緩存。
此參數的最小值為1秒,最大值為86400秒(24小時)。
默認: 30
可用對象: mongos
3.4版本引入,僅企業版中支持
作用: 通知客戶端認證嘗試失敗之前要等待的毫秒數。 此參數的范圍可以是0到5000(含)。
設置此參數會使對數據庫的暴力登錄攻擊更加耗時。 但是,等待MongoDB服務器響應的客戶端仍會消耗服務器資源,如果服務器同時拒絕訪問許多其他客戶端,則這可能對業務正常登錄產生不利影響。
默認: 0
可用對象: mongod和mongos
從MongoDB 4.0.11開始引入 (3.6.14 和3.4.22)
作用: 允許或不允許從客戶端x.509證書中檢索授權角色。
默認: true
可用對象: mongod和mongos
配置文件中配置,或mongod命令行中配置
讀到這里,這篇“MongoDB如何驗證相關參數”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。