Bo's Oracle Station

查看: 1933|回复: 0

细粒度审计的案例

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2020-11-1 20:10:42 | 显示全部楼层 |阅读模式
强制性审计/SYS强制性审计/标准审计(对象/权限/语句)/细粒度/基于值的审计

统一审计(为了取代标准审计(对象/权限/语句))

1.  作handler:
/etc/postfix/main.cf:
  1. myorigin = $myhostname
  2. inet_interfaces = all
  3. mydestination = $myhostname, localhost.$mydomain, localhost, classroom.example.com
  4. mynetworks =  192.168.0.0/24
复制代码
  1. [root@classroom postfix]# hostname
  2. classroom.example.com
  3. [root@classroom postfix]# vim main.cf
  4. [root@classroom postfix]# systemctl restart postfix
  5. [root@classroom postfix]# ping  www.botangdb.com
  6. PING www.botangdb.com (45.113.121.152) 56(84) bytes of data.
  7. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=1 ttl=48 time=53.7 ms
  8. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=2 ttl=48 time=57.2 ms
  9. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=3 ttl=48 time=65.5 ms
  10. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=4 ttl=48 time=36.4 ms
  11. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=5 ttl=48 time=62.6 ms
  12. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=6 ttl=48 time=62.10 ms
  13. 64 bytes from 45.113.121.152 (45.113.121.152): icmp_seq=7 ttl=48 time=66.7 ms
  14. ^C
  15. --- www.botangdb.com ping statistics ---
  16. 8 packets transmitted, 7 received, 12.5% packet loss, time 16ms
  17. rtt min/avg/max/mdev = 36.445/57.873/66.714/9.722 ms
  18. [root@classroom postfix]# mail -s "test1"  18950350376@189.cn
  19. bash: mail: 未找到命令...
  20. ^C
  21. [root@classroom postfix]# yum -y install mailx
  22. Updating Subscription Management repositories.
  23. Unable to read consumer identity
  24. This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
  25. 上次元数据过期检查:0:06:13 前,执行于 2020年11月01日 星期日 20时05分06秒。
  26. 依赖关系解决。
  27. =================================================================================================================================
  28. 软件包                      架构                         版本                                仓库                          大小
  29. =================================================================================================================================
  30. Installing:
  31. mailx                       x86_64                       12.5-29.el8                         BaseOS                       257 k

  32. 事务概要
  33. =================================================================================================================================
  34. 安装  1 软件包

  35. 总计:257 k
  36. 安装大小:491 k
  37. 下载软件包:
  38. 运行事务检查
  39. 事务检查成功。
  40. 运行事务测试
  41. 事务测试成功。
  42. 运行事务
  43.   准备中      :                                                                                                              1/1
  44.   Installing  : mailx-12.5-29.el8.x86_64                                                                                     1/1
  45.   运行脚本    : mailx-12.5-29.el8.x86_64                                                                                     1/1
  46.   验证        : mailx-12.5-29.el8.x86_64                                                                                     1/1
  47. Installed products updated.

  48. 已安装:
  49.   mailx-12.5-29.el8.x86_64                                                                                                      

  50. 完毕!
  51. [root@classroom postfix]#
复制代码
测试外发邮件服务器:
  1. [root@classroom postfix]# mail -s "test1"  18950350376@189.cn
  2. This is a test 2020-11-1 20:13
  3. .
  4. EOT
  5. [root@classroom postfix]# mailq
  6. Mail queue is empty
  7. [root@classroom postfix]#
复制代码
如果外网被挡住:
  1. [root@classroom postfix]# yum -y install dovecot*
  2. Updating Subscription Management repositories.
  3. Unable to read consumer identity
  4. This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
  5. 上次元数据过期检查:0:16:42 前,执行于 2020年11月01日 星期日 20时05分06秒。
  6. 依赖关系解决。
  7. =================================================================================================================================
  8. 软件包                      架构                 版本                                             仓库                     大小
  9. =================================================================================================================================
  10. Installing:
  11. dovecot                     x86_64               1:2.2.36-5.el8                                   AppStream               4.6 M
  12. dovecot-mysql               x86_64               1:2.2.36-5.el8                                   AppStream                98 k
  13. dovecot-pgsql               x86_64               1:2.2.36-5.el8                                   AppStream               101 k
  14. 安装依赖关系:
  15. clucene-core                x86_64               2.3.3.4-31.20130812.e8e3d20git.el8               AppStream               590 k
  16. libpq                       x86_64               10.5-1.el8                                       AppStream               188 k

  17. 事务概要
  18. =================================================================================================================================
  19. 安装  5 软件包

  20. 总计:5.5 M
  21. 安装大小:18 M
  22. 下载软件包:
  23. 运行事务检查
  24. 事务检查成功。
  25. 运行事务测试
  26. 事务测试成功。
  27. 运行事务
  28.   准备中      :                                                                                                              1/1
  29.   Installing  : libpq-10.5-1.el8.x86_64                                                                                      1/5
  30.   Installing  : clucene-core-2.3.3.4-31.20130812.e8e3d20git.el8.x86_64                                                       2/5
  31.   运行脚本    : dovecot-1:2.2.36-5.el8.x86_64                                                                                3/5
  32.   Installing  : dovecot-1:2.2.36-5.el8.x86_64                                                                                3/5
  33.   运行脚本    : dovecot-1:2.2.36-5.el8.x86_64                                                                                3/5
  34.   Installing  : dovecot-mysql-1:2.2.36-5.el8.x86_64                                                                          4/5
  35.   Installing  : dovecot-pgsql-1:2.2.36-5.el8.x86_64                                                                          5/5
  36.   运行脚本    : dovecot-1:2.2.36-5.el8.x86_64                                                                                5/5
  37.   运行脚本    : dovecot-pgsql-1:2.2.36-5.el8.x86_64                                                                          5/5
  38.   验证        : clucene-core-2.3.3.4-31.20130812.e8e3d20git.el8.x86_64                                                       1/5
  39.   验证        : dovecot-1:2.2.36-5.el8.x86_64                                                                                2/5
  40.   验证        : dovecot-mysql-1:2.2.36-5.el8.x86_64                                                                          3/5
  41.   验证        : dovecot-pgsql-1:2.2.36-5.el8.x86_64                                                                          4/5
  42.   验证        : libpq-10.5-1.el8.x86_64                                                                                      5/5
  43. Installed products updated.

  44. 已安装:
  45.   dovecot-1:2.2.36-5.el8.x86_64                          dovecot-mysql-1:2.2.36-5.el8.x86_64 dovecot-pgsql-1:2.2.36-5.el8.x86_64
  46.   clucene-core-2.3.3.4-31.20130812.e8e3d20git.el8.x86_64 libpq-10.5-1.el8.x86_64            

  47. 完毕!
  48. [root@classroom postfix]#
