Oracle TNS Poison Vulnerability

http://www.oracle.com/technetwork/topics/security/alert-cve-2012-1675-1608180.html

 

I think that’s a known security issue as thus [alert-cve-2012-1675-1608180Oracle Security Alert for CVE-2012-1675]

 

Affected Products and Versions
·         Oracle Database 11g Release 2, versions 11.2.0.2, 11.2.0.3
·         Oracle Database 11g Release 1, version 11.1.0.7
·         Oracle Database 10g Release 2, versions 10.2.0.3, 10.2.0.4, 10.2.0.5
 
 
Solution
 
Recommendations for protecting against this vulnerability can be found at:
·         My Oracle Support Note 1340831.1 for Oracle Database deployments that use Oracle Real Application Clusters (RAC).
·         My Oracle Support Note 1453883.1 for Oracle Database deployments that do not use RAC.
Please note that Oracle has added Oracle Advanced Security SSL/TLS to the Oracle Database Standard Edition license when used with the Real Application Clusters and Oracle has added Oracle Advanced Security SSL/TLS to the Enterprise Edition Real Application Clusters (Oracle RAC) and RAC One Node options so that the directions provided in the Support Notes referenced above can be applied by all Oracle customers without additional cost.
Note: Please refer to the Oracle licensing documentation available on Oracle.com regarding licensing changes that allow Oracle Advanced Security SSL/TLS to be used with Oracle SE Oracle Real Application Clusters and Oracle Enterprise Edition Real Application Customers (Oracle RAC) and Oracle RAC OneNode Options.
Due to the threat posed by a successful attack, Oracle strongly recommends that customers apply this Security Alert solution as soon as possible.

 
Better than using workarounds is to patch the vulnerability[CVE-2012-1675]. 
However, you could do as thus if you were concerned to restart oracle:
 
 
 
Possible workarounds
--------------------
 
There are many possible workarounds. The easier one is to set the
following parameter in the listener.ora configuration file:
dynamic_registration = off.
 
But, sometimes, you don't want to apply this workaround. In example, if
you have an Oracle RAC cluster, all the cluster's instances must be
registered in both TNS Listeners so, this workaround is not suitable for
Oracle RAC clusters. To apply this workaround with Oracle RAC
environments one needs to implement load balancing at the client side,
changing all the client's tnsnames.ora configuration file to add the
complete list of Oracle RAC nodes.
 
However, there is another possible workaround that, sometimes, is
suitable for Oracle RAC environments. Edit the file protocol.ora or, for
older versions, sqlnet.ora, at the server side and add the following
directives:
 
  TCP.VALIDNODE_CHECKING = YES
  TCP.INVITED_NODE = (Comma,separated,list,of,ALL,valid,clients, ...)
 
But, anyway, this workaround doesn't prevent valid clients from being
used as proxies. Valid clients can still exploit the vulnerability
regardless the VALIDNODE_CHECKING directive added as the client is a
valid node.
 
Then again, there is one more suitable workaround: If customer bought
(and enabled) Oracle Advanced Security feature clients can be configured
to use SSL/TLS. Thus, at both client and server side, the following
parameters must be changed in protocol.ora or sqlnet.ora:
 
  Client side: SQLNET.ENCRYPTION_CLIENT=REQUIRED
  Server side: SQLNET.ENCRYPTION_SERVER=REQUIRED
 
The value of these configuration directives must be REQUIRED and not
REQUESTED, as is pretty common, otherwise the attacker can answer to the
connection attempt answering that no SSL cipher is supported at the
server side (as the attacker's controlled box is for the client the
trusted database's server) and the client will reconnect without using
SSL.

 

Here is more information about it…

http://seclists.org/fulldisclosure/2012/Apr/204

 

 

 

Then I did a easy way...

 

suneng23:/export/home/sfuser>lsnrctl
 
LSNRCTL for Solaris: Version 11.2.0.3.0 - Production on 28-FEB-2014 02:05:56

 

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

 

Welcome to LSNRCTL, type "help" for information.

 

LSNRCTL> set dynamic_registration off

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

LISTENER parameter "dynamic_registration" set to OFF

The command completed successfully

LSNRCTL>  set save_config_on_stop on

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

LISTENER parameter "save_config_on_stop" set to ON

The command completed successfully

LSNRCTL> exit

 

 

你可能感兴趣的:(oracle)