為監聽設定密碼防止遠端關閉監聽
出處: http://yangtingkun.itpub.net/post/468/461315
資料庫的帳號需要密碼進行保護,監聽同樣需要設定密碼進行保護,否則就會留下安全隱患。
監聽是作業系統上啟動的程式,負責將使用者的請求連線到Oracle的例項上。一旦監聽被關閉,資料庫伺服器以外的使用者將無法正常登陸資料庫。
監聽命令可以透過配置本地監聽引數檔案listener.ora來達到獲取遠端監聽資訊,甚至關閉遠端監聽的能力。
本地監聽環境的設定如下:
# LISTENER.ORA Network Configuration File: E:oracleoracle920networkadminlistener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ytk-thinkpad)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:oracleoracle920)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ytk92.ytk_thinkpad)
(ORACLE_HOME = E:oracleoracle920)
(SID_NAME = ytk92)
)
)
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.1.100)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
)
其中LISTENER1的設定是手工新增的遠端配置,目前遠端監聽已經啟動,下面就可以透過指定LISTENER1來獲取遠端監聽的狀態,甚至關閉遠端監聽:
E:>ipconfig
Windows IP Configuration
Ethernet adapter 無線網路連線 2:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 172.25.13.100
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 172.25.13.1
Ethernet adapter 本地連線:
Media State . . . . . . . . . . . : Media disconnected
Ethernet adapter 本地連線 2:
Media State . . . . . . . . . . . : Media disconnected
E:>%ORACLE_HOME%/bin/lsnrctl
LSNRCTL for 32-bit Windows: Version 9.2.0.4.0 - Production on 07-5月 -2008 00:00
:44
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
歡迎來到LSNRCTL,請鍵入"help"以獲得資訊。
LSNRCTL> status listener1正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.1.100)(PORT=1521)))
LISTENER 的 STATUS
------------------------別名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 9.2.0.4.0 - Produc
tion啟動日期 07-5月 -2008 00:01:30正常執行時間 0 天 0 小時 3 分 49 秒跟蹤級別 off安全性 OFF
SNMP OFF監聽器引數檔案 F:oracleora92networkadminlistener.ora監聽器日誌檔案 F:oracleora92networkloglistener.log監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yangtk)(PORT=1521)))服務摘要..服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "dicsys.YANGTINGKUN" 包含 1 個例程。
例程 "DICSYS", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test.yangtingkun" 包含 1 個例程。
例程 "test", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test1" 包含 1 個例程。
例程 "test1", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test2" 包含 1 個例程。
例程 "test2", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test3" 包含 1 個例程。
例程 "test3", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test4" 包含 1 個例程。
例程 "test4", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test5" 包含 1 個例程。
例程 "test5", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "testst" 包含 1 個例程。
例程 "testst", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "yangtk.yangtingkun" 包含 1 個例程。
例程 "yangtk", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...命令執行成功
LSNRCTL> stop listener1正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.1.100)(PORT=1521)))命令執行成功
透過這個例子可以看到,只需要知道遠端資料庫的地址和監聽埠,就可以透過配置來關閉遠端的監聽。這存在很大的安全隱患。
解決的方法是為監聽設定密碼,方法如下:
F:>lsnrctl
LSNRCTL for 32-bit Windows: Version 9.2.0.4.0 - Production on 07-5月 -2008 00:15
:36
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
歡迎來到LSNRCTL,請鍵入"help"以獲得資訊。
LSNRCTL> start啟動tnslsnr:請稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.4.0 - Production系統引數檔案為F:oracleora92networkadminlistener.ora寫入F:oracleora92networkloglistener.log的日誌資訊監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yangtk)(PORT=1521)))
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yangtk)(PORT=1521)))
LISTENER 的 STATUS
------------------------別名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 9.2.0.4.0 - Produc
tion啟動日期 07-5月 -2008 00:15:38正常執行時間 0 天 0 小時 0 分 0 秒跟蹤級別 off安全性 OFF
SNMP OFF監聽器引數檔案 F:oracleora92networkadminlistener.ora監聽器日誌檔案 F:oracleora92networkloglistener.log監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yangtk)(PORT=1521)))服務摘要..服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "dicsys.YANGTINGKUN" 包含 1 個例程。
例程 "DICSYS", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test.yangtingkun" 包含 1 個例程。
例程 "test", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test1" 包含 1 個例程。
例程 "test1", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test2" 包含 1 個例程。
例程 "test2", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test3" 包含 1 個例程。
例程 "test3", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test4" 包含 1 個例程。
例程 "test4", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test5" 包含 1 個例程。
例程 "test5", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "testst" 包含 1 個例程。
例程 "testst", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "yangtk.yangtingkun" 包含 1 個例程。
例程 "yangtk", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...命令執行成功
LSNRCTL> change_password
Old password:
New password:
Reenter new password:正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yangtk)(PORT=1521)))
LISTENER的口令已更改命令執行成功
LSNRCTL> set password
Password:命令執行成功
LSNRCTL> save_config正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yangtk)(PORT=1521)))儲存的LISTENER配置引數。監聽器引數檔案 F:oracleora92networkadminlistener.ora舊的引數檔案F:oracleora92networkadminlistener.bak命令執行成功
由於設定了密碼,以後無論是本地還是遠端執行類似LSNRCTL STOP或者SAVE_CONFIG等操作都會提示輸入密碼。
以後本地的關閉監聽操作為:
LSNRCTL> exit
F:>lsnrctl
LSNRCTL for 32-bit Windows: Version 9.2.0.4.0 - Production on 07-5月 -2008 00:19
:55
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
歡迎來到LSNRCTL,請鍵入"help"以獲得資訊。
LSNRCTL> stop正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yangtk)(PORT=1521)))
TNS-01169: 監聽器尚未識別口令
LSNRCTL> set password
Password:命令執行成功
LSNRCTL> stop正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yangtk)(PORT=1521)))命令執行成功
LSNRCTL> start啟動tnslsnr:請稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.4.0 - Production系統引數檔案為F:oracleora92networkadminlistener.ora寫入F:oracleora92networkloglistener.log的日誌資訊監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yangtk)(PORT=1521)))
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=yangtk)(PORT=1521)))
LISTENER 的 STATUS
------------------------別名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 9.2.0.4.0 - Produc
tion啟動日期 07-5月 -2008 00:20:20正常執行時間 0 天 0 小時 0 分 0 秒跟蹤級別 off安全性 ON
SNMP OFF監聽器引數檔案 F:oracleora92networkadminlistener.ora監聽器日誌檔案 F:oracleora92networkloglistener.log監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=yangtk)(PORT=1521)))服務摘要..服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "dicsys.YANGTINGKUN" 包含 1 個例程。
例程 "DICSYS", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test.yangtingkun" 包含 1 個例程。
例程 "test", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test1" 包含 1 個例程。
例程 "test1", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test2" 包含 1 個例程。
例程 "test2", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test3" 包含 1 個例程。
例程 "test3", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test4" 包含 1 個例程。
例程 "test4", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "test5" 包含 1 個例程。
例程 "test5", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "testst" 包含 1 個例程。
例程 "testst", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...服務 "yangtk.yangtingkun" 包含 1 個例程。
例程 "yangtk", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...命令執行成功
這時遠端嘗試關閉監聽就會報錯並提示輸入密碼:
LSNRCTL> stop listener1正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.1.100)(PORT=1521)))
TNS-01169: 監聽器尚未識別口令
透過設定監聽的密碼,提高了系統的安全性。
從10g開始,Oracle增加了監聽程式的安全性,即使不設定密碼,也沒有辦法從遠端關閉監聽。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-687500/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為監聽設定密碼密碼
- 監聽設定密碼密碼
- Oracle 9i, 10g 監聽器遠端關閉問題及設定密碼Oracle密碼
- ORACLE listener監聽設定密碼Oracle密碼
- 設定 Oracle 監聽器密碼(LISTENER)Oracle密碼
- 遠端控制監聽器
- 新增監聽密碼密碼
- 關閉監聽的日誌。
- 加固Oracle安全,為監聽設定口令Oracle
- ORACLE資料庫安全漏洞之監聽密碼設定Oracle資料庫密碼
- 設定USB資料監聽
- Oracle監聽啟動後自動關閉Oracle
- UNIX環境設定監聽埠的指令碼指令碼
- listener監聽監控指令碼指令碼
- 監聽 watch props物件屬性監聽 或深度監聽物件
- ssh遠端埠轉發無法監聽0.0.0.0
- Androidx為Fragment中的按鈕設定監聽AndroidFragment
- 設定Flume監聽檔案內容
- vue監聽input是否為空(監聽值為物件某個屬性)Vue物件
- 動態監聽與靜態監聽
- 動態監聽和靜態監聽
- 【監聽】配置服務端靜態(動態)監聽/修改監聽埠及引數local_listener作用服務端
- 如何防止網路監聽與埠掃描
- 【監聽】兩庫互配靜態監聽
- ORACLE動態監聽與靜態監聽Oracle
- oracle靜態監聽和動態監聽Oracle
- 【oracle】動態監聽與靜態監聽Oracle
- 定時清理監聽日誌的指令碼 。指令碼
- 事件監聽事件
- Oracle 監聽Oracle
- SESSION監聽Session
- swift 訊息監聽和鍵值監聽(kvo)Swift
- 關於EditText焦點監聽
- 如何防止網路監聽?防範措施有哪些?
- 伺服器端監聽器配置伺服器
- 同時配置動態監聽與靜態監聽
- 關於10g RAC監聽設定,tnsnames.ora設定,VIP及客戶端配置問題。客戶端
- 設定USB無線網路卡為監聽模式大學霸IT達人模式