天天看點

MySQL:等保檢查清單

  • MySQL資料庫版本
gt; mysql -V
MySQL> SHOW VARIABLES WHERE variable_name LIKE "version";           
  • 賬号與權限
# 檢視資料庫使用者和密碼資訊
MySQL> SELECT host,user,plugin,authentication_string,password_lifetime,account_locked FROM mysql.user;

# 檢視使用者權限
MySQL> SHOW GRANTS FOR 'audit'@'localhost';

# 建立新使用者
MySQL> CREATE USER 'manager'@'localhost' IDENTIFIED BY 'password';

# 修改賬号密碼
MySQL> ALTER USER 'manager'@'localhost' IDENTIFIED BY 'new_password';

# 給使用者授權
MySQL> GRANT PRIVILEGES ON DatabaseName.TableName TO 'manager'@'localhost'; 
MySQL> GRANT SELECT, INSERT, UPDATE, DELETE ON DatabaseName.TableName TO 'manager'@'localhost';

# 撤銷使用者權限
MySQL> REVOKE PRIVILEGE ON DatabaseName.TableName TO 'manager'@'localhost';

# 檢查使用者權限清單
MySQL> SELECT * FROM mysql.user\G

# 檢查資料庫權限清單
MySQL> SELECT * FROM mysql.db\G

# 檢查使用者表權限清單
MySQL> SELECT * FROM mysql.tables_priv\G

# 取消所有授權
MySQL> REVOKE ALL PRIVILEGES ON *.* FROM 'audit'@'localhost';

# 删除使用者
MySQL> DROP USER 'manager'@'localhost';           
  • 密碼複雜度
# 檢視密碼複雜度
MySQL> SHOW VARIABLES LIKE 'validate%';

# 上述指令執行結果為空時,安裝插件
MySQL> INSTALL PLUGIN validate_password SONAME 'validate_password.so';           
  • 安全政策設定
# 安裝插件
MySQL> INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so'

# 安裝插件
MySQL> INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';

檢視變量
MySQL> SHOW VARIABLES LIKE '%connection_control%';

## 修改my.cnf檔案
  #登陸失敗次數限制
  connection-control-failed-connections-threshold=5
  #限制重試時間,此處為毫秒,注意按需求換算,此處為5分鐘
  connection-control-min-connection-delay=300000 

# 重新開機mysql服務才能生效
gt; service mysqld start           
  • 設定密碼過期限制
# 檢視密碼過期天數
MySQL> SHOW VARIABLES LIKE "%password%";

# 修改/etc/my.cnf檔案
 default_password_lifetime=180 # 預設default_password_lifetime=0

# 重新開機mysql服務才能生效
gt; service mysqld start           
  • 檢視政策
# 檢視登入失敗政策
MySQL> SHOW VARIABLES LIKE '%max_connect_errors%';

# 操作逾時自動退出
MySQL> SHOW VARIABLES LIKE "%timeout%";

# 詢問是否采用遠端管理,如果本地管理則不适用,遠端管理是否啟用SSL
MySQL> SHOW VARIABLES LIKE "%have_ssl%";
MySQL> SHOW VARIABLES LIKE "%have_openssl%";           
  • 開啟安全審計日志
執行下列語句,預設為OFF,不符合。應設定為ON為開啟審計。
MySQL> SHOW GLOBAL VARIABLES LIKE '%general%';
MySQL> SET GLOBAL GENERAL_LOG=ON;           

繼續閱讀