盧方建 盧方玉 關(guān)益香 彭觀平 陽(yáng)江市婦幼保健院
HIS、LIS、PACS、EMR 等服務(wù)器都采用Oracle 數(shù)據(jù)庫(kù),在檢查Oracle 監(jiān)聽器發(fā)現(xiàn),都沒設(shè)置口令,雖然這樣在使用起來方便,但是在執(zhí)行監(jiān)聽器命令前不需要輸入密碼,增加了數(shù)據(jù)庫(kù)訪問的風(fēng)險(xiǎn)。
在檢查四大主要系統(tǒng)的Oracle 時(shí),發(fā)現(xiàn)數(shù)據(jù)庫(kù)的密碼強(qiáng)度不足,有些甚至使用默認(rèn)密碼,這樣的密碼會(huì)成為數(shù)據(jù)庫(kù)安全的一個(gè)短板,帶來被入侵的風(fēng)險(xiǎn)。
數(shù)據(jù)庫(kù)登錄用戶應(yīng)該按實(shí)際需要設(shè)置,但在檢查中發(fā)現(xiàn),有多個(gè)不必要的用戶,把這些用戶鎖定,提高安全系數(shù)。
針對(duì)服務(wù)器的密碼,默認(rèn)情況下并沒有相關(guān)策略,這個(gè)需要根據(jù)實(shí)際情況進(jìn)行創(chuàng)建,還可以設(shè)置密碼復(fù)雜度檢查函數(shù)。
數(shù)據(jù)庫(kù)中的一些系統(tǒng)權(quán)限和對(duì)象權(quán)限分配不合理,需要細(xì)致化地進(jìn)行按需分配,對(duì)于不必要的應(yīng)去除。
具體操作:打開%ORACLE_HOME% etworkadminlistener.ora,檢查是否有以下類似的行PASSWORDS_LISTENER= F4BAA4 A006C26134,如果沒有,就表明沒設(shè)置口令,如果有,但是口令較弱,有必要設(shè)置新的復(fù)雜度足夠的口令。方法如下:
操作系統(tǒng)命令提示符下輸入:
SHELL>%ORACLE_HOME%/bin/lsnrctl
LSNRCTL>change_password
Oldpassword:<原來的口令><--如果原來沒有設(shè)置口令就直接回車,否則輸入原來的口令
Newpassword:<新口令>
Reenternewpassword:<新口令>
Connectingto(ADDRESS=(PROTOCOL=ipc) (KEY=XXX))
PasswordchangedforLISTENER
Thecommandcompletedsuccessfully
LSNRCTL>setpassword
Password:<輸入新口令>
LSNRCTL>save_config(保存當(dāng)前設(shè)置)
以后執(zhí)行監(jiān)聽器命令前需要輸入密碼
LSNRCTL>setpassword
Password:<輸入新口令>
LSNRCTL>status(如果上一步未驗(yàn)證密碼,則提示TNS-01169:監(jiān)聽器尚未識(shí)別口令)
如果password 字段為null,查詢sys.user$基表
SQL>selectname,passwordfromsys.user$wherenamein(selectusernamefromdba_userswhereaccount_status='OPEN');將 密 碼hash 導(dǎo)入cain 軟件破解。
如果需要修改密碼,可用命令SQL>alteruser 用戶名identifiedby 新密碼。
先查看數(shù)據(jù)庫(kù)用:SQL>selectusername fromdba_ userswhereaccount_ status='OPEN';
如果用戶不使用,建議鎖定:SQL>alterusername 用戶名accountlock;
如果需要解鎖, 可用命令:SQL>alterusername 用戶名accountunlock;
先查看是否設(shè)置了密碼策略,使用以下命令:
SQL>selectusername,profilefromdba_userswhereaccount_status='OPEN';
SQL>select*fromdba_profiles;
如果沒有,則要?jiǎng)?chuàng)建適當(dāng)?shù)拿艽a策略:
SQL>createprofileprofile1limit
failed_login_attempts6 最大錯(cuò)誤登陸次數(shù)
password_lock_time1 賬號(hào)鎖定時(shí)間
password_grace_time7 口令寬限天數(shù)
password_life_time90 口令有效時(shí)間
password_reuse_max5 口令歷史記錄保留次數(shù)
將策略應(yīng)用到用戶:
SQL>alteruseraaaprofileprofile1;
應(yīng)用策略后,修改密碼
SQL>alteruser 用 戶 名identifiedby 新 密碼replace 舊密碼;
這個(gè)操作存在一定風(fēng)險(xiǎn):設(shè)置口令策略可能影響應(yīng)用正常運(yùn)行,包括無法登錄和賬號(hào)意外被鎖,所以要先把密碼設(shè)置為滿足此要求的密碼后,再設(shè)置此策略。
查看系統(tǒng)權(quán)限SQL>select*fromdba_sys_privs;
查看對(duì)象權(quán)限SQL>select*fromdba_tab_privs;
如沒必要,建議去除不必要的權(quán)限,例如:revokedbafromuser1;
數(shù)據(jù)庫(kù)整改方案操作需要一定專業(yè)知識(shí),每一步都要衡量是否會(huì)對(duì)正在運(yùn)行的業(yè)務(wù)程序產(chǎn)生影響;盡量做到按此方案整改,能明顯提升數(shù)據(jù)庫(kù)的安全水平,這對(duì)于醫(yī)院業(yè)務(wù)工作可持續(xù)進(jìn)行起到重要的作用。