mysql安全基線設定

2022-03-21 10:34:25 字數 1792 閱讀 2993

禁用local_infile選項會降低攻擊者通過sql注入漏洞器讀取敏感檔案的能力

編輯mysql配置檔案/etc/my.cnf,在[mysqld] 段落中配置local-infile引數為0,並重啟mysql服務: 

```

local-infile=0

```

測試資料庫可供所有使用者訪問,並可用於消耗系統資源。刪除測試資料庫將減少mysql伺服器的攻擊面。

登陸資料庫執行以下sql語句刪除test資料庫:

```drop database test;

flush privileges;

```

避免在主機名中只使用萬用字元,有助於限定可以連線資料庫的客戶端,否則服務就開放到了公網

執行sql更新語句,為每個使用者指定允許連線的host範圍。

1. 登入資料庫,執行`use mysql;` ;

2. 執行語句`select user,host from user where host='%'

;`檢視host為萬用字元的使用者;

3. 刪除使用者或者修改使用者host欄位,刪除語句:`drop user '

user_name

'@'%

';` 。更新語句:`update user set host = where host = '%'

;`。4

. 執行sql語句:

```optimize table user;

flush privileges;

```

禁用符號鏈結以防止各種安全風險

編輯mysql配置檔案/etc/my.cnf,在[mysqld] 段落中配置`symbolic-links=0`,5.6及以上版本應該配置為`skip_symbolic_links=yes`,並重啟mysql服務。

避免使用熟知的埠,降低被初級掃瞄的風險

```port=3506

```使用最低許可權帳戶執行服務可減小mysql天生漏洞的影響。受限帳戶將無法訪問與mysql無關的資源,例如作業系統配置。

使用非root和非sudo許可權使用者啟動mysql服務

使用此選項,會導致所有客戶端都對所有資料庫具有不受限制的訪問許可權。

編輯mysql配置檔案/etc/my.cnf,刪除skip-grant-tables引數,並重啟mysql服務

啟用錯誤日誌可以提高檢測針對mysql和其他關鍵訊息的惡意嘗試的能力,例如,如果錯誤日誌未啟用,則連線錯誤可能會被忽略。

編輯mysql配置檔案/etc/my.cnf,在[mysqld_safe] 段落中配置log-error引數,代表存放日誌檔案路徑,如:/var/log/mysqld.log,並重啟mysql服務: 

```log-error=```

當log-raw記錄啟用時,有權訪問日誌檔案的人可能會看到純文字密碼。

編輯mysql配置檔案/etc/my.cnf,刪除log-raw引數,並重啟mysql服務

mysql_pwd環境變數的使用意味著mysql憑證的明文儲存,極大增加mysql憑據洩露風險。

刪除系統環境變數中mysql密碼(mysql_pwd)配置

檢查mysql服務是否允許匿名登陸

登陸mysql資料庫,執行以下命令刪除匿名帳戶:

``` delete

from user where user=''

;flush privileges;

```

redis安全基線設定

使用root許可權去執行網路服務是比較有風險的 nginx和apache都是有獨立的work使用者,而redis沒有 redis crackit 漏洞就是利用root使用者的許可權來替換或者增加authorized keys,來獲取root登入許可權的 使用root切換到redis使用者啟動服務 u...

mysql基線檢查 Mysql安全基線檢查

禁用local infile選項 訪問控制描述 禁用local infile選項會降低攻擊者通過sql注入漏洞器讀取敏感檔案的能力加固建議 local infile 0 確保配置了log error選項描述 啟用錯誤日誌可以提高檢測針對mysql和其他關鍵訊息的惡意嘗試的能力,例如,如果錯誤日誌未啟...

centos7安全基線設定

加固建議 在 etc login.defs 中將 pass min days 引數設定為7 14之間,建議為7 pass min days 7 需同時執行命令為root使用者設定 chage mindays 7 root 設定ssh空閒超時退出時間,可降低未授權使用者訪問其他使用者ssh會話的風險 ...