- listener.ora设置特定的网络地址:0.0.0.0,127.0.0.1(localhost),nic_ip1, nic_ip2 ...
- listener.ora设置特定的网络端口:肯定不是1521了
- sqlnet.ora设置基本的黑白名单检查:tcp.validnode_checking=yes, tcp.invited_nodes=(ip-1,ip-2...)
- database trigger 进一步检查ip、hostname、programe、user、datetime ...
- 使用虚拟网卡设备
- os防火墙:iptables、firewalld
- 网管防火墙设备设置
- 只开放localhost,然后进行ip-forward
- ssl加密:wallet、stunnel
- ......
但,这不算完,你可以组合以上各种安全设置。
我的一个实现:
1.windows 添加一个microsoft loopback nic 网卡,并设置ip为:192.192.192.1/255.255.255.0
2.oracle listener.ora 只监听:192.192.192.1 ,端口 61521
3.oracle sqlnet.ora白名单,仅仅允许: 192.192.192.1
4.(主服务器) stunnel 创建server密令,并创建server服务:connect=192.192.192.1:61521 accept=192.168.116.1:1522
5 (另一台电脑)stunnel 创建client服务,对应服务器的server密令:connect=192.168.116.1:1522 accept=127.0.0.1:1523
并,又:创建client密令,并创建server服务:connect=127.0.0.1:1523 accept=10.10.10.10:1524
6 (回到主服务器)stunnel 创建client服务,对应另一台电脑的client密令:connect=10.10.10.10:1524 accept=127.0.0.1:1521
捣骚吧!!