一、背景:
在合肥等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,合肥網(wǎng)站建設(shè)費(fèi)用合理。
2020年伊始,我們的工作中多了一個(gè)詞"護(hù)網(wǎng)行動(dòng)",之前聞所未聞;這是一個(gè)從國(guó)家層面提出的安全概念,目的是為了保障信息安全。各個(gè)組織機(jī)構(gòu)會(huì)定期組織安防演練。咱們數(shù)據(jù)庫層面為了應(yīng)對(duì)這次安防演練也提出了自己的思想,數(shù)據(jù)庫白名單策略限制非法設(shè)備對(duì)數(shù)據(jù)庫進(jìn)行訪問。這是這次配置監(jiān)聽白名單的整個(gè)背景。
二、技術(shù)策略:
編輯sqlnet.ora文件
#開啟ip限制功能
1 |
tcp.validnode_checking=
yes |
#允許訪問數(shù)據(jù)庫的IP地址列表,多個(gè)IP地址使用逗號(hào)分開
1 |
tcp.invited_nodes=(192.168.1.5,192.168.1.6,10.10.10.2) |
#禁止訪問數(shù)據(jù)庫的IP地址列表,多個(gè)IP地址使用逗號(hào)分開
1 |
tcp.excluded_nodes=(192.168.1.1,10.10.10.1) |
注:
1、需要重啟監(jiān)聽器生效。
2、這個(gè)方式只是適合TCP協(xié)議,適用于9i以上版本。在9i之前的版本使用文件protocol.ora。
3、第二行和第三行任寫一行即可,如果tcp.invited_nodes與tcp.excluded_nodes都存在,以tcp.invited_nodes為主。
4、不要禁止服務(wù)器本機(jī)的IP地址,否則通過lsnrctl將不能啟動(dòng)或停止監(jiān)聽,因?yàn)樵撨^程監(jiān)聽程序會(huì)通過本機(jī)的IP訪問監(jiān)聽器。
三、操作步驟
3.1 從監(jiān)聽日志中獲取層級(jí)訪問的設(shè)備地址:
1 2 3 4 5 6 7 |
grep
HOST listener.log |
awk
-F
'HOST='
'{print $3}'
|
awk
'{print $1}'
|
awk
-F
')'
'{print $1}'
|
grep
-
v
jdbc|
sort
|
uniq
|
wc
-l &&
grep
HOST listener.log |
awk
-F
'HOST='
'{print $3}'
|
awk
'{print $1}'
|
awk
-F
')'
'{print $1}'
|
grep
-
v
jdbc|
sort
|
uniq 5 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.71 |
3.2 地址格式化
1 2 |
tr
-s
"\n"
","
192.168.1.1,192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.71 |
3.3 編輯sqlnet.ora
1 2 3 |
[oracle@TestDB
/u01/app/oracle/product/11
.2.0
/db_1/network/admin
]$
cat
sqlnet.ora tcp.validnode_checking=
yes tcp.invited_nodes=(192.168.1.1,192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.71) |
3.4 關(guān)閉監(jiān)聽
1 2 3 4 5 |
[oracle@TestDB
/u01/app/oracle/product/11
.2.0
/db_1/network/admin
]$lsnrctl stop LSNRCTL
for
Linux: Version 11.2.0.4.0 - Production on 28-JUL-2020 19:30:20 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TestDB)(PORT=1521))) The
command
completed successfully |
3.5 重新啟動(dòng)監(jiān)聽
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[oracle@TestDB
/u01/app/oracle/product/11
.2.0
/db_1/network/admin
]$lsnrctl start LSNRCTL
for
Linux: Version 11.2.0.4.0 - Production on 28-JUL-2020 19:30:25 Copyright (c) 1991, 2013, Oracle. All rights reserved. Starting
/u01/app/oracle/product/11
.2.0
/db_1/bin/tnslsnr
: please wait... TNSLSNR
for
Linux: Version 11.2.0.4.0 - Production System parameter
file
is
/u01/app/oracle/product/11
.2.0
/db_1/network/admin/listener
.ora Log messages written to
/u01/app/oracle/diag/tnslsnr/TestDB/listener/alert/log
.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TestDB)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TestDB)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR
for
Linux: Version 11.2.0.4.0 - Production Start Date 28-JUL-2020 19:30:25 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File
/u01/app/oracle/product/11
.2.0
/db_1/network/admin/listener
.ora Listener Log File
/u01/app/oracle/diag/tnslsnr/TestDB/listener/alert/log
.xml Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TestDB)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The
command
completed successfully |
3.6 手工注冊(cè)監(jiān)聽
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[oracle@TestDB
/u01/app/oracle/product/11
.2.0
/db_1/network/admin
]$sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 28 19:30:29 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> alter system register; System altered. SQL> !lsnrctl status LSNRCTL
for
Linux: Version 11.2.0.4.0 - Production on 28-JUL-2020 19:30:36 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TestDB)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR
for
Linux: Version 11.2.0.4.0 - Production Start Date 28-JUL-2020 19:30:25 Uptime 0 days 0 hr. 0 min. 11 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File
/u01/app/oracle/product/11
.2.0
/db_1/network/admin/listener
.ora Listener Log File
/u01/app/oracle/diag/tnslsnr/TestDB/listener/alert/log
.xml Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TestDB)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service
"ORCL"
has 1 instance(s).
Instance
"ORCL1"
, status READY, has 1 handler(s)
for
this service... Service
"ORCL1XDB"
has 1 instance(s). The
command
completed successfully |
原文鏈接:http://blog.itpub.net/20674423/viewspace-2707617/