在sqlnet.ora文件中添加配置
SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER = RC4_256
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED
远端ip抓取的情况
①在sqlnet.ora添加(注意更改sqlnet.ora后要执行lsnrctl reload,还需要【重新打开plsql】!!!重新点击捕获数据后再查询数据)
SQLNET.ENCRYPTION_SERVER = REQUIRED --是否加密(数据保密性)
SQLNET.ENCRYPTION_TYPES_SERVER = RC4_256 --加密算法SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED --是否校验和(数据完整性)
②打开wireshark,打开plsql后,点击wireshark开始捕获,查询任意sql观察数据
③捕获数据比较多,需要通过放大镜查询,字符串,过滤sql中字符
对比数据,没有保密前数据可以通过字符串查询到,加保密配置后,无法通过字符串查询到,分组详情变成unkown
添加保密配置前
添加保密配置后
本地ip抓取
!!!wireshark捕获不到本地访问本地数据库的包,需要用rawcap
rawcap下载路径:https://www.netresec.com/?page=RawCap
①cmd打开RowCap.exe所在路径
②执行RawCap.exe 192.168.6.125 localhost_capture.pcap(192.168.6.125是本地ip)
③回车开启抓包,抓包完成后,打开捕获结果文件localhost_capture.pcap(wireshark可以查看数据)
④wireshark打开后,查询选择-分组字节流,字符串,点击查询,得到没加密结果
⑤配置sqlnet.ora添加保密性和完整性配置后,再重复执行①-⑤步骤
数据库完整性:
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED --是否校验和(数据完整性)
一起数据附加一个校验值,如果接收的数据通过哈希计算得出来的校验值与之匹配,则说明数据完整未被篡改