复制代码
/etc/dovecot/dovecot.conf:

  1. login_trusted_networks = 192.168.0.0/24
复制代码
/etc/dovecot/conf.d:
10-mail.conf:
mail_location = mbox:~/mail:INBOX=/var/mail/%u

  1. [oracle@classroom ~]$ mkdir mail
复制代码
2. oracle数据内部对外发邮件测试:
  1. DECLARE
  2.       c utl_smtp.connection;
  3.        PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS
  4.        BEGIN
  5.          utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF);
  6.       END;
  7.   BEGIN
  8.        c := utl_smtp.open_connection('classroom.example.com');
  9.        utl_smtp.helo(c, 'classroom.example.com');
  10.        utl_smtp.mail(c, 'oracle@classroom.example.com');
  11.        utl_smtp.rcpt(c, 'oracle@classroom.example.com');
  12.        utl_smtp.open_data(c);
  13.        send_header('From',    '"Sender" <oracle@classroom.example.com>');
  14.        send_header('To',      '"orcl dba" <oracle@classroom.example.com>');
  15.        send_header('Subject', 'Hello');
  16.        utl_smtp.write_data(c, utl_tcp.CRLF || 'FGA!');
  17.        utl_smtp.close_data(c);
  18.        utl_smtp.quit(c);
  19.   END;
  20.   /
复制代码
2020-11-01 20-38-58屏幕截图.png



  1. create or replace procedure procsmtp ( object_schema VARCHAR2, object_name VARCHAR2, policy_name
  2. VARCHAR2 )
  3.   is
  4.       c utl_smtp.connection;
  5.        PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS
  6.        BEGIN
  7.          utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF);
  8.       END;
  9.   BEGIN
  10.        c := utl_smtp.open_connection('classroom.example.com');
  11.        utl_smtp.helo(c, 'classroom.example.com');
  12.        utl_smtp.mail(c, 'oracle@classroom.example.com');
  13.        utl_smtp.rcpt(c, 'oracle@classroom.example.com');
  14.        utl_smtp.open_data(c);
  15.        send_header('From',    '"Sender" <oracle@classroom.example.com>');
  16.        send_header('To',      '"orcl dba" <oracle@classroom.example.com>');
  17.        send_header('Subject', 'FGA');
  18.        utl_smtp.write_data(c, utl_tcp.CRLF ||sys_context('userenv','os_user')||' '||
  19.                                        to_char(sysdate,'YYYY-MM-DD:HH24:MI:SS')||' '||
  20.          sys_context('userenv','ip_address') ||' '||object_schema||' '||object_name||' '||policy_name     
  21.       );
  22.        utl_smtp.close_data(c);
  23.        utl_smtp.quit(c);
  24.   END;
  25.   /

  26. begin
  27.   procsmtp('HR','T062AD11_B','POLICY1');
  28. end;
  29. /
复制代码

3. 定FGA策略:
  1. begin
  2.    dbms_fga.ADD_POLICY (
  3.      OBJECT_SCHEMA=>'HR',
  4.      OBJECT_NAME=>'t062ad11_b',
  5.      POLICY_NAME=>'policy1',
  6.      AUDIT_CONDITION=>'empno=100',
  7.      AUDIT_COLUMN=>'salary',
  8.      HANDLER_SCHEMA=>'SYS',
  9.      HANDLER_MODULE=>'PROCSMTP',
  10.      ENABLE=>true,
  11.      STATEMENT_TYPES=>'SELECT,UPDATE',
  12.      AUDIT_TRAIL=>DBMS_FGA.XML+DBMS_FGA.EXTENDED);
  13. end;
  14. /
复制代码
  1. select  * from dba_audit_policies;
复制代码
HR    T062AD11_B    SYS    POLICY1    empno=100    SALARY    SYS        PROCSMTP    YES    YES    NO    YES    NO    XML+EXTENDED    ANY_COLUMNS
  1. select  * from dba_common_audit_trail order by 6 desc ;select  * from dba_common_audit_trail order by 6 desc ;
复制代码
2020-11-01 21-10-07 的屏幕截图.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-12-4 01:17 , Processed in 0.047455 second(s), 27 queries .

快速回复 返回顶部 返回列表