这样,监控将变得非常简单。 发现失败登录尝试所要执行的操作就是发出 col l_user format a10with the embedde
col service format a20
col logdate format a20
col host format a10
col RC format a5
select to_char(log_date,'mm/dd/yy hh24:mi:ss') logdate,
extract_value (connect_data,'HOST') host,
extract_value (connect_data,'USER') l_user,
extract_value (connect_data,'SERVICE') service,
action RC
from listener_log
where extract_value (connect_data, 'COMMAND') in
(
'password',
'rawmode',
'displaymode',
'trc_file',
'trc_directory',
'trc_level',
'log_file',
'log_directory',
'log_status',
'current_listener',
'inbound_connect_timeout',
'startup_waittime',
'save_config_on_stop',
'start',
'stop',
'status',
'services',
'version',
'reload',
'save_config',
'trace',
'spawn',
'change_password',
'quit',
'exit'
)
这返回类似如下所示的输出 LOGDATE COMMAND HOST L_USER SERVICE RC
-------------------- --------------- ---------- ---------- -------------------- -----
10/02/05 02:57:36 stop prlddb01 oraprld LISTENER_PRLDDB01 0
10/02/05 04:47:03 stop prlddb01 oraprld listener_prlddb01 0
10/03/05 15:14:53 stop prlddb01 oraprld LISTENER_PRLDDB01 0
11/18/05 23:48:26 reload prlddb01 oraprld LISTENER_PRLDDB01 0
您可以看到,该输出显示了命令的日期和时间以及返回代码。 也可以修改此查询以只显示返回代码不为 0 的值。此外,还可以添加一个谓词以只显示某个日期之后的记录,以便只显示当天的尝试。 如果每天均运行此脚本,则只能看到当日的尝试。
上面只显示了无效口令的数据。 对于管理限制的监听器,该错误字符串只显示三个字段,因此表 LISTENER_LOG 的列具有不同的含义: 第二列显示用户发出的命令,第三列显示返回代码。 select
log_date,
connect_data command,
protocol_data return_code
from listener_log
where connect_data in
(
'password',
'rawmode',
'displaymode',
'trc_file',
'trc_directory',
'trc_level',
'log_file',
'log_directory',
'log_status',
'current_listener',
'inbound_connect_timeout',
'startup_waittime',
'save_config_on_stop',
'start',
'stop',
'status',
'services',
'version',
'reload',
'save_config',
'trace',
'spawn',
'change_password',
'quit',
'exit'
)
/
这返回: LOG_DATE COMMAND RETURN_CODE
--------- -------------------- ---------------
06-NOV-05 change_password 0
06-NOV-05 save_config 0
06-NOV-05 log_file 0
06-NOV-05 trc_level 12508
06-NOV-05 save_config_on_stop 12508
06-NOV-05 log_directory 12508
06-NOV-05 log_directory 12508
06-NOV-05 stop 1169
06-NOV-05 stop 1169
06-NOV-05 services 1169
06-NOV-05 status 1169
06-NOV-05 reload 1169
06-NOV-05 status 1169
06-NOV-05 stop 1169
06-NOV-05 status 1169
06-NOV-05 stop 1169
可能的影响 无;该活动只是一个诊断活动。
操作计划
- 创建监听器日志外部表。
- 选择在无口令情况下发出管理命令的记录(可以由非零返回值标识)。
- 选择根据监听器控制提示发出命令的记录。
- 如果找到无法由任何 DBA 执行的活动解释的记录,则您可能标识了错误内容。
2.10 审计和分析用户访问
背景 您对用户的了解程度如何? 您是否知道他们从哪些计算机连接、他们在连接时的活动等问题?或许您并不知道。 但请注意,一个成功的安全性规划需要了解这些详细信息,或至少了解重要信息。 这正是 Oracle 数据库中的审计功能的用途所在。
Oracle 数据库中的审计功能非常全面。 此处,您只需要启用该功能的一部分来创建数据库的“配置文件”。 您将尝试的所有操作就是查看用户连接、用户连接所使用的用户 ID 以及所使用的验证类型。 您还将发现无效的登录尝试 - 例如,用户 ID/口令组合何时错误。 正如以上所介绍的,查找这些异常事件的模式可以为发现可能的攻击提供线索。
策略 要启用审计,请在数据库初始化参数文件中设置以下参数。
(编辑:aniston)
|