成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何保護好Oracle服務器上的監聽器

運維 服務器運維
通過以下這11種方法對Oracle監聽器進行保護后,想要通過監聽器進行破壞活動基本上就很困難了,不能保證100%攔截攻擊,也至少有99%的效果。

如何保護好Oracle服務器上的監聽器

監聽器簡介

Oracle監聽器是Oracle服務器軟件的一個組件,它負責管理Oracle數據庫和客戶端之間的通訊,它在一個特定的網卡端口(默認是TCP 1521端口)上監聽連接請求,并將連接轉發給數據庫,由兩個二進制文件組成:tnslsnr和lsnrctl。其中tsnlsnr就是監聽器本身,它運行在數據庫服務器端,lsnrctl是監聽器控制程序,用于在服務器上或遠程管理監聽器。與監聽器相關的還有兩個配置文件:sqlnet.ora和listener.ora。tnslsnr啟動時就會讀取這兩個配置文件中的信息,如端口號,數據庫服務名。

Oracle監聽器在默認安裝和配置情況下,有許多著名的漏洞和缺陷,黑客利用這些缺陷可以制造拒絕服務攻擊,偷竊數據庫連接密碼,進一步竊取機密數據。最大的風險來自監聽器的配置,Oracle官方提供了一些推薦的配置,往往能夠達到保護監聽器的目的。本文就是想仔細列出現有的已知保護Oracle監聽器的方法,這些方法對于黑客而言都很熟悉,所以作為DBA也必須要清楚才行。

為什么要保護監聽器?

DBA對于為什么要保護監聽器往往不太關心,他們認為黑客不太可能通過控制監聽器進而控制整個數據庫,在Oracle 10g之前的所有版本,Oracle監聽器允許任何一個人利用lsnrctl從遠程發起對監聽器的管理,但幸運的是,從Oracle 10.1開始嚴格限制在遠程對監聽器的管理了。下面列出一些對Oracle 8/9i默認安裝配置時可能有效的攻擊手段,即使是打上最新的安全補丁,而沒有進行安全配置加固,這些攻擊手段也仍然有效:

注意:本文假設監聽器使用的是TCP/IP,并且使用的是本地命名管理(即tnsnames.ora),本文所描述的Oracle版本在8i/9i/10g上做過測試,但相信對其他低版本或更高的版本也有一定的參考價值。

怎么保護監聽器?

既然監聽器有這么多可供黑客利用的地方,那有沒有什么方法來保護它,辦法是有的,而且還很多,總結起來,大概有下面11種方法來保護Oracle監聽器:

1、 設備監聽器密碼

通過設置監聽器密碼可以阻止大部分的菜鳥黑客的進攻,設置密碼有兩種方法,一種是通過lsnrctl命令來設置,另一種是直接修改listener.ora文件,第一種方法設置的密碼是經過加密后存儲在listener.ora中,而第二種方法是以明文的形式放在listener.ora中的,所以推薦使用第一種方式。具體命令如下:

LSNRCTL> set current_listener <監聽器名>

LSNRCTL> change_password

old password: <如果之前沒有設置密碼就直接按回車>

New password: <輸入新密碼>

Reenter new password: <再次輸入新密碼>

LSNRCTL> set password Password: <輸入剛剛設置的新密碼>

LSNRCTL> save_config

設置好密碼后,打開listener.ora,看是否有一條PASSWORDS_<監聽器名>的記錄,類似于PASSWORDS_LISTENER = F4BAA4A006C26134。為監聽器設置了密碼后,必須到客戶端重新配置連接。

2、 開啟監聽器日志

開啟監聽器日志功能是為了捕獲監聽器命令和防止密碼被暴力破解。開啟監聽器日志功能的命令為:

LSNRCTL> set current_listener <監聽器名>

LSNRCTL> set password Password: <輸入監聽器密碼>

LSNRCTL> set log_directory /network/admin

LSNRCTL> set log_file .log

LSNRCTL> set log_status on

LSNRCTL> save_config

通過運行上面的命令,監聽器將會在/network/admin目錄下創建一個.log日志文件,以后可以打開該文件查看一些常見的ORA-錯誤信息。

3、 在listener.ora中設置ADMIN_RESTRICTIONS

在listener.ora文件中設置了ADMIN_RESTRICTIONS參數后,當監聽器在運行時,不允許執行任何管理任何,屆時,set命令將不可用,不論是在服務器本地還是從遠程執行都不行,這時如果要修改監聽器設置就只有手工修改listener.ora文件了,通過手工修改listener.ora,要使修改生效,只能使用lsnrctl reload命令或lsnrctl stop/start命令重新載入一次監聽器配置信息。在listener.ora文件中手動加入下面這樣一行:

