使用sql*plus時的一個安全小問題

zhyuh發表於2005-06-22
在unix環境下,當你使用sql*plus訪問資料庫時,說不定不知不覺間就把資料庫的使用者名稱和口令告訴給了其他作業系統使用者。不妨做以下試驗。[@more@]

telnet到資料庫伺服器,用如下命令啟動sql*plus:

/export/home/deverdb>sqlplus system/sysmg3r4@suppfrwi

SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 22 13:10:48 2005

(c) Copyright 2000 Oracle Corporation. All rights reserved.

Connecte a :
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
With the Partitioning option
JServer Release 8.1.7.4.0 - Production

SQL>......

在另外telnet視窗中,執行命令:

export/home/deverdb>ps -ef|grep sqlplus

deverdb 26475 13858 0 13:10:48 pts/3 0:00 sqlplus system/sysmg3r4@suppfrwi
oracle 7139 1 0 22:00:01 ? 0:00 sqlplus SYSTEM/SYSMG3R4

命令結果清楚地顯示了連線資料庫的使用者名稱,口令和連線串。

==============================================================

為了避免上述情況,建議在資料庫伺服器上用sql*plus訪問資料庫時,用如下命令:

/export/home/deverdb>sqlplus /nolog

SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 22 13:18:45 2005

(c) Copyright 2000 Oracle Corporation. All rights reserved.

SQL> connect system/sysmg3r4@suppfrwi

Connecte.

再執行ps -ef|grep sqlplus命令,得到結果如下:

export/home/deverdb>ps -ef|grep sqlplus

oracle 7139 1 0 22:00:01 ? 0:00 sqlplus SYSTEM/SYSMG3R4
deverdb 26904 13858 0 13:18:44 pts/3 0:00 sqlplus /nolog

另外,建立一個帶有使用者名稱和口令的檔案,然後將這個檔案管道傳遞給sql*plus,也可以避免密碼洩漏。在用此方法時,注意將檔案的許可權設定為700

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/207/viewspace-800743/,如需轉載,請註明出處,否則將追究法律責任。

相關文章