当前位置: 首页 > news >正文

oracle加固经验(个人补充及完善)

author:man8_msf

最近在牛蝇们的blog里看到了oracle 加固经验一文,结合自己的经验,补充一下。

1.删除或锁定账号

alter user username lock;

drop user username cascade;

2.更改密码

alter user username identified by “password”

3.限制数据库超级管理员远程登录

1. 在spfile中设置

REMOTE_LOGIN_PASSWORDFILE=NONE

2.在sqlnet.ora中设置

SQLNET.AUTHENTICATION_SERVICES=NONE 禁用SYSDBA角色的自动登录

4.启用审计日志

1. 通过设置参数audit_trail = db或os来打开数据库审计。
2. 然后可使用Audit命令对相应的对象进行审计设置

5.设置只有信任的IP地址才能通过监听器访问数据库:
在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)

6.设置数据库连接超时 (10分钟)
在sqlnet.ora中设置下面参数:
SQLNET.EXPIRE_TIME=10

7.Oracle数据库可通过设置listener.ora文件限制客户端IP地址对数据库的访问,具体操作包括以下步骤:
tcp.validnode_checking = YES
tcp.excluded_nodes = (list of IP addresses)
tcp.invited_nodes = (list of IP addresses)
重启listener

8.失败的登录尝试
检查失败的登录尝试
SQL> select * from dba_profiles where RESOURCE_NAME = ‘FAILED_LOGIN_ATTEMPTS’;
如果LIMIT为NULL,建议修改失败的登录尝试
ALTER PROFILE “DEFAULT” LIMIT FAILED_LOGIN_ATTEMPTS 3;

9.默认情况下,口令明文传输
通过配置在网络上通过DES加密传输
在Client上将ORA_ENCRYPT_LOGIN 变量设置成TURE
在Server上将DBLINK_ENCRYPT_LOGIN 参数设置成TURE

10.限制在DBA组中的操作系统用户数量,通常DBA组中只有Oracle安装用户
通过/etc/passwd文件来检查是否有其它用户在DBA组中。

11、为数据库监听器(LISTENER)的关闭和启动设置密码
通过下面命令设置密码:
$ lsnrctl
LSNRCTL> change_password
Old password: <OldPassword> Not displayed
New password: <NewPassword> Not displayed
Reenter new password: <NewPassword> Not displayed
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=prolin1)(PORT=1521)(IP=FIRST)))
Password changed for LISTENER
The command completed successfully
LSNRCTL> save_config

12、设置只有信任的IP地址才能通过监听器访问数据库
只需在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)

13、根据业务要求制定数据库审计策略
1. 通过设置参数audit_trail = db或os来打开数据库审计。
2. 然后可使用Audit命令对相应的对象进行审计设置。

相关文章:

  • 域内计算机和用户获取
  • Access数据库注入高级玩法
  • 两个SQL语句判断数据库web是否分离
  • MYSQL注入中load_file()函数的进一步应用
  • load_file() MYSQL入侵时查看常用敏感信息文件
  • 渗透实战之安全设备踩点
  • MS SQL注入碰到关键词被过滤后的解决思路
  • MSSQL注入利用Group byhaving猜表名和字段名
  • 一份比较详细的DOS命令说明!
  • 一次利用imap漏洞的入侵
  • 学习SQL注入
  • Ubuntu配置apache
  • linux敏感文件
  • 修改Banner
  • ssh反向连接
  • [NodeJS] 关于Buffer
  • Android交互
  • CentOS 7 防火墙操作
  • const let
  • IDEA常用插件整理
  • Intervention/image 图片处理扩展包的安装和使用
  • Java 网络编程(2):UDP 的使用
  • Js基础知识(一) - 变量
  • linux安装openssl、swoole等扩展的具体步骤
  • Redis字符串类型内部编码剖析
  • SQLServer之索引简介
  • 阿里云Kubernetes容器服务上体验Knative
  • 基于Android乐音识别(2)
  • 设计模式(12)迭代器模式(讲解+应用)
  • 微服务框架lagom
  • 延迟脚本的方式
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​插件化DPI在商用WIFI中的价值
  • # include “ “ 和 # include < >两者的区别
  • ###项目技术发展史
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (02)vite环境变量配置
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (算法二)滑动窗口
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • *Django中的Ajax 纯js的书写样式1
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 使窗口永不获得焦点
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @selector(..)警告提示
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @Transactional类内部访问失效原因详解