精华内容
下载资源
问答
  • 01、日志审计系统系统日志系统日志记录系统中硬件、软件和系统问题信息,同时还可以监视系统中发生事件。用户可以通过它来检查错误发生原因,或者寻找受到攻击时攻击者留下痕迹。系统日志包括系统日志、...
    今天就易混淆的日志审计系统与数据库审计系统进行辨析。从日志审计系统和数据库审计系统的技术特点和原理来切入,来分析日志审计系统与数据库审计系统的异同。

    01日志审计系统

     系统日志
    系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志,这就是为什么在工程师排查系统故障时,经常会说“查查系统日志,看有什么错误信息”。
    系统日志作为审计过程中的有力依据,但为何还需开发独立的审计系统呢,是因为审计的本质特性是独立性,系统日志由系统生成,及系统本身为一体,主要用来帮助维护人员进行故障排查与定位,极易发生日志篡改事件,因此系统日志自身无法达到审计的最基本条件,其公正性、权威性更无从谈起。日志审计系统技术特点:

    i.日志审计系统发展于日志服务器,其本质并未有革命性的改变与革新。其原始信息仍来源于系统日志,并未解决审计过程中对于独立性的要求。
    ii.日志服务器的产生源自于信息技术发展的一定程度后,所面对的信息系统已经不再以个位计算,而是十位、百位,甚至千位。基于传统的单系统日志排查方式来检查系统运行的状态已捉襟见肘。如若能对所有系统的日志实现集中管理,并对其归类、分析、抽取,按不同的风险级别通过可视化展现,实现实时、智能的告警,将极大提升系统运维效率。因此,Syslog日志协议被广泛应用,并由此产生基于Syslog协议的日志服务器用于日志的集中管理与分析。Syslog存在的主要问题

    长期以来,Syslog格式未进行规范化处理,且极端情况下或许没有任何格式,因此,程序不能对Syslog消息进行解析;另一方面,Syslog协议使用UDP协议(无连接协议)在网络中传输,内容的完整性与可靠性无法有效保障。对于系统的运维而言,Syslog已足够满足操作需求,却不能满足审计要求。
    现在再分析日志审计,无非是在日志服务的基础上再增加SNMP(简单网管协议)使其可对路由器、交换机等网络设备的运行状况进行管理,再增加个性化的报表功能,便形成日志审计系统,但其本质仍脱离不了日志服务器。
    02、数据库审计系统

    数据库审计系统,能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断,最初此产品是为了解决核心数据的内控与审计需求而研发的,不采用其自带的日志进行审计,主要因为:
    i.数据库系统自身日志极易被篡改,缺乏独立性与公正性;
    ii.数据库访问的实时性要求极高,而庞大的数据库事件日志会消耗大量系统资源,严重影响数据库的性能及稳定性,往往并不开启,仅保留错误日志以便于系统排障。数据库审计系统的技术特点

    数据库审计系统借鉴了防火墙的报文解析与重组技术(DPI/DFI),通过在底层传输过程中截取报文流,并将其深度解析重组为完整的数据流,再利用语法解析与词法(YACC+LEX)解析技术解析成我们可识别的数据库操作语言,整个过程独立于数据库,且不会对数据库有任何影响,其设计天生即是为审计而生。
    日志审计系统是在原有日志服务器基础上进一步发展与加强,很好的实现了日志的统一管理与分析,有效的提升了系统故障的检测与排查效率,但其设计的初衷与技术手段决定了其无法适用于审计要求。
    数据库审计系统的设计初衷便基于数据库内控与审计要求,规避了日志与数据库本身的一些不足与缺陷。
    最后引用一句话总结:一个完整的审计体系,可满足所有审计对象的安全审计需求。就目前而言,实现的产品类型有:日志审计系统、数据库审计系统、桌面管理系统、网络审计系统、入侵检测和防护系统等,这些产品都实现了安全审计的一部分功能,只有实现全面的网络安全审计体系,安全审计才是完整的。
     

    a34d70edb47374b06f495508b91dc306.png

    61db2358e10cafdf0ce7f1091a365129.png

    关注:CISA信息系统审计公众号,了解更多CISA相关内容声明:除发布的文章无法追溯到作者并获得授权外,我们均会注明作者和文章来源。我们重在分享,尊重原创。如作者见到请及时联系我们,我们在得到您的授后重新发布或第一时间删改,谢谢!

    展开全文
  • 政府还有一个让数据库专家摊上更多事情职能,就是安全控制和数据审计。 那些管理着海量数据仓库企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样提问。那些拥有数以千计员工,...

    来源:http://60.29.242.49/?p=60

    政府还有一个让数据库专家摊上更多事情的职能,就是安全控制和数据审计。 那些管理着海量数据仓库的企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样的提问。那些拥有数以千计的员工,开展着不计其数 的业务的企业,每天都会产生出大量的日志记录数据,而且必须将其好好保存。为了帮助数据库专家应对数据爆炸的挑战,MySQL5.0引入了一种新的数据存 储引擎,叫做Archive。这个先进的数据管理工具,让MySQL的专家们拥有了处理和管理海量数据的新式武器。

     

     

    Archive引擎作用: 为大量很少 引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案,区别于InnoDB、MyISAM提供压缩功能,没有索引。

     

     

     

     

    关于Archive存储引擎的介绍和性能测试的文章:http://dev.mysql.com/tech-resources/articles/storage-engine.html

    不喜欢英文的童鞋可以看这篇翻译过来的文章(推荐,翻译的不错):http://guangxin.name/2009/04/mysql50-archive-1.html

     

     

    根据英文的测试结论来看,Archive表比MyISAM表要小 大约75%,比支持事务处理的InnoDB表小大约83%。当数据量非常大的时候Archive的插入性能表现会较MyISAM为佳。

     

     

    Archive表的性能是否可能超过MyISAM?答案是肯定 的。根据MySQL工程师的资料,当表内的数据达到1.5GB这个量级,CPU又比较快的时候,Archive表的执行性能就会超越MyISAM表。因为 这个时候,CPU会取代I/O子系统成为性能瓶颈。别忘了Archive表比其他任何类型的表执行的物理I/O操作都要少。

     

     

    较小的空间占用也能在你移植MySQL数据的时候发挥作用。当你 需要把数据从一台MySQL服务器转移到另一台的时候,Archive表可以方便地移植到新的MySQL环境,你只需将保存Archive表的底层文件复 制过去就可以了。

     

     

    本着怀疑一切的精神,本人进行了如下的测试:

     

    ①建立一个iplog的表:

    mysql> create table iplog(id int auto_increment not null primary key,userid int,ip char(15),visit_time datetime) engine=innodb;

     

    ②使用python脚本插入50w数据:

     

     

    #!/usr/bin/mysql

    import MySQLdb

     

    conn = MySQLdb.connect(host=”localhost”,user=”root”,passwd=”asdf”,db=”test”,unix_socket=”/data/mysql_3306/mysql.sock”)

    cursor = conn.cursor()

    for i in range(0,500000):

    sql = “insert into iplog(userid,ip,visit_time) values(%s,’127.0.0.1′,now())”%i

    cursor.execute(sql)

    cursor.close()

    conn.commit()

    conn.close()

     

    ③分别创建iplog对应的archive、 InnoDB、MyISAM对应表格并插入数据

     

     

    mysql> create table iplog_archive engine=archive as select * from iplog;

    Query OK, 500000 rows affected (2.73 sec)

    Records: 500000  Duplicates: 0  Warnings: 0

     

    mysql> create table iplog_myisam engine=myisam as select * from iplog;

    Query OK, 500000 rows affected (1.39 sec)

    Records: 500000  Duplicates: 0  Warnings: 0

     

    mysql> create table iplog_innodb engine=innodb as select * from iplog;

    Query OK, 500000 rows affected (4.78 sec)

    Records: 500000  Duplicates: 0  Warnings: 0

     

     

    ④比较它们的大小

     

     

    mysql> select table_name,engine,ROUND(data_length/1024/1024,2) total_size_mb,table_rows from information_schema.tables

    -> where table_schema = ‘test’ and table_name like ‘iplog_%’;

    +—————+———+—————+————+

    | table_name    | engine  | total_size_mb | table_rows |

    +—————+———+—————+————+

    | iplog_archive | ARCHIVE |          2.10 |     500000 |

    | iplog_innodb  | InnoDB  |         30.56 |     500289 |

    | iplog_myisam  | MyISAM  |         29.56 |     500000 |

    +—————+———+—————+————+

    3 rows in set (0.01 sec)

     

    ⑤测试select性能:

     

     

    mysql> select * from iplog_archive where userid=250000;

    +——–+——–+———–+———————+

    | id     | userid | ip        | visit_time          |

    +——–+——–+———–+———————+

    | 750001 | 250000 | 127.0.0.1 | 2010-02-01 10:54:20 |

    +——–+——–+———–+———————+

    1 row in set (0.31 sec)

     

    mysql> select * from iplog_innodb where userid=250000;

    +——–+——–+———–+———————+

    | id     | userid | ip        | visit_time          |

    +——–+——–+———–+———————+

    | 750001 | 250000 | 127.0.0.1 | 2010-02-01 10:54:20 |

    +——–+——–+———–+———————+

    1 row in set (0.48 sec)

     

    mysql> select * from iplog_myisam where userid=250000;

    +——–+——–+———–+———————+

    | id     | userid | ip        | visit_time          |

    +——–+——–+———–+———————+

    | 750001 | 250000 | 127.0.0.1 | 2010-02-01 10:54:20 |

    +——–+——–+———–+———————+

    1 row in set (0.10 sec)

     

    ⑥测试insert性能():

    使用python脚本再插入50w数据,查看插入性能,脚本如下,没有写 的很复杂,测试InnoDB或者MyISAM要修改代码

     

     

    #!/usr/bin/mysql

    import MySQLdb

     

    conn = MySQLdb.connect(host=”localhost”,user=”root”,passwd=”asdf”,db=”test”,unix_socket=”/data/mysql_3306/mysql.sock”)

    cursor = conn.cursor()

    for i in range(500001,1000000):

    sql = “insert into iplog_archive(userid,ip,visit_time) values(%s,’127.0.0.1′,now())”%i

    cursor.execute(sql)

    cursor.close()

    conn.commit()

    conn.close()

     

     

    archive

     

    real    1m30.467s

    user    0m22.270s

    sys     0m12.670s

     

     

    InnoDB

     

    real    0m48.622s

    user    0m18.722s

    sys     0m9.322s

     

     

    MyISAM

     

    real    1m32.129s

    user    0m13.183s

    sys     0m5.624s

     

     

     

     

    测试结果是archive可以大规模的减少空间减少%93(这个 与表有关系),select性能介于MyISAM和InnoDB之间,大规模insert时效率比MyISAM和InnoDB高,至于原因“因为这个时 候,CPU会取代I/O子系统成为性能瓶颈。别忘了Archive表比其他任何类型的表执行的物理I/O操作都要少。”

     

    欢迎大家共同探讨,包括测试用例以及任何想法。

     

    关于time命令的执行结果关于real、user、sys说明

    1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;

    2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

    3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

    展开全文
  • Linux的日志系统主要就是syslog系统构架,其实现是内核函数printk将消息写入一个环形缓冲区中,供高层sys_syslog系统调用读取。代码部分在linux/kernel/printk.c  Linux审核系统提供了一种记录系统安全信息...

    最近在读倪继利的《Linux安全体系分析与编程》,想把一些笔记发出来,这是第一篇。

    Linux的日志系统主要就是syslog系统构架,其实现是内核函数printk将消息写入一个环形缓冲区中,供高层的sys_syslog系统调用读取。代码部分在linux/kernel/printk.c 

    Linux的审核系统提供了一种记录系统安全信息的方法,为系统管理员在用户违反系统安全规则时提供及时的警告信息。内核其他线程通过内核审计API写入套接字缓冲区队列audit_skb_queue中,内核线程kauditd通过netlink机制将审计消息定向发送给用户控件的审计后台auditd的主线程,auditd主线程再通过事件队列将审计消息传给审计后台的写log文件线程,写入log文件。另一方面,审计后台还通过一个与套接字绑定的管道将审计消息发送给dispatcher应用程序。代码部分主要在 linux/kernel/audit.c

     auditd在Debian里默认没有安装启动,需要通过aptitude install auditd开启。


    展开全文
  • 思路:在SM19中新建安全审计参数文件,然后在SM20中读取审计日志。1、 T-code: SM19, 新建安全审计参数文件加过滤器,只选择统计...可以到t-code: SM20看安全审计日志状态为LOGON Successful的就是用户登陆记录。注...
    ad42e9b4464054e25e141d554f22d5bf.png

    思路:在SM19中新建安全审计参数文件,然后在SM20中读取审计日志。

    1、 T-code: SM19, 新建安全审计参数文件加过滤器,只选择统计用户登陆情况,配置细节勾上‘LOGON Successful’。先保存,后激活,参数文件建好了。

    2. 参数文件建好后,系统会自动按参数文件设置收集数据。可以到t-code: SM20看安全审计日志状态为LOGON Successful的就是用户登陆记录。

    注:系统会有很多后台用户的登陆数据,你最好按用户来查询登陆记录。

    步骤如下:
    1) 、执行SM19,创建对用户的记录,输入配置参数文件名,如:LOGINLOG

    748d2c5f98409371d42b2156a69c124c.png

    2)、在细节配置中,选中“Logon Successful”

    fffe40c6c1475f5a75b18360000dc631.png

    3)、返回后,保存。

    4)、激活审计参数文件:重新执行SM19,打开刚创建的参数文件:LoginLog

    f82aab1672c8aca42f52f695e95f9ec3.png

    选中“过滤激活”,保存。

    5)、执行SM20,准备开始查看登录日志:

    292fdf8db2f4386b47b1f00273fb5738.png

    点击“Detail Sel.”按钮,只选择查看登录日志情况,如下:

    202cb372f39aa1659602c98cc819a8af.png

    点击“确定”,返回

    6)、点击“重新读取审计日志”

    72b6bd6837cb6f8d0f195e1d0333f38e.png

    7)、显示用户登录日志,并对用户名排序后,导出到Excel中,进行统计:

    e4d4c1e019606306ad9823716ff477ae.png
    展开全文
  • 日志的设计

    2016-07-09 12:39:00
    就是记录用户操作的行为,方便安全审计等等啊。 所以,日志有 1、登录访问 2、操作日志(增删改) 3、异常日志 4、开发日志 (我写离题了,应该是开发日志的使用) 三、日志怎么输出? 1、利...
  • Java日志的详情了解

    2021-02-02 19:07:01
    一、日志概述 什么是日志?...安全审计:判断一些非法攻击,非法调用等 二、日志的框架 我们都知道日志的作用了,当时市面上的日志框架特别多,到底怎么选,怎么用? 我们常使用的日志工具有JUL(Java Util
  • 辛星浅析linux中常用的日志文件

    千次阅读 2015-04-05 05:28:20
    日志的主要功能就是审计和检测。它还可以实时地检测系统的状态、检测和追踪侵入者。  通常日志根据类型可以分为连接时间日志、进程统计日志和错误日志。连接时间日志由多个程序执行,它把记录写到/var/log/wtmp和/...
  • 安全应急响应工作中,一项重要任务就是要对mysql数据库的日志进行分析。我们通过对mysql日志记录的审计,发现攻击行为,进而追溯攻击源。在工作中遇见各种服务器上,由于mysql安装方式不同,其日志文件存放位置...
  • 安全应急响应工作中,一项重要任务就是要对mysql数据库的日志进行分析。工作中,我们通过对mysql日志记录的审计,发现攻击行为,进而追溯攻击源。
  • oracle数据审计 AUDIT

    千次阅读 2010-04-27 20:54:00
    •何为审计数据库审计就是对数据库活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面跟踪记录。 •现实作用安全控制、跟踪数据变化、程序BUG调试、自定义数据汇总分析、操作日志 •...
  • 审核/审计

    2020-04-07 22:39:59
    简单来说,就是告诉你“谁什么时候做了什么事情”,通过记录日志/文件方式“秋后算账”,进一步确保数据库安全性。 创建和使用审核一般过程。 1.创建审核并定义目标。 2.创建映射到审核服务器审核规范或...
  • Linux下配置日志服务器

    千次阅读 2019-05-21 18:10:31
    一、日志服务器简介 ... 对于黑客来说,当入侵了一个服务器后,在进行了一系列操作之后,最后一步就是要清理掉日志服务器的日志记录。但是,有一些企业为了更安全,也为了便于管理,通常在公司内部架设一台日志...
  • 数据库安全其他机制

    千次阅读 2018-05-21 23:51:50
    一、视图机制 通过视图机制把要保密数据对无权存取用户隐藏起来,从而自动对数据提供一定程度的安全保护。...审计功能把用户对数据库所有操作自动记录下来放入审计日志中,审计员可以利用审计...
  • 系统安全问题系统安全概述xss攻击越权访问攻击http安全撞库攻击配置验证码使用次数和有效时间登陆次数限制和日志审计报警设计逻辑 系统安全概述 互联网技术发展到现在,大部分系统都是基于b/s模式,暴露在互联网环境...
  •  项目中经常有记录访问者IP功能,如审计安全日志。现在项目部署到生产,没有不用反向代理,nginx。复杂项目网络可能有多个反向代理。  话说,很多奇葩BUG就是反向代理上出了问题。测试环境项目跑好好,...
  • 1,服务器端:支持数据库,进行数据备份恢复,日志的导出以及授权等一些功能 2.控制端:采用的是分级的管理,可以以不同的身份登入,如管理员,审计员,安全员,操作员,等分别来管理一些文件的操作,安全员来管理...
  • 入侵检测(IDS)是用来发现黑客入侵特殊安全设备,早期时候很简单,就是一个日志分析器,大海捞针一样从日志里提取黑客来访记录;后来黑客学乖了,临走时把自己“污点”记录统统抹掉;记录没了,日志分析就很...
  • 如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。 值范围: TIMESTAMP | SIGNATURE 默认值: TIMESTAMP utl_file_dir: 说明: 允许数据库管理员指定 PL/SQL 文件 I/O 许可目录。使用多个 UTL_FILE_DIR ...
  • 政府还有一个让数据库专家摊上更多事情职能,就是安全控制和数据审计。那些管理着海量数据仓库企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样提问。那些拥有数以千计员工,...
  • 7.3 多级安全强制访问控制和基于角色访问控制 132 7.3.1 自主访问控制与强制访问控制比较 134 7.3.2 基于角色访问控制 134 7.3.3 XML访问控制 135 7.3.4 电子商务和Web访问控制策略 ...
  • 政府还有一个让数据库专家摊上更多事情职能,就是安全控制和数据审计。那些管理着海量数据仓库企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样提问。那些拥有数以千计员工,...
  • mysql 数据库之archive存储引擎札记

    千次阅读 2012-11-26 10:33:26
    政府还有一个让数据库专家摊上更多事情职能,就是安全控制和数据审计。 那些管理着海量数据仓库企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样提问。那些拥有数以千计员工,...
  • ( 4 )审计:建立审计日志,把用户对数据库所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪信息,重现导致数据库现有状况一系列事件,找出非法存取数据人、时间和内容等。 **( 5 )数据加密:**...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

安全审计就是日志的记录