序列化安全審計

序列化安全審計

Dubbo 支援透過 QoS 指令即時檢視目前的設定資訊和信任/不信任的類別清單。目前支援兩個指令:`serializeCheckStatus` 檢視目前的設定資訊,`serializeWarnedClasses` 檢視即時告警清單。

`serializeCheckStatus` 指令

透過控制台直接存取

> telnet 127.0.0.1 22222
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
   ___ __ __ ___ ___ ____
  / _ \ / / / // _ ) / _ ) / __ \
 / // // /_/ // _ |/ _ |/ /_/ /
/____/ \____//____//____/ \____/
dubbo>serializeCheckStatus
CheckStatus: WARN

CheckSerializable: true

AllowedPrefix:
...

DisAllowedPrefix:
...


dubbo>

透過 http 以 json 格式請求結果

> curl http://127.0.0.1:22222/serializeCheckStatus
{"checkStatus": "WARN","allowedPrefix":[...],"checkSerializable":true,"disAllowedPrefix":[...]}

`serializeWarnedClasses` 指令

透過控制台直接存取

> telnet 127.0.0.1 22222
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
   ___ __ __ ___ ___ ____
  / _ \ / / / // _ ) / _ ) / __ \
 / // // /_/ // _ |/ _ |/ /_/ /
/____/ \____//____//____/ \____/
dubbo>serializeWarnedClasses
Warned Classes:
io.dubbo.test.NotSerializable
io.dubbo.test2.NotSerializable
io.dubbo.test2.OthersSerializable
org.apache.dubbo.samples.NotSerializable


dubbo>

透過 http 以 json 格式請求結果

> curl http://127.0.0.1:22222/serializeWarnedClasses
{"warnedClasses":["io.dubbo.test2.NotSerializable","org.apache.dubbo.samples.NotSerializable","io.dubbo.test.NotSerializable","io.dubbo.test2.OthersSerializable"]}

注意:建議及時關注 `serializeWarnedClasses` 的結果,並根據返回結果是否為空來判斷是否受到攻擊。

更多設定細節,請參考 Dubbo 類別檢查機制


最後修改日期:2023 年 3 月 1 日:移動 SDK 文件 (#2337) (ceab0ea115a)