應按照使用者分配賬號,避免不同使用者間共享賬號
應刪除或鎖定與資料庫執行、維護等工作無關的賬號
口令授權
日誌補丁
網路連線
可信ip位址訪問控制
連線數設定
命令:mysql -u root -p
以普通賬戶安全執行mysqld,禁止mysql以管理員賬號許可權執行
操作指南
檢查方法
各種作業系統下以管理員許可權執行。
unix 下禁止以 root 賬號執行 mysqld;
檢查程序屬主和執行引數是否包含–user=mysql類似語句:
#ps -ef | grep mysqld這兩行命令自己下去敲去,看是否包含-user=mysql類似語句。#grep -i user /etc/my.cnf
應按照使用者分配賬號,避免不同使用者間共享賬號
操作指南
//建立使用者,並指定特定使用者,特定ip登入資料庫
create user ***@『指定ip位址』 identified by 『asyaxy』;
這樣就建立了乙個名為***的使用者,密碼為asyaxy,然後登入。
登入:mysql -u *** -p asyaxy -h 192.168.2.114
mysql> mysql> insert into//然後登入一下。mysql.user(host,user,password,ssl_cipher,x509_issuer,x509_subject)values(「localhost」,「pppadmin」,password(「passwd」),",",");
這樣就建立了乙個名為:phplamp密碼為:1234的使用者。
mysql>exit;
@>mysql -u phplamp -p檢測方法@>輸入密碼
mysql>登入成功
應刪除或鎖定與資料庫執行、維護等工作無關的賬號
操作指南
drop user 語句用於刪除乙個或多個mysql賬戶。要使用 drop user,必須擁有mysql 資料庫的全域性 createuser 許可權或 delete 許可權。先對賬戶進行篩選,找出無用賬戶,並刪除賬戶名稱的使用者和主機部分與使用者表記錄的user和host列值相對應。
使用 dropuser,您可以取消乙個賬戶和其許可權,操作如下: drop user user;
該語句可以刪除來自所有授權表的帳戶許可權記錄。
檢視篩選:select user , host , password from mysql.user;
刪除使用者:drop user 『』@『mysql』, 『』@『localhosy』, 『root』@』::1』,『root』@『mysql』;
再次檢視是否刪除成功
要點:drop user 不能自動關閉任何開啟的使用者對話。而且,如果使用者有開啟的對話,此時取消使用者,則命令不會生效,直到使用者對話被關閉後才生效。一旦對話被關閉,使用者也被取消,此使用者再次試圖登入時將會失敗。
檢測方法
mysql 檢視所有使用者的語句
輸入指令
select user();
select user ,host ,password from mysql.user;
依次檢查所列出的賬戶是否為必要賬戶,刪除無使用者或過期賬戶。
注:無關的賬號主要指測試帳戶、共享帳號、長期不用賬號(半年以上不用)等
檢查帳戶預設密碼和弱密碼
操作指南
mysql> update user set password=password(test!p3』) where user=root』;檢測方法mysql> flush privileges;
mysql> use mysql;在資料庫許可權配置能力內,根據使用者的業務需要,配置其所需的最小許可權。mysql> select host,user,password,select_priv,grant_priv from user;
操作指南
檢測方法
mysql> use mysql;**不必要的或危險的授權,可以執行revoke命令:mysql> select * from user;
mysql> select * from db;
mysql> select * from host;
mysql> select *from tables_priv;
mysql>select * from columns_priv;
mysql> help revoke資料庫應配置日誌功能name: 『revoke』
description:
syntax:
revoke
priv_type [(column_list)]
[priv_type[(column_list)]]…
on [object_type]
from user [,user]...
操作指南
mysql 有以下幾種日誌:
錯誤日誌: -log-err在mysql 的安裝目錄下,開啟my.ini,在後面加上上面的引數,儲存後重啟 mysql 服務就行了。查詢日誌: -log (可選)
慢查詢日誌:-log-slow-queries (可選)
更新日誌:-log-update
二進位制日誌: -log-bin
例如:#enter a name for the binary log. otherwise a default name will be used.
#log-bin=
#enter a name for the query log file.otherwise a default name will be used.
#log=
#enter a name for the error log file.otherwise a default name will be used.
log-error=
#enter a name for the update log file. otherwise a de fault name will be used.
#log-update=
上面只開啟了錯誤日誌,要開其他的日誌就把前面的「#」去掉
檢測方法
[mysqld]系統安裝了最新的安全補丁 (注:在保證業務及網路安全的前提下,經過相容性測試後)log = filename
操作指南
檢測方法
mysql> select version();禁止網路連線,防止猜解密碼攻擊,溢位攻擊和嗅探攻擊。(僅限於應用和資料庫在同一臺主機的情況)
操作指南
檢測方法
遠端無法連線
#cat /etc/my.cnf或從客戶機遠端 telnet mysqlserver 3306#ps -ef | grep -i mysql
通過資料庫所在作業系統或防火牆限制,只有信任的ip位址才能通過***訪問資料庫。
操作指南
檢測方法
禁止非授權使用者訪問本地檔案
禁用」load data local infile」命令
以防止sql注入
根據機器效能和業務需求,設制最大最小連線數。
操作指南
檢測方法
lunix作業系統賬號加固
提供的方法如下 更改作業系統賬號口令有效期方法 chage m 7 m 90 w 28 i 7 name 這幾個引數分別表示如下 m 密碼不可被更動的天數,記錄了這個帳號的密碼需要經過幾天才可以被變更,如果是0 的話,表示密碼隨時可以更動的意思 自上次修改密碼時間開始後,密碼多少天內不可以修改,在介...
三問 linux作業系統安全加固
useradd username passwd username chmod 750 directory 許可權可根據具體情況設定 userdel username usermod l username usermod u username groupdel username etc login.d...
aix 6 1 作業系統安全加固
禁止root 遠端登入 如果ssh協議啟用,執行以下操作限制root使用者遠端登入 cat etc ssh sshd config grep v grep permitrootlogin 修改 etc ssh sshd config檔案,將permitrootlogin yes改為permitroo...