Mycat 安全設定

2021-10-08 10:17:16 字數 3455 閱讀 6576

許可權配置

1. user標籤許可權控制:

目前mycat對於中介軟體的連線控制並沒有做太負責的控制,目前只做了中介軟體邏輯庫級別的讀寫許可權,是通過server.xml的user標籤進行配置。

name

="mycat"

>

name

="password"

>

123456property

>

name

="schemas"

>

testdbproperty

>

user

>

name

="user"

>

name

="password"

>

123456property

>

name

="schemas"

>

testdbproperty

>

name

="readonly"

>

trueproperty

>

user

>

標籤屬性

說明name

應用連線中介軟體邏輯庫的使用者名稱

password

該使用者對應的密碼

testdb

應用當前連線的邏輯庫中所對應的邏輯表。schemas中可以配置乙個或多個

readonly

應用連線中間邏輯庫所具有的許可權。true為唯讀,false為讀寫都有,預設為false

測試案例:

2. privileges標籤許可權控制:

在user標籤下的privileges標籤可以對邏輯庫(schema)、表(table)進行精細化的dml許可權控制。

privileges標籤下的check屬性,如true開啟許可權檢查,為false不開啟,預設為false。

由於mycat乙個使用者的schemas屬性可配置多個邏輯庫,所以privileges的下級節點schema節點可配置多個,對多庫多表進行細粒度的dml許可權控制。

#配置orders表沒有增刪改查許可權

name

="mycat"

>

name

="password"

>

123456property

>

name

="schemas"

>

testdbproperty

>

check

="false"

>

name

="testdb"

dml="1111"

>

name

="orders"

dml="0000"

>

table

>

schema

>

privileges

>

user

>

配置說明:

dml許可權

增加(insert)

更新(update)

查詢(select)

刪除(delete)

0000

禁止禁止

禁止禁止

0010

禁止禁止

可以禁止

1110

可以禁止

禁止禁止

1111

可以可以

可以可以

測試案例:

sql攔截

firewall標籤用來定義防火牆:firewall下whitehost標籤用來定義ip白名單,blacklist用來定義sql黑名單。

1. 白名單:

可以通過設定白名單,實現某主機某使用者可以訪問mycat,而其他主機使用者禁止訪問。

配置只有192.168.140.128主機可以通過mycat使用者訪問:

>

>

host

="192.168.140.128"

user

="mycat"

/>

whitehost

>

firewall

>

2. 黑名單:

可以通過設定黑名單,實現mycat對具體sql操作的攔截,如增刪改查操作的攔截。

配置禁止myca使用者進行刪除操作:

>

>

host

="192.168.140.128"

user

="mycat"

/>

whitehost

>

check

="true"

>

name

="deleteallow"

>

falseproperty

>

blacklist

>

firewall

>

配置項

預設值描述

selectallow

true

是否允許執行select語句

deleteallow

true

是否允許執行delete語句

updateallow

true

是否允許執行update語句

insertallow

true

是否允許執行insert語句

createtableallow

true

是否允許建立表

setallow

true

是否允許使用set語句

altertableallow

true

是否允許執行alter table語句

droptableallow

true

是否允許修改表

commitallow

true

是否允許執行commit操作

rollbackallow

true

是否允許執行roll back操作

mycat系列 mycat原理

mycat的原理並不複雜,複雜的是 如果 也不複雜,那麼早就成為乙個傳說了。mycat的原理中最重要的乙個動詞是 攔截 它攔截了使用者傳送過來的sql語句,首先對sql語句做了一些特定的分析 如分片分析 路由分析 讀寫分離分析 快取分析等,然後將此sql發往後端的真實資料庫,並將返回的結果做適當的處...

安全設定vsftpd

我使用的ftp軟體是vsftpd 2.0.3,我開了匿名登入,而且在登入的時候會顯示當前ftp軟體的版本。1 禁止訪問,我們不需要什麼,直接禁止掉 anonymous enable no 2 允許本地使用者登陸,因為我們需要使用ftp使用者來對我們 進行管理 local enable yes 3 只...

Linux安全設定

1.更改ssh埠 linux中ssh預設埠為22,為了安全考慮,我們有必要對22埠進行修改.可以通過修改 etc ssh sshd config 的port值,並重啟sshd 服務完成 參考 2.禁止 root 登入ssh a.增加普通使用者 adduser x b.修改 etc ssh sshd ...