五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

年底了,你的mysql密碼安全嗎

發(fā)布日期:2022-02-20 18:22 | 文章來源:腳本之家

年底了,你的數(shù)據(jù)庫是不是該巡檢了?一般巡檢都會關(guān)心密碼安全問題,比如密碼復(fù)雜度設(shè)置,是否有定期修改等。特別是進行等保評測時,評測機構(gòu)會要求具備密碼安全策略。其實 MySQL 系統(tǒng)本身可以設(shè)置密碼復(fù)雜度及自動過期策略的,可能比較少用,大多數(shù)同學(xué)并未詳細去了解。本篇文章我們一起來學(xué)習下如何設(shè)置數(shù)據(jù)庫賬號密碼復(fù)雜度及自動過期策略。

1.密碼復(fù)雜度策略設(shè)置

MySQL 系統(tǒng)自帶有 validate_password 插件,此插件可以驗證密碼強度,未達到規(guī)定強度的密碼則不允許被設(shè)置。MySQL 5.7 及 8.0 版本默認情況下貌似都不啟用該插件,這也使得我們可以隨意設(shè)置密碼,比如設(shè)置為 123、123456等。如果我們想從根源上規(guī)范密碼強度,可以啟用該插件,下面一起來看下如何通過此插件來設(shè)置密碼復(fù)雜度策略。

1)查看是否已安裝此插件

進入 MySQL 命令行,通過 show plugins 或者查看 validate_password 相關(guān)參數(shù)可以判斷是否已安裝此插件。若沒有相關(guān)參數(shù)則代表未安裝此插件

#安裝前檢查為空則說明未安裝此插件
mysql>showvariableslike'validate%';
Emptyset(0.00sec)

2)安裝 validate_password 插件

#通過INSTALLPLUGIN命令可安裝此插件
#每個平臺的文件名后綴都不同對于Unix和類Unix系統(tǒng),為.so,對于Windows為.dll
mysql>INSTALLPLUGINvalidate_passwordSONAME'validate_password.so';
QueryOK,0rowsaffected,1warning(0.28sec)
#查看validate_password相關(guān)參數(shù)
mysql>showvariableslike'validate%';
+--------------------------------------+--------+
|Variable_name|Value|
+--------------------------------------+--------+
|validate_password_check_user_name|ON|
|validate_password_dictionary_file||
|validate_password_length|8|
|validate_password_mixed_case_count|1|
|validate_password_number_count|1|
|validate_password_policy|MEDIUM|
|validate_password_special_char_count|1|
+--------------------------------------+--------+
7rowsinset(0.00sec)

3)密碼強度相關(guān)參數(shù)解釋

安裝 validate_password 插件后,多了一些密碼強度相關(guān)參數(shù),這些參數(shù)從字面意思上也很容易看懂,下面簡單解釋下幾個重點參數(shù)。

1、validate_password_policy

代表的密碼策略,默認是MEDIUM 可配置的值有以下:

  • 0 or LOW 僅需需符合密碼長度(由參數(shù)validate_password_length指定)
  • 1 or MEDIUM 滿足LOW策略,同時還需滿足至少有1個數(shù)字,小寫字母,大寫字母和特殊字符
  • 2 or STRONG 滿足MEDIUM策略,同時密碼不能存在字典文件(dictionary file)中

2、validate_password_dictionary_file

用于配置密碼的字典文件,當validate_password_policy設(shè)置為STRONG時可以配置密碼字典文件,字典文件中存在的密碼不得使用。

3、validate_password_length

用來設(shè)置密碼的最小長度,默認值是8

4、validate_password_mixed_case_count

當validate_password_policy設(shè)置為MEDIUM或者STRONG時,密碼中至少同時擁有的小寫和大寫字母的數(shù)量,默認是1最小是0;默認是至少擁有一個小寫和一個大寫字母。

5、validate_password_number_count

當validate_password_policy設(shè)置為MEDIUM或者STRONG時,密碼中至少擁有的數(shù)字的個數(shù),默認1最小是0

6、validate_password_special_char_count

當validate_password_policy設(shè)置為MEDIUM或者STRONG時,密碼中至少擁有的特殊字符的個數(shù),默認1最小是0

4)密碼復(fù)雜度策略具體設(shè)置

學(xué)習完以上參數(shù),我們就可以根據(jù)自身情況來具體設(shè)置密碼復(fù)雜度策略了,比如我想讓密碼至少 10 位且包含大小寫字母、數(shù)字、特殊字符,則可以這樣設(shè)置。

5)測試密碼復(fù)雜度

密碼復(fù)雜度策略只對生效后的操作有效,比如說你之前有個賬號,密碼是 123 ,則該賬號還是可以繼續(xù)使用的,不過若再次更改密碼則需滿足復(fù)雜度策略。下面我們來測試下密碼復(fù)雜度策略的具體效果。

#新建用戶設(shè)置密碼
mysql>createuser'testuser'@'%'identifiedby'123';
ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements
mysql>createuser'testuser'@'%'identifiedby'ab123';
ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements
mysql>createuser'testuser'@'%'identifiedby'Ab@123';
ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements
mysql>createuser'testuser'@'%'identifiedby'Bsdf@5467672';
QueryOK,0rowsaffected(0.01sec)
#更改密碼
mysql>alteruser'testuser'@'%'identifiedby'dfgf3435';
ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements
mysql>alteruser'testuser'@'%'identifiedby'dBsdf@5467672';
QueryOK,0rowsaffected(0.01sec)

2.設(shè)置密碼自動過期

除了設(shè)置密碼復(fù)雜度策略外,我們還可以設(shè)置密碼自動過期,比如說隔 90 天密碼會過期必須修改密碼后才能繼續(xù)使用,這樣我們的數(shù)據(jù)庫賬號就更加安全了。下面我們來看下如何設(shè)置密碼自動過期。

