Oracle护卫侦查侦听端口号(oracle 侦听端口)

Oracle护卫侦查侦听端口号

Oracle是世界上应用最广泛的关系型数据库之一,因而备受黑客们瞩目。Oracle数据库的安全性是构建Oracle应用的首要考虑因素之一。在Oracle的安全措施中,防范端口扫描和端口侦听攻击是至关重要的。端口扫描是黑客的入侵前期行为,而端口侦听是黑客成功入侵后的行为。本文将介绍如何利用Oracle的护卫(DBSNMP)侦查和侦听的端口号。

1.侦查端口号

Oracle护卫(DBSNMP)默认使用全局数据库名称和默认端口1521。为了确保Oracle数据库安全,应更改此默认设置。生成端口号后,应更改Oracle马达管理框架配置,以便使用生成的端口。

如果要侦查Oracle端口,请按照以下步骤进行操作:

1)使用Oracle的lsnrctl工具扫描运行的Oracle监听进程,并确定Oracle监听的端口号。

2)使用Oracle的netstat工具扫描当前运行的TCP端口,并确定Oracle的TCP端口号。

3)比较步骤1和步骤2,以确定Oracle监听的端口和实现数据库通信的端口。记录这些端口号。

4)使用Oracle工具更改Oracle马达管理框架配置,并重新启动Oracle服务。

下面是使用lsnrctl确定Oracle监听端口和使用netstat确定Oracle TCP端口的示例代码:

(1)使用lsnrctl工具扫描运行的Oracle监听进程,并确定Oracle监听的端口号:

[oracle@localhost Desktop]$ lsnrctl status

LSNRCTL for Linux: Version 10.1.0.2.0 – Production on 04-JUL-2007 17:23

Copyright (c) 1991, 2004, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

STATUS of the LISTENER

————————

Alias LISTENER

Version TNSLSNR for Linux: Version 10.1.0.2.0 – Production

Start Date 04-JUL-2007 17:20:55

Uptime 0 days 0 hr. 2 min. 50 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Default Service XE

Listener Parameter File /home/oracle/product/10.1.0/db_1/network/admin/listener.ora

Listener Log File /home/oracle/product/10.1.0/db_1/network/log/listener.log

Listening Endpoints Summary…

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomn)(PORT=1521)))

The listener supports no services

The command completed successfully

由上述输出可以看出,Oracle监听使用了协议为TCP的1521端口。

(2)使用netstat工具扫描当前运行的TCP端口,并确定Oracle的TCP端口号:

[oracle@localhost Desktop]$ netstat -an | grep 1521

tcp 0 0 127.0.0.1:1521 0.0.0.0:* LISTEN

由上述输出可以看出,Oracle的TCP端口是1521。

(3)比较步骤1和步骤2,以确定Oracle监听的端口和实现数据库通信的端口。记录这些端口号。

由步骤1和步骤2的结果可以看出,Oracle的监听端口和数据库通信端口都是1521。

(4)使用Oracle工具更改Oracle马达管理框架配置,并重新启动Oracle服务:

[oracle@localhost Desktop]$ lsnrctl stop

[oracle@localhost Desktop]$ lsnrctl start

[oracle@localhost Desktop]$ dbstart

2.侦听端口号

当黑客不再扫描端口并成功地入侵系统时,他们可以使用端口侦听攻击。黑客可以在数据库中创建非授权身份,并在其中存储窃取的信息。另外,他们还可以监听数据库的传输,以便获取敏感信息。滥用Oracle容易导致黑客听取数据库中的通信,但是Oracle提供了多个防御机制。

为了提高Oracle数据库的安全性,需要更换端口,并启用两个或多个监听器。在此过程中,应该确保监听器的端口不同,同时还要确保侦听器使用的协议(TCP或IPC)和服务名称都是唯一的。

下面是更换Oracle端口和启用多个监听器的示例代码:

1)更改Oracle马达管理框架配置。最好在oracle用户的.bashrc文件中设置环境变量,以便在启动Oracle时使用这些设置。

#设置Oracle监听器的命名

export ORACLE_HOSTNAME=localhost.localdomn

export ORACLE_UNQNAME=DB11G

#设置Oracle SELinux安全策略

if [ -x /usr/sbin/sestatus ]; then

if `/usr/sbin/sestatus | grep “SELinux status: enabled” >/dev/null 2>&1` ; then

echo “SELinux status: Enabled”

SELINUX=enforcing

export SELINUX

echo $SELINUX

else

echo “SELinux status: Disabled”

SELINUX=disabled

export SELINUX

echo $SELINUX

fi

else

SELINUX=disabled

export SELINUX

echo $SELINUX

fi

#设置Oracle Listener监听的端口

export ORACLE_LISTENER_PORT=1522

#设置另一个Oracle Listener监听的端口

export ORACLE_LISTENER2_PORT=1523

2)使用Oracle的netmgr工具创建两个监听器。

3)使用Oracle的netmgr工具更改Oracle马达管理框架配置,以启用两个监听器:

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=DB11G_DGMGRL)

(SID_NAME=DB11G)

(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)

)

)

LISTENER=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomn)

(PORT=1522))

(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomn)

(PORT=1523))

)

(CONNECT_DATA=

(SERVICE_NAME=DB11G_DGMGRL)

(FLOVER_MODE=

(TYPE=SELECT)

(METHOD=BASIC)

(RETRIES=180)

(DELAY=5)

)

(UR=A)

)

)

4)更改Oracle TNS配置,以便使用新的监听器。

5)重新启动Oracle服务以应用新的监听器和配置。

结论

在Oracle数据库中,保护端口是防止黑客侦听和侵入的一个重要步骤。本文介绍了如何侦查和侦听Oracle数据库的端口。我们强烈建议使用Oracle的护卫(DBSNMP)来保护数据库端口。至少应该随时更换默认的Oracle端口,启用多个监听器,并严格限制Oracle监听进程的访问权限。为了确保Oracle数据库的安全,请持续更新并执行相应的安全政策和程序。


数据运维技术 » Oracle护卫侦查侦听端口号(oracle 侦听端口)