ADMIN_RESTRICTIONS_<監聽器名> = ON

4、 打上最新的監聽器補丁

這一點就與操作系統類似,數據庫也有bug,也有漏洞,黑客會在漏洞發現第一時間掃描未打補丁的服務器,所以作為一個稱職的DBA要隨時關注Oracle的CPU(呵呵,不是處理器,是關鍵補丁升級的意思),這里要說明的是Oracle的補丁是自動累加的,就像windows xp sp2的內容包括了sp1的所有內容一樣,所以只需要按照最新的補丁集就可以了,還有一點要注意的是在生產系統上應用任何補丁前都需要先在測試環境進行測試,保證升級后不影響正常業務才進行升級。最后要說明的是,只有購買了Oracle的正式許可才可以登陸下載補丁,否則就只有從第三方地址下載,其完整性就不能保證了。

5、 利用防火墻阻止SQL*NET

除非的確需要,否則不應該讓SQL*NET通訊通過防火墻,在設計防火墻規則時,應設計為只允許經過認證的Web服務器和應用程序通過防火墻進行SQL*NET通信。而且放在防火墻DMZ區域的應用服務器使用SQL*NET通信時,應只允許它與特定的數據庫服務器進行通信。

通常很少有應用會從Internet直接訪問數據庫,因為這種方式的延遲非常明顯,通用的做法是配置應用服務器與數據庫通信,Internet客戶端通過瀏覽器訪問應用服務器即可,這時配置防火墻時也只需設置應用服務器和數據庫服務器之間的通信規則即可。

6、 保護$TNS_ADMIN目錄

$TNS_ADMIN目錄即我們通常看到的ORACLE_HOME/network/admin目錄,它下面包含有listener.ora,tnsnames.ora,sqlnet.ora,protocol.ora等重要配置文件,前面已經提到,監聽器的密碼就是保存在listener.ora中的,如果不保護好,可能造成密碼泄露,或整個文件被修改,這個目錄下的listener.ora,sqlnet.ora,protocol.ora文件應該只開放給Oracle主賬戶(通常是oracle或Administrator),而其他賬戶不能有任何權限,tnsnames.ora文件在Linux或Unix系統上權限可以設置為0644,在windows上可以設置其他用戶為瀏覽,讀取權限。#p#

7、 保護TNSLSNR和LSNRCTL

在Linux或Unix服務器上,應該將這兩個文件的權限設為0751,如果想更嚴格一點,可以設為0700,這樣就只有安裝oracle時指定的宿主用戶可以執行它們了,這兩個文件位于ORACLE_HOME/bin目錄下。保護這兩個文件的目的是為了防止黑客直接破壞它們,如果tnslsnr被破壞,監聽器肯定不能啟動,如果lsnrctl被破壞,可能植入惡意代碼,在運行lsnrctl時就會執行其它黑客行為。

8、 移除不用的服務

默認安裝時,會安裝一個PL/SQL外部程序(ExtProc)條目在listener.ora中,它的名字通常是ExtProc或PLSExtProc,但一般不會使用它,可以直接從listener.ora中將這項移除,因為對ExtProc已經有多種攻擊手段了。有時可能會在多個實例之間拷貝listener.ora,請檢查拷貝來的文件中是否含有不需要的服務,確保只留下的確需要的服務項目,減少監聽器受攻擊的面。

9、 改變默認的TNS端口號

改變監聽器監聽的端口號與修改ftp服務器默認的21端口,web服務器的80端口類似,因為Oracle默認的監聽端口是1521(Oracle還正式注冊了兩個新的端口號2483和2484,說不定哪個新版本發布后,可能默認的端口號就會是這兩個了,其中2484用于SSL類型的連接),幾乎所有的掃描器都可以直接掃描這個端口是否打開,如果設置為一個不常用的端口號,可能會給人一種假象,而且即使掃描到端口打開,也還要猜測該端口運行是究竟是什么服務,攻擊難度就加大了。在修改端口的時候也不要設在1521-1550和1600-1699范圍內,雖然通過修改默認端口并不算什么高級防護技術,但至少可以防止自動攻擊,以及在端口1521上的簡單掃描。

可直接編輯listener.ora中端口號,也可以通過netca程序進行修改,當然在客戶端也要做對應的修改才行。同時要設置初始化參數LOCAL_LISTENER,這樣在監聽端口發生變化后,數據庫才會自動進行監聽器重新注冊。

10、 設置節點驗證

