使用最低許可權賬戶執行服務可減小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 一 使用者管理...