安全 Mysql安全建議。

2021-10-10 05:21:41 字數 2247 閱讀 8776

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

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

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

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

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

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

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

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

drop database test;

flush privileges;

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

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

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

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

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

執行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服務是否允許匿名登入

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

delete from user where user='';

flush privileges;

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

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

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

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

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

編輯/my.cnf檔案,mysqld 段落中配置新的埠引數,並重啟mysql服務:

port=3506
若系統使用弱口令,存在極大的被惡意猜解入侵風險,需立即修復。

登入mysql資料庫;

檢視資料庫使用者密碼資訊:`select user, host, authentication_string from user;` 部分版本查詢命令為:`select user, host, password from user;`

根據查詢結果及弱密碼告警資訊修改具體使用者的密碼:`set password for '使用者名稱'@'主機' = password('新密碼');`

執行重新整理命令:`flush privileges;`

新口令應符合複雜性要求:

1、長度8位以上

2、包含以下四類字元中的三類字元:

英文大寫字母(a 到 z)

英文小寫字母(a 到 z)

10 個基本數字(0 到 9)

非字母字元(例如 !、$、#、%、@、^、&)

3、避免使用已公開的弱口令,如:abcd.1234 、admin@123等

安全 CentOS Linux7 8安全建議。

若系統使用弱口令,存在極大的被惡意猜解入侵風險,需立即修復。執行命令passwd,然後根據提示輸入新口令完成修改,其中為使用者名稱,如果不輸入則修改的是當前使用者的口令。口令應符合複雜性要求 1 長度8位以上 2 包含以下四類字元中的三類字元 英文大寫字母 a 到 z 英文小寫字母 a 到 z 10...

WEB安全入門建議

web入門文章一直想寫一篇,但是一直沒寫,也猶豫了很多,畢竟對於入門文章太多了,但是我還是想寫一篇,一篇非同尋常的入門到高階.可能很多人已經入門了,但是我還是想發表一下自己的看法,如果有錯誤還希望大佬指出 可能對於很多剛入門的朋友感到迷茫,或者經常學習學著就沒有方向,自己一直處於入門階段,我現在也一...

mysql安全機制 Mysql安全機制

在mysql下mysql庫中有6個許可權表 mysql.user 使用者字段,許可權字段,安全字段,資源控制字段 mysql.db mysql.host 使用者字段,許可權字段 mysql.tables priv,mysql.columms priv,mysql.procs priv 一 使用者管理...