根據應用程序和網絡配置情況,采用節點驗證對于保護監聽器是一種強有力的方法,大部分Web應用程序都只需要從應用服務器訪問監聽器,以及一臺管理客戶端,對于Oracle 8/8i,在$ORACLE_HOME/network/admin/protocol.ora文件中添加節點檢查語句,對于Oracle 9i/10g,在$ORACLE_HOME/network/admin/sqlnet.ora文件中添加節點檢查語句,語句的格式都一樣,如:

tcp.validnode_checking = yes

tcp.invited_nodes = ( x.x.x.x | name, x.x.x.x | name)

tcp.excluded_nodes=( x.x.x.x | name, x.x.x.x | name)

注意:這里要么使用invited_nodes語句,要么使用excluded_nodes,不能同時都使用,也不能使用通配符,子網等,只能使用明確的ip地址或主機名。這里的x.x.x.x指的就是如192.168.1.100這樣的ip地址,name就是主機名,如果有多個ip地址或主機名,使用逗號進行分隔。

設置了節點驗證后,監聽器需要重新啟動才會生效。使用這種方法進行節點驗證會消耗一定的系統資源和網絡帶寬,如果要驗證的地址過多,靠手工添加也很麻煩,這時可以使用Oracle Connection Manager,如果是有許多客戶端通過SQL*NET訪問數據庫,使用這種節點驗證的方法也不可行,那會相當的慢。

11、 監視日志

在前面的方法中開啟了監聽器日志功能,在產生了日志信息后,要對其進行分析,常見的可在日志文件中查找是否有TNS-01169,TNS-01189,TNS-01190或TNS-12508錯誤,如果有這些錯誤,至少可以說明要么有人攻擊,要么有異常活動,進一步可以使用shell基本或一些簡單的管理工具將這些有用的日志信息定期發送給DBA,實現實時監控效果。

下面是對前面提到的幾個常見錯誤的描述:

小結

通過上面這11種方法對Oracle監聽器進行保護后,想要通過監聽器進行破壞活動基本上就很困難了,不能保證100%攔截攻擊,也至少有99%的效果,另外那1%可能就是DBA本身犯的一些低級錯誤了,如不小心將監聽器密碼泄露給他人,或將配置信息暴露在Internet上。


您正在閱讀:如何保護好Oracle服務器上的監聽器

【編輯推薦】

  1. Oracle服務器參數文件管理的注意事項
  2. 匿名代理服務器是福音還是禍害?
  3. Postfix郵箱服務器高性能背后的秘密

責任編輯:王觀 來源: IT專家網
相關推薦

2010-04-23 18:00:31

2018-11-23 08:44:27

2019-01-08 08:14:42

2013-08-30 10:49:26

2009-12-15 18:02:45

2011-03-21 16:21:49

Oracle監聽口令監聽器

2013-08-28 10:29:33

2020-08-25 10:16:59

漏洞白帽網絡安全

2009-07-12 17:23:06

2010-04-23 10:13:18

Oracle監聽

2009-11-18 18:28:27

Oracle監聽器

2009-01-03 13:37:26

Oracle監聽器Oracle服務器Oracle網絡配置

2014-11-07 13:21:27

2022-08-04 14:36:55

NFT加密錢包黑客

2017-08-03 10:36:08

UbuntuCertbotNGINX

2010-04-19 15:38:10

2009-07-08 17:39:23

Servlet監聽器

2019-05-10 10:26:20

隱私黑客攻擊

2009-03-04 06:30:00

DHCP服務器企業服務器

2017-09-13 07:23:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲第一成年免费网站 | 日韩中文视频 | 一级黄色毛片子 | 国产一区二区三区 | 亚洲精品电影在线观看 | 蜜桃精品视频在线 | 午夜久久久| 午夜影院黄 | 一级毛片成人免费看a | 久久综合久久久 | 九九九视频 | 国产综合视频 | 午夜精品一区二区三区在线播放 | 狠狠爱网址 | 在线一区二区观看 | 日韩精品在线观看一区二区 | 免费观看一级特黄欧美大片 | 久久99国产精品 | 日韩日韩日韩日韩日韩日韩日韩 | 天天人人精品 | 日韩av最新网址 | 九九av | 美女久久久久久久 | 国产美女在线观看 | 久久99精品久久久久久 | 黄色片在线看 | 一区二区三区国产 | 国产一区亚洲二区三区 | 亚洲精品一区二区三区蜜桃久 | 一区观看| 国产精品欧美一区二区三区 | 性高湖久久久久久久久3小时 | 欧美在线精品一区 | 国产丝袜一区二区三区免费视频 | 国产探花在线观看视频 | 91精品久久久 | 日韩免费高清视频 | 人人九九 | 欧美成人在线影院 | 欧美亚洲一区二区三区 | 久久五月婷 |