grant select any table to b with admin option
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)銀川,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
/或
grant select any table to b with grant option
這么個(gè)意思。
以下是我找到的他們的區(qū)別
1、with admin option
with admin option的意思是被授予該權(quán)限的用戶有權(quán)將某個(gè)權(quán)限(如create any
table)授予其他用戶或角色,取消是不級(jí)聯(lián)的。
如授予A系統(tǒng)權(quán)限create session with admin option,然后A又把create
session權(quán)限授予B,但管理員收回A的create session權(quán)限時(shí),B依然擁有create session的權(quán)限。但管理員可以顯式收回B create
session的權(quán)限,即直接revoke create session from B.
2、with grant option
with grant option的意思是:權(quán)限賦予/取消是級(jí)聯(lián)的,如將with grant
option用于對(duì)象授權(quán)時(shí),被授予的用戶也可把此對(duì)象權(quán)限授予其他用戶或角色,不同的是但管理員收回用with grant
option授權(quán)的用戶對(duì)象權(quán)限時(shí),權(quán)限會(huì)因傳播而失效,如grant select on table with grant option to
A,A用戶把此權(quán)限授予B,但管理員收回A的權(quán)限時(shí),B的權(quán)限也會(huì)失效,但管理員不可以直接收回B的SELECT ON TABLE 權(quán)限。
呵呵,不要做壞事啊.
抓包工具應(yīng)該不可以,因?yàn)轵?yàn)證時(shí)的數(shù)據(jù)包是加密的,破解起來(lái)難度很大。
1、首先以管理員身份連接數(shù)據(jù)庫(kù),輸入sqlplus,然后輸入管理員用戶名(system)和口令密碼即可連接成功。
2、創(chuàng)建普通用戶:通過(guò)管理用戶創(chuàng)建普通用戶,連接到數(shù)據(jù)庫(kù)后,在命令行輸入:create user yonghuming identified by mima;。
3、授權(quán)給普通用戶:剛創(chuàng)建好的普通用戶沒(méi)有管理數(shù)據(jù)庫(kù)的權(quán)限,可以通過(guò)管理員用戶授權(quán)普通用戶,使其具有管理數(shù)據(jù)庫(kù)的功能。
4、鏈接到普通用戶一(需要先以管理員身份登入):在命令行輸入:conn yonghuming/mima;(根據(jù)自己創(chuàng)建的用戶稍作修改)。
5、鏈接到普通用戶二(需要先以管理員身份登入):在命令行輸入:conn yonghuming;(根據(jù)自己創(chuàng)建的用戶稍作修改)。
由于Oracle數(shù)據(jù)庫(kù)被廣泛應(yīng)用,其口令加密算法也是備受關(guān)注。最早在1993年comp.databases.oracle.server新聞組中有人披露了加密算法的大部分細(xì)節(jié)。十年后,一本名為《Special Ops Host and Network Security for Microsoft, Unix and Oracle》的書(shū)中補(bǔ)全了算法最重要的一個(gè)環(huán)節(jié)——DES算法的KEY。至此,口令加密算法已無(wú)秘密可言。接踵而來(lái)的是互聯(lián)網(wǎng)上出現(xiàn)多個(gè)了Oracle口令破解工具。Oracle在2007年推出的最新版本11g中,使用了新的更安全的加密算法,但是新算法的細(xì)節(jié)很快又在互聯(lián)網(wǎng)上被公開(kāi)。為提供兼容,11g版本保留了11g以前版本使用的加密口令,利用這一漏洞仍然可以對(duì)11g版本的加密口令進(jìn)行破解。
到底怎樣才能保證數(shù)據(jù)庫(kù)口令的安全呢?本文首先介紹Oracle數(shù)據(jù)庫(kù)各版本口令加密算法的內(nèi)容,然后針對(duì)算法重點(diǎn)介紹加強(qiáng)數(shù)據(jù)庫(kù)安全性的應(yīng)對(duì)措施。
口令加密算法
從Oracle7到Oracle 10gR2,使用DES算法對(duì)口令進(jìn)行加密。對(duì)算法進(jìn)行分析,可以得出如下結(jié)論:口令不區(qū)分大小寫(xiě),任意大小寫(xiě)組合均可登錄;由于只使用固定KEY,只要用戶名和口令相同,在任一DB中存放的加密口令都相同;由于采用了用戶名和口令串接的方式,所以用戶aaa、口令bbbccc的加密值與用戶aaabbb、口令ccc完全相同。
Oracle 11g版本的加密口令存放在SYS.USER$表中的SPARE4列中,而PASSWORD列中仍保留以前版本加密口令。由于客戶端計(jì)算加密口令需要用到SALT,在建立連接時(shí),服務(wù)器端將SALT明文傳送給客戶端程序。Oracle 11g中新的口令加密算法中區(qū)分大小寫(xiě);由于加入了隨機(jī)數(shù)SALT,兩個(gè)不同用戶的口令即便完全相同,計(jì)算得到的SHA1的散列值也不同;不同DB中相同用戶相同口令,SHA1散列值也可能不同。
目前,大多數(shù)破解工具的工作方式是得到加密口令后,對(duì)每一個(gè)可能的口令進(jìn)行加密計(jì)算,比較計(jì)算結(jié)果而確定是否正確。由此,抵御口令破解可以從三個(gè)方面著手:防止加密口令外泄;在加密口令落入黑客手中后,口令也是不可破解的,或盡量增加破解的時(shí)間;即便是口令被破解,也是無(wú)用的,不能存取數(shù)據(jù)庫(kù)。
防止加密口令泄露
1.應(yīng)用“最少權(quán)限”原則,盡量限制可存取加密口令用戶的人數(shù)
在數(shù)據(jù)庫(kù)中檢查具有存取SYS.USER$或DBA_USERS權(quán)限的用戶,并從不需要的用戶中收回權(quán)限。但是操作并不簡(jiǎn)單,這也是數(shù)據(jù)庫(kù)管理工作的特點(diǎn)。每一廠商的軟件中都實(shí)現(xiàn)了SQL標(biāo)準(zhǔn)之外的擴(kuò)充,并且每一版本都有差異。限于篇幅,不可能對(duì)所有本文中建議的措施進(jìn)行詳細(xì)的解釋說(shuō)明,僅以此處檢查權(quán)限為例展示DBA工作的復(fù)雜性。本文中如未說(shuō)明,則默認(rèn)版本為11g。應(yīng)用于11g以前版本時(shí),請(qǐng)讀者確認(rèn)是否需要修改。
檢查權(quán)限主要的工具是數(shù)據(jù)字典視圖(也可以直接存取SYS用戶的基表,但基表的定義沒(méi)有公布,官方不提供技術(shù)支持)。視圖DBA_TAB_PRIVS存放了數(shù)據(jù)庫(kù)中數(shù)據(jù)對(duì)象上的授權(quán)信息。假定用戶A1和A2可以存取SYS.USER$表,檢查在SYS用戶USER$上有存取權(quán)限的用戶,可執(zhí)行如下語(yǔ)句:
SELECT GRANTEE FROM DBA_TAB_PRIVS WHERE TABLE_NAME=‘USER$’;
我們已經(jīng)知道用戶A1和A2,都可以存取SYS.USER$表,但為什么在上面查詢結(jié)果中沒(méi)有出現(xiàn)呢?這是因?yàn)樵贠racle的權(quán)限管理中,對(duì)一個(gè)表的存取權(quán)限還可以通過(guò)系統(tǒng)權(quán)限或角色賦予,而DBA_TAB_PRIVS中僅列出了直接的對(duì)象權(quán)限的授予信息。對(duì)于SYS.USER$表而言,系統(tǒng)權(quán)限SELECT ANY DICTIONARY和角色DBA都包含了這一表的存取權(quán)限。所以完整列出所有可存取這一表的用戶應(yīng)增加下面兩條查詢語(yǔ)句的結(jié)果:
SELECT GRANTEE FROM DBA_SYS_PRIVS WHERE PRIVILEGE=‘SELECT ANY DICTIONARY’;
SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE=‘DBA’;
通過(guò)上面的查詢語(yǔ)句,還是會(huì)遺漏某些用戶。如果把DBA角色授權(quán)給另一角色Admin,然后又將Admin角色授權(quán)給另一用戶NEWU,則此用戶可存取SYS.USER$表,但在上述三個(gè)查詢中并沒(méi)有直接列出NEWU的名字(角色Admin會(huì)出現(xiàn)在第三個(gè)查詢語(yǔ)句的結(jié)果中)。
顯然,Oracle的授權(quán)構(gòu)成了一棵樹(shù),完整的信息需要一段PL/SQL程序來(lái)完成。(對(duì)于11g以前版本,還需要檢查對(duì)DBA_USERS視圖有存取權(quán)限的用戶和角色。SELECT_CATALOG_ROLE角色如被授權(quán),則可以存取所有數(shù)據(jù)字典視圖,但不能存取SYS的基表。)
2.設(shè)定對(duì)加密口令存取的審計(jì)
如果當(dāng)前系統(tǒng)中只有SYSDBA可以存取USER$,則一個(gè)變通辦法是審計(jì)SYSDBA的所有操作,其中也包括對(duì)USER$的存取。設(shè)置初始化參數(shù)audit_sys_operations =TRUE,重新啟動(dòng)數(shù)據(jù)庫(kù)后激活對(duì)SYSDBA操作的審計(jì)。
審計(jì)文件的存放位置為:
11g版本中為:$ORACLE_BASE/admin/SID/ adump/ *.a(chǎn)ud
11g以前版本為: $ORACLE_HOME/rdbms/audit/ *.a(chǎn)ud。
嚴(yán)格限制和監(jiān)視SYSDBA用戶活動(dòng)的最好辦法是使用Oracle Database Vault組件。
3.在操作系統(tǒng)級(jí)限制對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)文件的存取
SYSDBA用戶的加密口令存放在$ORACLE_HOME/dbs下的口令文件orapw〈SID〉中。SYS.USER$表同樣需要在數(shù)據(jù)文件中存放,多數(shù)為SYSTEM表空間的第一個(gè)數(shù)據(jù)文件中。此外,EXPORT文件、REDOLOG文件以及TRACE文件中都可能出現(xiàn)加密口令。需要嚴(yán)格限制上述文件的存取權(quán)限。
4.防止網(wǎng)絡(luò)竊聽(tīng)
在建立連接時(shí),客戶端需要向服務(wù)器端傳送用戶名和口令,并且服務(wù)器端與客戶端需要相互發(fā)送這次會(huì)話使用的SESSION KEY。Oracle采用Diffie-Hellman KEY交換算法和自己開(kāi)發(fā)的O3LOGON協(xié)議完成上述任務(wù)。算法的細(xì)節(jié)同樣已在互聯(lián)網(wǎng)上被公開(kāi)。建立連接時(shí)上述信息如果被截獲,同樣可以被用來(lái)破解口令。更為嚴(yán)重的是,如果黑客事先已經(jīng)獲得加密口令,結(jié)合SESSION KEY的信息,則不需要任何破解,執(zhí)行簡(jiǎn)單還原運(yùn)算就可算出口令明文。
另外,設(shè)計(jì)SID時(shí)不要使用如ORCL、TEST、PROD等常用名字,設(shè)定PORT號(hào)為遠(yuǎn)遠(yuǎn)大于1521的數(shù),都可以增加黑客SID掃描的難度和時(shí)間。
5. 刪除舊版的加密口令
存放在Oracle 11g數(shù)據(jù)庫(kù)中的以前版本的加密口令是口令破解工具的一個(gè)突破口。在沒(méi)有兼容性限制的系統(tǒng)中,可以考慮從系統(tǒng)中刪除舊版口令,從而增加破解難度。
具體操作如下:
在SQLNET.ORA中增加一行:SQLNET.ALLOWED_LOGON_VERSION=11(Oracle手冊(cè)中格式介紹有錯(cuò)誤,不能加括號(hào):…=(11)),指定最低版本。
以SYSDBA登錄后,執(zhí)行以下語(yǔ)句,刪除舊版口令。
update sys.user$ set password=NULL;
delete from user_history$;
commit;
設(shè)置修改后,基于OCI的工具如SQLPLUS、10gR1和10gR2版本都可以正常登錄,而JDBC type-4 則只有11g版本才允許登錄。
提高口令強(qiáng)度
1.禁止使用缺省口令,禁止與用戶名同名的口令,禁止字典詞匯的口令
Oracle 11g中提供一個(gè)視圖DBA_USERS_WITH_DEFPWD,可以方便地查出系統(tǒng)中使用缺省口令的所有用戶,不足的是還有不少遺漏。讀者可以在互聯(lián)網(wǎng)找到缺省口令的列表,雖然是非官方的,但是比DBA_USERS_WITH_DEFPWD使用的官方的列表更全。破解工具附帶的詞匯表有的包括了大型英文詞典中全部詞匯,并支持詞匯與“123”之類的常用后綴進(jìn)行組合。需要注意的是,有的詞匯表中已經(jīng)出現(xiàn)了“zhongguo”這樣的字符串,所以漢語(yǔ)拼音組成的口令也是不安全的。檢查系統(tǒng)中是否存在弱口令的最常用方法就是使用前述口令破解工具進(jìn)行攻擊。
2.規(guī)定口令最小字符集和口令最短長(zhǎng)度
口令字符集最小應(yīng)包括字母、數(shù)字和特殊符號(hào),口令長(zhǎng)度最短應(yīng)不少于8位,對(duì)于安全性要求高的系統(tǒng),最短長(zhǎng)度應(yīng)為12位以上。同樣,問(wèn)題的關(guān)鍵在于DBA指定初始口令以及用戶修改口令時(shí)保證不違反上述這些規(guī)定。每一用戶都對(duì)應(yīng)一個(gè)Profile,如在Profile中指定口令驗(yàn)證函數(shù),則每當(dāng)創(chuàng)建或修改口令時(shí),會(huì)自動(dòng)檢查是否滿足驗(yàn)證程序中所設(shè)定的條件,如果不滿足,則口令修改失敗。對(duì)口令明文進(jìn)行檢查,顯然要比對(duì)加密口令破解效率高。此外,口令創(chuàng)建之時(shí)進(jìn)行檢查可以及時(shí)封殺弱口令,不給黑客留下破解的窗口。
指定口令驗(yàn)證函數(shù)的語(yǔ)句為:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION 口令驗(yàn)證函數(shù)名;
上例中,為“DEFAULT” Profile指定了驗(yàn)證函數(shù)。對(duì)用戶進(jìn)行分類后,應(yīng)當(dāng)為每一類用戶分別創(chuàng)建自己的Profile,而不是全部使用DEFAULT。關(guān)閉口令驗(yàn)證函數(shù)的語(yǔ)句為:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;
在$ORACLE_HOME/rdbms/admin/下,腳本文件UTLPWDMG.SQL提供了示例的口令驗(yàn)證函數(shù),執(zhí)行這一腳本,將創(chuàng)建一名為VERIFY_FUNCTION的函數(shù)( Oracle 11g中,增加新函數(shù)verify_function_11G )。這一函數(shù)可以對(duì)口令長(zhǎng)度是否同時(shí)出現(xiàn)了字母數(shù)字符號(hào)進(jìn)行檢查,檢查是否與用戶名同名,也檢查口令是否是幾個(gè)最常用的詞匯,如welcome、database1、account1等。最后,口令修改時(shí)檢查新舊口令是否過(guò)于相似。讀者實(shí)際使用時(shí)應(yīng)該根據(jù)系統(tǒng)需要對(duì)這一函數(shù)進(jìn)行必要的修改和擴(kuò)充。
3.使用易記憶的隨機(jī)口令限定口令長(zhǎng)度后,如果口令沒(méi)有規(guī)律很難記憶,則用戶會(huì)采用他們自己的方式記住口令,大大增加了遭受社會(huì)工程攻擊的可能性。DBA需要幫助用戶設(shè)計(jì)一個(gè)容易記憶而又不易破解的口令。一個(gè)簡(jiǎn)單易行的方法是找用戶非常熟悉的一個(gè)句子,如One world One dream,然后將每一個(gè)空格替換為數(shù)字或符號(hào):One3world2One1dream#。
定期更換口令
抵御口令破解要從多方面著手
數(shù)據(jù)庫(kù)中存在多種權(quán)限用戶,各種授權(quán)用戶構(gòu)成一棵樹(shù)
應(yīng)對(duì)口令泄露或被破解的措施是強(qiáng)制定期更換口令,設(shè)定口令重復(fù)使用限制,規(guī)定封鎖口令的錯(cuò)誤次數(shù)上限及封鎖時(shí)間。即便是加密口令落入黑客手中,在被破解之前或入侵之前,修改了口令,則口令破解變得毫無(wú)意義。為了方便記憶,一般用戶有重新使用之前過(guò)期口令的傾向,如果對(duì)重用不加控制,則定期更換口令將失去意義。上述對(duì)口令的管理仍然是通過(guò)Profile完成:
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 30
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 365
PASSWORD_REUSE_MAX 0
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION my_verify_function;
上面語(yǔ)句制定的口令管理政策為:口令的有效期為30天,隨后有7天的寬限期,寬限期后口令“過(guò)期”,必須更改口令后才能登錄。只有經(jīng)過(guò)365天后才能重新使用以前的口令。在連續(xù)10次輸入口令錯(cuò)誤后,賬號(hào)被封鎖,設(shè)定不自動(dòng)解鎖,必須由DBA手動(dòng)解除封鎖??诹铗?yàn)證函數(shù)為my_verify_function。
Oracle 11g以前版本,缺省設(shè)置中沒(méi)有設(shè)定口令的有效期,而在Oracle 11g中缺省設(shè)置有效期為180天。程序中直接寫(xiě)入口令的應(yīng)用在升級(jí)到11g時(shí)一定要注意有效期問(wèn)題,避免半年后應(yīng)用突然無(wú)法自動(dòng)運(yùn)行。另外,口令的有效期對(duì)SYS用戶不起作用,DBA一定要主動(dòng)定期更換口令。
另外一個(gè)措施是對(duì)登錄數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)進(jìn)行限定,如指定網(wǎng)段或指定IP地址。進(jìn)一步限定客戶端允許執(zhí)行的程序,如對(duì)非本地登錄禁止使用SQLPLUS,只允許執(zhí)行某特定應(yīng)用。
認(rèn)真實(shí)施本文中給出的措施后,可以很有效地防止口令被破解。然而我們的目的是提高數(shù)據(jù)庫(kù)系統(tǒng)的安全性,而不僅僅是保證口令不被破解。數(shù)據(jù)庫(kù)系統(tǒng)安全的任何一個(gè)環(huán)節(jié)出現(xiàn)問(wèn)題,都會(huì)導(dǎo)致前功盡棄。黑客的目的是入侵系統(tǒng)盜竊數(shù)據(jù),是不會(huì)按常理出牌的,會(huì)嘗試各種手段方式,如社會(huì)工程、安全漏洞、物理入侵等等,而不會(huì)執(zhí)著地在口令破解上與我們較勁。這一點(diǎn)需要我們經(jīng)常提醒自己,從而切實(shí)保證數(shù)據(jù)庫(kù)系統(tǒng)安全。
TechTarget中國(guó)原創(chuàng)內(nèi)容
1、加上as sysdba,這種登錄方式其實(shí)使用的是操作系統(tǒng)認(rèn)證,并沒(méi)有使用到密碼。也就是說(shuō)如果你os的用戶名屬于dba這個(gè)組下,那么你就能以sysdba的角色登錄到oracle中,對(duì)應(yīng)的oracle中的用戶名為sys。
2、更改密碼方法有兩種:
A方法:因?yàn)槟憧梢允褂貌僮飨到y(tǒng)認(rèn)證登錄,所以登錄進(jìn)去之后執(zhí)行:
alter user sys identified by password
B方法:使用orapw命令更改密碼文件,密碼文件在 $ORACLE_HOME/dbs
ORAPWD FILE=orapworcl PASSWORD=password ENTRIES=10
權(quán)限分為系統(tǒng)權(quán)限和對(duì)象權(quán)限。
授予連接權(quán)限:grant connect to scott;
授予創(chuàng)建表等基本權(quán)限:grant resource to scott;
授予dba:grant dba to scott;
授予使用空間權(quán)限:grant unlimited on tablespace to scott;alter user scott quota unlimited on tablespace_name;
知識(shí)延展:
權(quán)限管理,一般指根據(jù)系統(tǒng)設(shè)置的安全規(guī)則或者安全策略,用戶可以訪問(wèn)而且只能訪問(wèn)自己被授權(quán)的資源,不多不少。
權(quán)限管理幾乎出現(xiàn)在任何系統(tǒng)里面,只要有用戶和密碼的系統(tǒng),很多人,常將“用戶身份認(rèn)證”、“密碼加密”、“系統(tǒng)管理”等概念與權(quán)限管理概念混淆。
系統(tǒng)權(quán)限是針對(duì)oracle系統(tǒng)操作而言,例如登陸“create session”,創(chuàng)建表“create table”等,
對(duì)象權(quán)限是針對(duì)對(duì)象操作的,例如查詢“select”,更新“update”等。
分享題目:oracle如何破解授權(quán),oracle需要破解嗎
鏈接地址:http://www.rwnh.cn/article18/dssdpgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、微信小程序、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)