MySQL 作業系統加固配置

2021-10-04 02:53:04 字數 4317 閱讀 7940

應按照使用者分配賬號,避免不同使用者間共享賬號

應刪除或鎖定與資料庫執行、維護等工作無關的賬號

口令授權

日誌補丁

網路連線

可信ip位址訪問控制

連線數設定

命令:mysql -u root -p

以普通賬戶安全執行mysqld,禁止mysql以管理員賬號許可權執行

操作指南

檢查方法

各種作業系統下以管理員許可權執行。

unix 下禁止以 root 賬號執行 mysqld;

檢查程序屬主和執行引數是否包含–user=mysql類似語句:

#ps -ef | grep mysqld

#grep -i user /etc/my.cnf

這兩行命令自己下去敲去,看是否包含-user=mysql類似語句。

應按照使用者分配賬號,避免不同使用者間共享賬號

操作指南

//建立使用者,並指定特定使用者,特定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;

mysql> select * from user;

mysql> select * from db;

mysql> select * from host;

mysql> select *from tables_priv;

mysql>select * from columns_priv;

**不必要的或危險的授權,可以執行revoke命令:

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

查詢日誌: -log (可選)

慢查詢日誌:-log-slow-queries (可選)

更新日誌:-log-update

二進位制日誌: -log-bin

在mysql 的安裝目錄下,開啟my.ini,在後面加上上面的引數,儲存後重啟 mysql 服務就行了。

例如:#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

#ps -ef | grep -i mysql

或從客戶機遠端 telnet mysqlserver 3306

通過資料庫所在作業系統或防火牆限制,只有信任的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...