✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页
  • 1、删除与工作无关账号
  • 2、静态口令生存期检查
  • 3、禁止具备数据库超级管理员(SYSDBA)权限的用户远程登录
  • 4、检查更改数据库默认帐号的密码
  • 5、检查Oracle数据库会话空闲断开时间
  • 6、限制DBA组中的用户数量
  • 7、安装了最新的安全补丁
  • 8、检查配置当用户连续认证失败次数超过规定次数时,锁定该用户使用的账号
  • 9、检查数据库口令被修改后原口令可以使用的间隔时间不少于规定天数
  • 10、检查静态口令进行认证的数据库口令复杂度
  • 11、检查数据库账户口令到达终止时间后的宽限天数
  • 12、通过数据库所在操作系统或防火墙限制,只有信任的IP地址才能通过监听器访问数据库
  • 13、检查数据库登录超过有效次数后的锁定时间不小于规定天数
  • 14、检查数据库设置密码锁定时间
  • 15、静态口令不能连续重复使用
  • 16、设置监听器的关闭和启动密码
  • 17、数据交叉访问安全检查
  • 18、设置最大最小连接数

这有帮助吗?

  1. 基线检查

Oracle10g数据库基线检查策略

1、删除与工作无关账号

参考配置
应删除或锁定与设备运行、维护等工作无关的账号。(默认检查SYS,SYSTEM)
(1)锁定账号,以管理员登录数据库,执行下述命令:
     SQL>alter user username  account lock;
     SQL>drop user username cascade;
补充说明
  需要锁定的账号:CTXSYS、DBSNMP、LBACSYS、MDDATA、MDSYS、DMSYS、OLAPSYS、ORDPLUGINS、ORDSYS、OUTLN、SI_INFORMTN_SCHEMA、SYSMAN

2、静态口令生存期检查

参考配置 

基线描述

对于采用静态口令认证技术的设备,帐户口令的生存期不长于设定天数(默认90天)。

(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.

(2)根据查找到的用户对应的profile名称,修改此profile的PASSWORD_GRACE_TIME值为90,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit PASSWORD_GRACE_TIME 90;
    SQL>commit;

3、禁止具备数据库超级管理员(SYSDBA)权限的用户远程登录

1、参考配置
(1)限制具备数据库超级管理员(SYSDBA)权限的用户远程登录,使用sysdba用户登录数据库,执行如下命令:
     SQL> alter system set remote_login_passwordfile=none scope=spfile;
     SQL> shutdown immediate;
     SQL> startup;
2、补充操作说明
(1)系统参数remote_login_passwordfile说明:
    a.不使用密码文件登录;不允许远程用户用sys登录系统;可以在线修改sys的密码;
        remote_login_passwordfile=none
    b.只允许一个数据库使用该密码文件;允许远程登录;允许非sys用户以sysdba身份管理数据库;可以在线修改sys的密码;
        remote_login_passwordfile=exclusive
    c.允许远程登录;只能用sys进行sysdba管理;可以在线修改sys的密码;
        remote_login_passwordfile=shared

4、检查更改数据库默认帐号的密码

1、参考配置操作
(1) 可通过下面命令来更改默认用户的密码:
ALTER USER username IDENTIFIED BY password;
(2) 下面是默认用户列表:
ANONYMOUS
CTXSYS
DBSNMP
DIP
DMSYS
EXFSYS
HR
LBACSYS
MDDATA
MDSYS
MGMT_VIEW
ODM
ODM_MTR
OE
OLAPSYS
ORDPLUGINS
ORDSYS
OUTLN
PM
QS
QS_ADM
QS_CB
QS_CBADM
QS_CS
QS_ES
QS_OS
QS_WS
RMAN
SCOTT
SH
SI_INFORMTN_SCHEMA
SYS
SYSMAN
SYSTEM
TSMSYS
WK_TEST
WKPROXY
WKSYS
WMSYS
XDB

5、检查Oracle数据库会话空闲断开时间

1、参考配置
(1)在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:
    SQLNET.EXPIRE_TIME=15
默认时间单位为分钟

注:数据库应自动断开超过%s[]分钟的空闲远程连接,当前系统设置超时时间为%c[sqlnet_expire_time_rally]分钟。(0:表示当前系统未设置超时时间)

6、限制DBA组中的用户数量

参考配置
(1)通过/etc/group文件来检查是否有其它用户在DBA组中
(2)把username从dba组中删除
    #gpasswd -t username dba        #将用户从DBA组中删除
(3)变更组用户
    #usermod –G group username        #将用户username分配到group组中
    
 注:限制在DBA组中的操作系统用户数量,通常DBA组中只有Oracle安装用户。

7、安装了最新的安全补丁

参考配置
(1)以管理员登录数据库,执行下述命令查看版本号:
     select * from v$version;
(2)请联系厂家购买或申请最新oracle补丁。

注:在保证业务及网络安全的前提下,经过兼容性测试后

8、检查配置当用户连续认证失败次数超过规定次数时,锁定该用户使用的账号

参考配置 
(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.

(2)根据查找到的用户对应的profile名称,修改此profile的FAILED_LOGIN_ATTEMPTS值为5,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 5;
    SQL>commit;
FAILED_LOGIN_ATTEMPTS的值需配置不大于基线配置值

9、检查数据库口令被修改后原口令可以使用的间隔时间不少于规定天数

参考配置 
(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.

(2)根据查找到的用户对应的profile名称,修改此profile的PASSWORD_REUSE_TIME值为180,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit PASSWORD_REUSE_TIME 180;
    SQL>commit;
PASSWORD_REUSE_TIME的值需配置不小于基线配置值

10、检查静态口令进行认证的数据库口令复杂度

1、 参考配置操作
(1)修改用户对应profile的密码复杂度函数,请将"PROFILE_NAME"修改为实际用户所使用的profile
   SQL>ALTER PROFILE PROFILE_NAME LIMIT
       PASSWORD_VERIFY_FUNCTION verify_function;
2、 补充操作说明
(1)如上述解决方案执行出现如下报错信息
     ORA-07443: function VERIFY_FUNCTION not found
 请参考$ORACLE_HOME/rdbms/admin/utlpwdmg.sql内容,创建VERIFY_FUNCTION函数,注意修改限制密码长度,例如修改部分内容
   -- Check for the minimum length of the password
      IF length(password) < 4 THEN
         raise_application_error(-20002, 'Password length less than 4');
      END IF;
 请将这2处数字4改为8,即限制密码长度必须为8位以上,或改为符合要求的密码长度。
(2)可根据实际情况为用户建profile,调整PASSWORD_VERIFY_FUNCTION,指定密码复杂度
   SQL>CREATE PROFILE "TEST_PROFILE"
       LIMIT PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;
   SQL>ALTER USER "USER_NAME"  PROFILE "TEST_PROFILE";
(3)“TEST_PROFILE”请改为实际的profile值,“USER_NAME”请改为实际username

11、检查数据库账户口令到达终止时间后的宽限天数

参考配置 
(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.

(2)根据查找到的用户对应的profile名称,修改此profile的PASSWORD_GRACE_TIME值为7,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit PASSWORD_GRACE_TIME 7;
    SQL>commit;
PASSWORD_GRACE_TIME的值需配置不小大于基线配置值,且不可为0

12、通过数据库所在操作系统或防火墙限制,只有信任的IP地址才能通过监听器访问数据库

1、参考配置
(1)在服务器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中设置以下行:
    tcp.validnode_checking = yes
    tcp.invited_nodes = (ip1,ip2…)
请将ip1,ip2改为实际的信任IP地址

13、检查数据库登录超过有效次数后的锁定时间不小于规定天数

参考配置 
(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.

(2)根据查找到的用户对应的profile名称,修改此profile的PASSWORD_LOCK_TIME值为1,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit PASSWORD_LOCK_TIME 1;
    SQL>commit;
PASSWORD_LOCK_TIME的值需配置不小于基线配置值

14、检查数据库设置密码锁定时间

参考配置 
(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.

(2)根据查找到的用户对应的profile名称,修改此profile的PASSWORD_LOCK_TIME值为3,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit PASSWORD_LOCK_TIME 3;
    SQL>commit;
PASSWORD_LOCK_TIME的值表示锁定天数

15、静态口令不能连续重复使用

参考配置 
(1)查找用户对应profile名称,执行如下命令查询:
   SQL> select username,profile from dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
OLAPSYS                        DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
ORDPLUGINS                     DEFAULT
TSMSYS                         DEFAULT
XDB                            DEFAULT
WMSYS                          DEFAULT
SCOTT                          DEFAULT
DMSYS                          DEFAULT
DIP                            DEFAULT
OUTLN                          DEFAULT
EXFSYS                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
ANONYMOUS                      DEFAULT
CTXSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
MDDATA                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
MGMT_VIEW                      DEFAULT
SYSMAN                         DEFAULT

USERNAME                       PROFILE
------------------------------ ------------------------------
DBSNMP                         MONITORING_PROFILE
AUDITUSER                      DEFAULT

22 rows selected.


(2)根据查找到的用户对应的profile名称,修改此profile的PASSWORD_REUSE_MAX值为5,默认为“DEFAULT”(根据具体情况可能为其他名称)。以默认profile为例执行如下修改:
    SQL>alter profile DEFAULT limit PASSWORD_REUSE_MAX 5;
    SQL>commit;
    

16、设置监听器的关闭和启动密码

参考配置
描述
为数据库监听器(LISTENER)的关闭和启动设置密码。

(1)通过下面命令设置密码:
    $lsnrctl
    LSNRCTL> change_password    #默认密码为空
    LSNRCTL> save_config

17、数据交叉访问安全检查

参考配置
描述
使用Oracle提供的虚拟私有数据库(VPD)和标签安全(OLS)来保护不同用户之间的数据交叉访问。

(1)在表上构建 VPD可以使用Oracle所提供的PL/SQL包DBMS_RLS控制整个VPD基础架构,具体设置方法较复杂,建议参考Oracle文档进行配置。
(2)Oracle标签安全(OLS)是在相关表上通过添加一个标签列来实现复杂的数据安全控制,具体细节请参考Oracle文档。

18、设置最大最小连接数

参考配置
(1)以管理员登录数据库,执行下列命令修改:
修改连接数,如修改到2000
    alter system set processes=2000 scope=spfile;
重启数据库,启用参数
    shutdown immediate;
    startup;
上一页MySQL数据库基线检查策略下一页Sybase数据库基线检查策略

最后更新于3年前

这有帮助吗?