oracle數據庫被掃描出以下漏洞
UTL_TCP 被授權給 PUBLIC
UTL_HTTP被授權給PUBLIC
UTL_SMTP被授予給PUBLIC
CTX_DOC.MARKUP執行權限被授予public
DBMS_EXPORT_EXTENSION.GETDOMAIN_INDEX_METADATA 執行權限授予public
DBMS_METADATA.GET_DDL 執行權限授予public
DRILOAD.VALIDATE_STMT 執行權限授予public
運維的同事使用以下命令撤銷了PUBLIC 的某些權限
revoke execute on UTL_HTTP from PUBLIC;
revoke execute on UTL_TCP from PUBLIC;
revoke execute on UTL_SMTP from PUBLIC;
revoke execute on CTX_DOC from PUBLIC;
revoke execute on DBMS_METADATA from PUBLIC;
revoke execute on CTXSYS.DRILOAD from PUBLIC;
一週後才發現自動備份失效了,手動執行expdp提示 UDE-00018: 數據泵客戶機與數據庫版本不兼容。
原因:PUBLIC是所有角色的集合,撤銷PUBLIC的權限時,業務用戶和備份用戶的權限也被撤銷了。而影響導出的權限是DBMS_METADATA
解決方法:給業務和備份用的數據庫賬號添加被撤銷的權限
grant execute on DBMS_METADATA to XXXXXX;