oracle 加密连接

Database Advanced Security

(原创部分,只要在客户端两个项目都是required,服务器端不用管sqlnet.ora,就可以自动生效了,而且如果看效果的话,直接select * from v$session_connect_info试图里就有,11g比10g的字段多一些,“Oracle Advanced Security: DES encryption service adapter”只要有你设置的加密算法就行了,数据一致性校验同理而已。


Oracle 高级安全分为两部分: 

1.网络传输加密(包括ssl

2.完整性校验

一.网络传输加密:

网络传输加密即将客户端也server段之间传输的数据进行加密:

Oracle提供了很多加密方法来实现这一功能,

完整性校验也同样依赖这些加密算法来实现 

 实施:

 1.首先看一下,你当前的数据库是否安装了oralce 高级安全组件,oracle是否帮你安装了相应的加密算法。

 1,1先看组件:

[oracle@vm10g logs]$ adapters 

 

Installed Oracle Net transport protocols are:

 

    IPC

    BEQ

    TCP/IP

    SSL

    RAW

    SDP/IB

 

Installed Oracle Net naming methods are:

 

    Local Naming (tnsnames.ora)

    Oracle Directory Naming

    Oracle Host Naming

   Error!!!   Oracle Names Server Naming is not completely installed!

 

Installed Oracle Advanced Security options are:

 

    RC4 40-bit encryption

    RC4 56-bit encryption

    RC4 128-bit encryption

    RC4 256-bit encryption

    DES40 40-bit encryption

    DES 56-bit encryption

    3DES 112-bit encryption

    3DES 168-bit encryption

    AES 128-bit encryption

    AES 192-bit encryption

    AES 256-bit encryption

    MD5 crypto-checksumming

    SHA-1 crypto-checksumming

    Kerberos v5 authentication

    RADIUS authentication

Windows 下只能通过uninstall 时 有个组件列表里面能看见

2.网络传输安全加密的方式:

   网络传输加密需要在客户端可服务端两面分别配置,如应用也要加密则需要改程序。

   高级网络安全的配置文件就是本机的sqlnet.ora文件。

关于网络传输加密的配置条目大约有3

SQLNET.ENCRYPTION_SERVER [accepted rejected requested required]

                              默认值:accepted

SQLNET.CRYPTO_SEED 'qweqwe123123' 

                              长度10-70字母和数字(9i中必填10g中可填可不填)

SQLNET.ENCRYPTION_TYPES_SERVER= (RC4_128)加密算法

                              默认值是all available algorithms

 下面是设置对照表,off表示加密失效,on加密开启,conn fails 设置失败。

 另外如果两端的配置文件中SQLNET.ENCRYPTION_TYPES_SERVER所选的加密算法   不一样也会连接失败。但是一段有加密算法一端没有也没事。

 

Client Setting

Server Setting

Encryption and Data Negotiation

REJECTED

REJECTED

OFF

ACCEPTED

REJECTED

OFF

REQUESTED

REJECTED

OFF

REQUIRED

REJECTED

Connection fails

REJECTED

ACCEPTED

OFF

ACCEPTED

ACCEPTED

OF不配置的情况下默认就是这种

REQUESTED

ACCEPTED

ON

REQUIRED

ACCEPTED

ON

REJECTED

REQUESTED

OFF

ACCEPTED

REQUESTED

ON

REQUESTED

REQUESTED

ON

REQUIRED

REQUESTED

ON

REJECTED

REQUIRED

Connection fails

ACCEPTED

REQUIRED

ON

REQUESTED

REQUIRED

ON

REQUIRED

REQUIRED

ON

 

netmgrprofile中的oracle advantage security中也可以设置。

但是在使用之前必须在

 /u01/app/oracle/10.2.0/db_1/network/tools/NetProperties 中的  

INSTALLEDCOMPONENTS=后面的参数改成下面这种才会显示高级安全选项来。

INSTALLEDCOMPONENTS=CLIENT,NET8,JAVAVM,SERVER,ANO

 

3.如可查看是否生效

开启trace 一定记得用完关掉。

trace_level_server=16---#必填

trace_level_client=16---#client

trace_directory_server=/home/oracle/server---#sever

trace_directory_client=/home/oracle/clinet ----#client

trace_file_client=cli    ----#client

trace_file_server=srv   --#sever

trace_unique_client=true   ----#client

客户端连接后就会在相应的目录下产生效应的trace在里面搜一下就能看到

 -----------------------------------------生效

 

[10-JUL-2012 10:13:44:217] naeshow: entry

[10-JUL-2012 10:13:44:217] naeshow: These are the encryption algorithms that the client will accept:

[10-JUL-2012 10:13:44:217] naeshow: Choice 0: 'RC4_40' (ID 1)

[10-JUL-2012 10:13:44:249] na_tns:      encryption is active, using RC4_40

 

srv.trc -------------------------------没生效 

[10-JUL-2012 10:02:44:644] nam_gnsp: Reading parameter "SQLNET.ENCRYPTION_SERVER" from parameter file

[10-JUL-2012 10:02:44:645] nam_gnsp: Found value "accepted"

[10-JUL-2012 10:02:44:645] nam_gic: entry

[10-JUL-2012 10:02:44:645] nam_gic: Counting of items in "SQLNET.ENCRYPTION_TYPES_SERVER" parameter

[10-JUL-2012 10:02:44:645] nam_gic: Parameter not found

[10-JUL-2012 10:02:44:645] nam_gic: exit

[10-JUL-2012 10:02:44:645] naesno: Using default value "all available algorithms"

[10-JUL-2012 10:02:44:645] naeshow: entry

[10-JUL-2012 10:02:44:645] naeshow: These are the encryption algorithms that the server will accept, in decreasing order of preference:

[10-JUL-2012 10:02:44:645] naeshow: Choice 0: no algorithm; encryption inactive

远程连接credssp加密Oracle是一种安全的通信方式。Credential Security Support Provider (CredSSP) 是Microsoft Windows环境下一种支持身份验证的协议,用于远程访问和连接,可提供加密传输和安全连接。 要远程连接credssp加密Oracle,首先需要确保以下几点: 1. 确认Oracle数据库已配置为支持加密连接。这可以通过检查数据库参数设置来完成。 2. 确保使用的客户端和服务器操作系统具有credssp协议的支持。Windows Vista及更高版本的操作系统都默认支持credssp。 配置远程连接credssp加密Oracle的步骤如下: 1. 在Oracle数据库服务器上,确保监听器使用的是安全协议(如TCPS)而不是明文协议(如TCP)来接受远程连接请求。 2. 在Oracle数据库服务器上,配置监听器以使用SSL身份验证加密。这需要生成和配置受信任的数字证书。 3. 在客户端操作系统上,确保credssp协议已启用。可以通过在注册表中设置以下键值来启用credssp: - 位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters - 键名:AllowEncryptionOracle - 键值:2 4. 在客户端上,使用Oracle客户端工具(如SQL*Plus或SQL Developer)建立加密连接到远程Oracle数据库。连接字符串应使用TCPS协议和正确的主机名、端口和服务名。 通过以上步骤,即可实现远程连接credssp加密Oracle。这样的连接可以确保数据在传输过程中得到加密保护,从而提高数据安全性和保密性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值