linux

lsnrctl如何保障数据库安全

小樊
46
2026-01-07 10:31:28
栏目: 大数据

总体思路 Oracle 的监听进程 tnslsnr 是数据库对外接入的“门卫”,通过 lsnrctl 对其进行口令保护、权限收敛与运行限制,可显著降低被未授权停止、篡改或探测的风险。常见做法包括:设置监听口令并持久化、关闭本地操作系统认证、启用管理限制、限制可管理来源 IP、以及变更默认端口与最小权限运维。

关键配置与操作

典型加固流程

  1. 本地登录数据库服务器,进入 lsnrctl:set current_listener <监听名>
  2. 设置口令:change_password → set password → save_config(必要时再次 set password 再 save)
  3. 关闭本地 OS 认证:在 listener.ora 写入 LOCAL_OS_AUTHENTICATION_<监听名> = OFF 并 reload/重启
  4. 启用管理限制:在 listener.ora 写入 ADMIN_RESTRICTIONS_<监听名> = ON(变更通过手工编辑+reload 生效)
  5. 限制来源 IP:在 sqlnet.ora 开启 VALIDNODE_CHECKING,并按需配置 INVITED_NODES/EXCLUDED_NODES
  6. 变更端口与参数:修改 listener.ora 端口,SQL> alter system set local_listener=‘(address=(protocol=tcp)(host=<主机>)(port=<新端口>))’
  7. 验证:从非白名单主机尝试 lsnrctl status/stop 应被拒绝;本机执行需先 set password;查看 Security 状态与 listener.log 确认生效。

注意事项

0
看了该问题的人还看了