某天深夜,运维工程师小王收到安全告警:有人正在尝试暴力破解公司的Oracle数据库监听端口,攻击者通过反复猜测监听器配置,试图获取控制权,幸好,小王之前按照安全规范设置了监听口令(Listener Password),并启用了IP限制,最终拦截了这次入侵。
这个故事告诉我们:Oracle监听器(Listener)是数据库的第一道防线,如果没做好防护,攻击者可能直接接管你的数据库,今天我们就来聊聊如何加固Oracle监听器,避免成为下一个受害者。
Oracle监听器(Listener)负责管理客户端与数据库实例的连接,如果不加防护,攻击者可能利用监听器进行以下操作:
监听器的默认配置是“裸奔”状态,必须手动加固。
没有口令的监听器就像没上锁的大门,任何人都能操作,以下是设置步骤:
lsnrctl LSNRCTL> set password Password: 输入你的管理密码(建议复杂密码,如`DB_Listener#2025!`) LSNRCTL> save_config # 保存配置
lsnrctl status # 如果提示“TNS-01169: The listener has not recognized the password”,说明口令已启用。
注意:
默认情况下,任何能访问监听器端口的人都能管理它,通过修改listener.ora
文件,限制只有特定IP或操作系统用户才能操作:
# 在listener.ora中添加以下内容 ADMIN_RESTRICTIONS_LISTENER = ON VALID_NODE_CHECKING_REGISTRATION_LISTENER = ON
监听器不需要的功能,统统关掉!
ALTER SYSTEM SET dispatchers='(PROTOCOL=TCP)(SERVICE=<你的服务名>)' SCOPE=BOTH;
# 在listener.ora中设置 REMOTE_REGISTRATION_ADDRESS = NONE
记录所有监听器操作,便于事后追溯:
# 在listener.ora中配置 LOGGING_LISTENER = ON LOG_DIRECTORY = /u01/app/oracle/network/log LOG_FILE = listener.log
定期检查日志,关注异常连接尝试(如频繁的STATUS
命令)。
listener.ora
中添加: SECURE_REGISTER_LISTENER = ON
运行以下命令快速检测风险:
lsnrctl status # 检查是否启用了密码和ADMIN_RESTRICTIONS
如果输出中看到Security ON
和Remote OS Authentication OFF
,说明基础防护已到位。
Oracle监听器安全不是“设置一次就完事”的工作,需要定期检查和更新。一个弱口令或配置疏忽,可能让整个数据库暴露在攻击者面前,按照本文的方法加固你的监听器,别让黑客有机可乘!
(本文基于2025年7月Oracle官方文档及安全实践整理)
本文由 兆韵宁 于2025-07-29发表在【云服务器提供商】,文中图片由(兆韵宁)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/472468.html
发表评论