單獨設(shè)置某個賬號密碼過期時間

使用 ALTER USER 語句可以使單個賬號密碼過期,也可以更改賬號過期時間。

#通過mysql.user系統(tǒng)表查看數(shù)據(jù)庫賬號狀態(tài)
mysql>selectuser,host,password_expired,password_lifetime,password_last_changed,account_lockedfrommysql.user;
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
|user|host|password_expired|password_lifetime|password_last_changed|account_locked|
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
|expuser|%|N|NULL|2021-01-0514:30:30|N|
|root|%|N|NULL|2020-10-3014:45:43|N|
|testuser|%|N|NULL|2021-01-0417:22:37|N|
|mysql.infoschema|localhost|N|NULL|2020-10-3014:37:09|Y|
|mysql.session|localhost|N|NULL|2020-10-3014:37:09|Y|
|mysql.sys|localhost|N|NULL|2020-10-3014:37:09|Y|
|root|localhost|N|NULL|2020-10-3014:38:55|N|
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
7rowsinset(0.01sec)
#使expuser賬號密碼立即過期
mysql>ALTERUSER'expuser'@'%'PASSWORDEXPIRE;
QueryOK,0rowsaffected(0.00sec)
mysql>selectuser,host,password_expired,password_lifetime,password_last_changed,account_lockedfrommysql.user;
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
|user|host|password_expired|password_lifetime|password_last_changed|account_locked|
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
|expuser|%|Y|NULL|2021-01-0514:30:30|N|
|root|%|N|NULL|2020-10-3014:45:43|N|
|testuser|%|N|NULL|2021-01-0417:22:37|N|
|mysql.infoschema|localhost|N|NULL|2020-10-3014:37:09|Y|
|mysql.session|localhost|N|NULL|2020-10-3014:37:09|Y|
|mysql.sys|localhost|N|NULL|2020-10-3014:37:09|Y|
|root|localhost|N|NULL|2020-10-3014:38:55|N|
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
7rowsinset(0.00sec)
#修改賬號密碼永不過期
mysql>ALTERUSER'expuser'@'%'PASSWORDEXPIRENEVER;
QueryOK,0rowsaffected(0.01sec)
#單獨設(shè)置該賬號密碼90天過期
mysql>ALTERUSER'expuser'@'%'PASSWORDEXPIREINTERVAL90DAY;
QueryOK,0rowsaffected(0.00sec)
mysql>selectuser,host,password_expired,password_lifetime,password_last_changed,account_lockedfrommysql.user;
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
|user|host|password_expired|password_lifetime|password_last_changed|account_locked|
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
|expuser|%|N|90|2021-01-0514:41:28|N|
|root|%|N|NULL|2020-10-3014:45:43|N|
|testuser|%|N|NULL|2021-01-0417:22:37|N|
|mysql.infoschema|localhost|N|NULL|2020-10-3014:37:09|Y|
|mysql.session|localhost|N|NULL|2020-10-3014:37:09|Y|
|mysql.sys|localhost|N|NULL|2020-10-3014:37:09|Y|
|root|localhost|N|NULL|2020-10-3014:38:55|N|
+------------------+-----------+------------------+-------------------+-----------------------+----------------+
7rowsinset(0.00sec)
#讓此賬號使用默認的密碼過期全局策略
mysql>ALTERUSER'expuser'@'%'PASSWORDEXPIREDEFAULT;
QueryOK,0rowsaffected(0.01sec)

mysql.user 系統(tǒng)表記錄著每個賬號的相關(guān)信息,當 password_expired 字段值為 Y 時,代表此密碼已過期,使用過期密碼仍可以登錄,但不能進行任何操作,進行操作會提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 必須更改密碼后才能進行正常操作。

對于給定過期時間的賬號,比如說設(shè)置 90 天過期,數(shù)據(jù)庫系統(tǒng)會比較當前時間與上次修改密碼的時間差值,如果距離上次修改密碼時間超過 90 天,則將此賬號密碼標記為過期,必須更改密碼后才能進行操作。

設(shè)置全局過期策略

要構(gòu)建全局密碼自動過期策略,請使用 default_password_lifetime 系統(tǒng)變量。在 5.7.11 版本之前,默認的 default_password_lifetime 值為 360(密碼大約每年必須更改一次),之后的版本默認值為 0,表示密碼不會過期。此參數(shù)的單位是天,比如我們可以將此參數(shù)設(shè)置為 90 ,則表示全局密碼自動過期策略是 90 天。

#設(shè)置全局過期策略先手動更改再加入配置文件
mysql>SETGLOBALdefault_password_lifetime=90;
QueryOK,0rowsaffected(0.01sec)
mysql>showvariableslike'default_password_lifetime';
+---------------------------+-------+
|Variable_name|Value|
+---------------------------+-------+
|default_password_lifetime|90|
+---------------------------+-------+
1rowinset(0.00sec)
#寫入配置文件使得重啟生效
[mysqld]
default_password_lifetime=90

盡管可以通過將過期的密碼設(shè)置為當前值來“重置”它,但出于良好的 Policy 考慮,最好選擇其他密碼。

總結(jié):

本篇文章主要介紹了關(guān)于數(shù)據(jù)庫密碼的兩項安全策略,密碼復(fù)雜度加上密碼過期策略,多一份策略多一份安心。要記?。喊踩珶o小事。

以上就是年底了,你的mysql密碼安全嗎的詳細內(nèi)容,更多關(guān)于mysql 密碼安全的資料請關(guān)注本站其它相關(guān)文章!

美國服務(wù)器租用

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部