Oracle 11g實現(xiàn)安全加固方法步驟
網(wǎng)絡安全是目前互聯(lián)網(wǎng)的熱門話題之一,作為個人用戶的我們同樣需要關(guān)注,做好防護。這篇文章主要給大家介紹了關(guān)于Oracle 11g實現(xiàn)安全加固的完整步驟,文中通過示例代碼將實現(xiàn)的步驟一步步介紹的非常詳細,對大家學習或者使用Oracle 11g具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
方法步驟
1.安全加固的檢查方向
1.1.sysdba用戶遠程登錄限制(查看Oracle登錄認證方式)
檢查:
show parameter remote_login_passwordfile
整改:
alter system set remote_login_passwordfile = NONE scope=spfile;
注:需要重啟庫生效。
1.2.是否開啟了資源限制
show parameter resource_limit
alter system set resource_limit = true;
1.3.登錄失敗的帳號鎖定策略
select * from dba_profiles order by 1;
關(guān)注FAILED_LOGIN_ATTEMPTS的設定值
1.4.數(shù)據(jù)庫用戶帳號檢查
檢查:
select username,profile from dba_users where account_status='OPEN';
整改:
鎖定用戶:alter user <用戶名> lock;
刪除用戶:drop user <用戶名> cascade;
1.5.范例數(shù)據(jù)庫帳號
是否存在默認的范例數(shù)據(jù)庫賬號scott等,可以考慮刪除scott賬號
1.6.dba權(quán)限賬戶檢查
?
1
select * from dba_role_privs where granted_role='DBA';
1.7.數(shù)據(jù)庫賬戶口令加密存儲
11g數(shù)據(jù)里面的賬戶口令本來就是加密存儲的。
1.8.數(shù)據(jù)庫密碼安全性校驗函數(shù)
?
1
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
1.9.設定信任IP集
只需在服務器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中設置以下行:
?
1
2
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
1.10.超時的空閑遠程連接是否自動斷開
根據(jù)實際需要設置合適的數(shù)值。
在$ORACLE_HOME/network/admin/sqlnet.ora中設置下面參數(shù):
?
1
SQLNET.EXPIRE_TIME=10
2.安全加固檢查safeCheck.sh
#!/bin/bash
#name:safeCheck.sh
#function:to create a safe check report.
#usage: oracle用戶登錄,執(zhí)行 sh safeCheck.sh > /tmp/safeCheck.log
#logon database
sqlplus -S / as sysdba <
--format
prompt ============================
prompt == format
prompt ============================
prompt
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30
--check
prompt ============================
prompt == 1.sysdba用戶遠程登錄限制
prompt ============================
prompt
show parameter remote_login_passwordfile
prompt 結(jié)果應為none.
prompt ======================
prompt == 2.resource_limit
prompt ======================
prompt
show parameter resource_limit
prompt 結(jié)果應為true.
prompt ===========================
prompt == 3.登錄失敗的帳號鎖定策略
prompt ===========================
prompt
select * from dba_profiles order by 1;
prompt 關(guān)注FAILED_LOGIN_ATTEMPTS參數(shù)
prompt ===========================
prompt == 4.數(shù)據(jù)庫用戶帳號檢查
prompt ===========================
prompt
select username,profile from dba_users where account_status='OPEN';
prompt 正常使用的用戶列表
prompt ==========================
prompt == 5.范例數(shù)據(jù)庫帳號
prompt ==========================
prompt
select * from all_users order by created;
prompt 關(guān)注有無示例賬戶scott
prompt ===========================
prompt == 6.dba權(quán)限賬戶檢查
prompt ===========================
prompt
prompt ===========================
prompt == 7.數(shù)據(jù)庫賬戶口令加密存儲
prompt ===========================
prompt
prompt =============================
prompt == 8.數(shù)據(jù)庫密碼安全性校驗函數(shù)
prompt =============================
prompt
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
prompt 結(jié)果應該不為null
--logoff database
EOF
# check the files
echo ===================
echo == 9.設定信任IP集
echo ===================
echo
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)
echo ===================================
echo == 10.超時的空閑遠程連接是否自動斷開
echo ===================================
echo
#根據(jù)實際需要設置合適的數(shù)值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
3.安全加固執(zhí)行safeExec.sh
#!/bin/bash
#name:safeExec.sh
#function:to execute the script for safe.
#usage: oracle用戶登錄,執(zhí)行 sh safeExec.sh > /tmp/safeExec.log
#logon database
sqlplus -S / as sysdba <
--format
prompt ============================
prompt == format
prompt ============================
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30
--execute
prompt ============================
prompt == 1.sysdba用戶遠程登錄限制
prompt ============================
alter system set remote_login_passwordfile=none scope=spfile;
prompt ======================
prompt == 2.resource_limit
prompt ======================
alter system set resource_limit=true;
prompt ===========================
prompt == 3.登錄失敗的帳號鎖定策略
prompt ===========================
alter profile default limit FAILED_LOGIN_ATTEMPTS 10;
prompt ===========================
prompt == 4.數(shù)據(jù)庫用戶帳號檢查
prompt ===========================
--select username,profile from dba_users where account_status='OPEN';
prompt I think I have nothing to do in this step.
prompt ===========================
prompt == 5.范例數(shù)據(jù)庫帳號
prompt ===========================
prompt 是否刪除范例scott用戶?
--drop user scott cascade;
prompt ===========================
prompt == 6.dba權(quán)限賬戶檢查
prompt ===========================
prompt I think I have nothing to do in this step.
prompt ===========================
prompt == 7.數(shù)據(jù)庫賬戶口令加密存儲
prompt ===========================
prompt 11g版本,數(shù)據(jù)庫層面就是加密的嘛~
prompt =============================
prompt == 8.數(shù)據(jù)庫密碼安全性校驗函數(shù)
prompt =============================
prompt 執(zhí)行創(chuàng)建安全性校驗函數(shù)的腳本
@?/rdbms/admin/utlpwdmg.sql
--logoff database
EOF
# check the files
echo ===================
echo == 9.設定信任IP集
echo ===================
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)
echo ===================================
echo == 10.超時的空閑遠程連接是否自動斷開
echo ===================================
#根據(jù)實際需要設置合適的數(shù)值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
針對第9和第10步驟中的sqlnet.ora配置文件示例:
注意:如果是ASM實例,sqlnet.ora配置文件是grid用戶下$ORACLE_HOME/network/admin/sqlnet.ora的。
SQLNET.EXPIRE_TIME=10
tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.99.*)
相關(guān)閱讀:2018網(wǎng)絡安全事件:
一、英特爾處理器曝“Meltdown”和“Spectre漏洞”
2018年1月,英特爾處理器中曝“Meltdown”(熔斷)和“Spectre” (幽靈)兩大新型漏洞,包括AMD、ARM、英特爾系統(tǒng)和處理器在內(nèi),幾乎近20年發(fā)售的所有設備都受到影響,受影響的設備包括手機、電腦、服務器以及云計算產(chǎn)品。這些漏洞允許惡意程序從其它程序的內(nèi)存空間中竊取信息,這意味著包括密碼、帳戶信息、加密密鑰乃至其它一切在理論上可存儲于內(nèi)存中的信息均可能因此外泄。
二、GitHub 遭遇大規(guī)模 Memcached DDoS 攻擊
2018年2月,知名代碼托管網(wǎng)站 GitHub 遭遇史上大規(guī)模 Memcached DDoS 攻擊,流量峰值高達1.35 Tbps。然而,事情才過去五天,DDoS攻擊再次刷新紀錄,美國一家服務提供商遭遇DDoS 攻擊的峰值創(chuàng)新高,達到1.7 Tbps!攻擊者利用暴露在網(wǎng)上的 Memcached 服務器進行攻擊。網(wǎng)絡安全公司 Cloudflare 的研究人員發(fā)現(xiàn),截止2018年2月底,中國有2.5萬 Memcached 服務器暴露在網(wǎng)上 。
三、蘋果 iOS iBoot源碼泄露
2018年2月,開源代碼分享網(wǎng)站 GitHub(軟件項目托管平臺)上有人共享了 iPhone 操作系統(tǒng)的核心組件源碼,泄露的代碼屬于 iOS 安全系統(tǒng)的重要組成部分——iBoot。iBoot 相當于是 Windows 電腦的 BIOS 系統(tǒng)。此次 iBoot 源碼泄露可能讓數(shù)以億計的 iOS 設備面臨安全威脅。iOS 與 MacOS 系統(tǒng)開發(fā)者 Jonathan Levin 表示,這是 iOS 歷史上最嚴重的一次泄漏事件。
四、韓國平昌冬季奧運會遭遇黑客攻擊
2018年2月,韓國平昌冬季奧運會開幕式當天遭遇黑客攻擊,此次攻擊造成網(wǎng)絡中斷,廣播系統(tǒng)(觀眾不能正常觀看直播)和奧運會官網(wǎng)均無法正常運作,許多觀眾無法打印開幕式門票,最終未能正常入場。
五、加密貨幣采礦軟件攻擊致歐洲廢水處理設施癱瘓
2018年2月中旬,工業(yè)網(wǎng)絡安全企業(yè) Radiflow 公司表示,發(fā)現(xiàn)四臺接入歐洲廢水處理設施運營技術(shù)網(wǎng)絡的服務器遭遇加密貨幣采礦惡意軟件的入侵。該惡意軟件直接拖垮了廢水處理設備中的 HMI 服務器 CPU,致歐洲廢水處理服務器癱瘓 。
Radiflow 公司稱,此次事故是加密貨幣惡意軟件首次對關(guān)鍵基礎(chǔ)設施運營商的運營技術(shù)網(wǎng)絡展開攻擊。由于受感染的服務器為人機交互(簡稱HMI)設備,之所以導致廢水處理系統(tǒng)癱瘓,是因為這種惡意軟件會嚴重降低 HMI 的運行速度。
網(wǎng)絡安全相關(guān)文章: