zoukankan      html  css  js  c++  java
  • 记录一次数据库监控软件的用户账号经常被锁定

    监控告警账号密码被锁定

    对账号进行解锁后,间隔一段时间账号又被锁定了,最后分析的结论是监控软件记录了RAC2节点的账号密码,不一致导致的。

    1.对账号进行解锁

    SQL>select username,account_status,expiry_date,lock_date from dba_users where account_status!='OPEN';

    SQL>ALTER USER XX ACCOUNT UNLOCK;

    2.发现账户经常被锁定,对监控用户所在的Profile登录错误密码次数进行调整

    SQL>select username,account_status,profile from dba_users where username='xx';

    SQL>SELECT resource_name,limit from dba_profile where profile='DEFAULT';

     PASSWORD_LIFE_TIME密码过期时间是unlimited ,PASSWORD_LOCK_TIME但是密码登录10次则账号被锁定!

    由于账户经常被锁定,因此调整账号密码登录失败错误的次数无限制!

    SQL> alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
    其它
    -- PASSWORD_LIFE_TIME 180          密码有效保留时间
    -- PASSWORD_GRACE_TIME 10         口令过期后继续有效时间
    -- PASSWORD_REUSE_TIME 1800       原口令修改后,再次允许使用的时间
    -- PASSWORD_REUSE_MAX UNLIMITED   口令可以重新使用之前必须修改的次数
    -- FAILED_LOGIN_ATTEMPTS 10        登录失败后,允许尝试登录的次数  
    -- PASSWORD_LOCK_TIME   1      登录失败后,超出限制,账户锁定天数
    -- PASSWORD_VERIFY_FUNCTION verify_function;  口令修改验证函数
     

    3.通过审计查询登录账号错误的机器信息!

    SQL>CONN XX/XX 模拟一次错误的账户登录,查询审计基表AUD$,只要开启数据库审计会自动记录用户密码登录错误的信息。

    SQL>select max(ntimestamp#)+8/24,sysdate from aud$ where returncode=1017 and ntimestamp#>sysdate-1; 可以通过+8/24 小时调整时间,确认换算为当前sysdate

    SQL>SELECT SESSIONID,USERID,USERHOST,COMMENT$TEXT,SPARE1,NTIMESTAMP#+8/24 FROM AUD$ WHERE returncode=1017 and ntimestamp#>sysdate-1 ORDER BY 6;

    发现登录失败的都是监控主机,后续查询RAC两台机器,进行测试,发现节点2配置未修改导致的。

  • 相关阅读:
    @Profile使用及SpringBoot获取profile值
    浅谈maven中的scope,systempath
    Maven Filter与Profile隔离生产环境与开发环境
    spring的@Value注解使用
    maven项目引入spring boot依赖之后filter不生效的问题
    SpringBoot整合Servlet的两种方式
    程序员,30岁,“理所应当”就该中年危机了吗?
    Spring Boot 2 Webflux的全局异常处理
    正经学C#_表达式与其运算符[赋值运算符]:《c#入门经典》
    正经学C#_表达式与其运算符[算术运算符]:《c#入门经典》
  • 原文地址:https://www.cnblogs.com/lvcha001/p/12786934.html
Copyright © 2011-2022 走看看