教你如何用一支烟的时间来写个日志采集工具

教你如何用一支烟的时间来写个日志采集工具
教你如何用一支烟的时间来写个日志采集工具

技本功丨骚操作:教你如何用一支烟的时间来写个日志采集工具

作者:良辰袋鼠云日志团队后端开发工程师

我放下了手中的键盘,陷入沉思,作为一个优秀的程序猿最重要的就是气~势~泰山崩于前

的镇~定~

我用最快的速度扫描了一遍现行的filebeat、fluentd、flume、scribe等解决方案,发现,没有机会,难道就这样放弃了吗?

不,没有什么可以难倒我良辰!

我从口袋里掏出一根烟,在烟雾缭绕中我缓缓看向小马哥

如何唯一标识一个文件

从需求角度来讲,用户往往需要采集指定目录指定格式下的文件,常用方式是配置路径通配符,例如这样: /path/*/*.log,意思就是收集/path/a/web.log、/path/b/web_2018-12-11.log 等日志。但是,用文件名来标识文件是不准确的,移动一个文件mv a.log b.log,虽然名称是变成了b.log,但实际日志依旧是a.log的日志,把b.log当做新文件处理就会出现采集到重复日志的问题。

那换成inode作为文件唯一标识怎么样?答案是,会好点。为啥是好一点而已呢,原因有2个,一是不同文件系统间的不同文件inode可以一样,二是同个文件系统下,不同时刻存在的文件inode可以一样。这2个问题都可以导致读取日志时的偏移量错乱问题,最终导致数据丢失或者数据重复。

那换成内容前缀的方式唯一标识怎么样?内容前缀指的是使用文件前N个字节作校验。很显然,这也是一个缓解的操作,因为不同日志依旧有出现相同校验码的情况。这里的校验码算法可以使用crc32或者adler32,后者相比前者可靠性弱一点,性能则是前者的2~3倍。

目前最靠谱的方式是通过inode+内容前缀的方式唯一标识文件,虽然没办法完全解决唯一标识文件的问题,但鉴于同个文件系统不同时刻产生的文件刚好内容前缀有相同的情况概率比较低,所以该方案已经符合业务使用了。

如何监听文件变化

当新增、删除、修改文件时,如果获知快速获知变化?一种方式是使用linux的inotify机制,文件发生变化会立马通知服务,这优点是实时性高,但缺点是相同通知过于频繁反而提高了开销,另外不是所有系统都含有inotify机制。另一种方式是用轮询,轮询的实时性会差点,因为考虑性能,一般轮训间隔在1s~5s,但好在简单且通用。

如何合并日志

有时用户有合并日志的需求,比较常见的就是异常堆栈信息,一行日志被换行符分割成了多行。因为日志都是有规范的,会按时间、日志等级、方法名、代码行号等信息顺序打印,那这里一个简单的处理方式就是使用正则匹配的方式来解决,按照匹配行作split划分日志。

但一些偏业务的日志,就不能简单地通过正则匹配了,这类日志的内容是存在着关联关系的,像订单信息,日志需要通过订单id进行关联的,但由于多线程并行写日志等原因,逻辑上存在关联的日志在物理上未必连续,所以要求合并逻辑具有"跳"行关联的能力,这时候可以利用可命名的正则捕获功能来处理,把捕获的字段作为上下文在上下游日志传递,把匹配的日志存到缓存统一输出即可。

如何实现高吞吐

批量化处理,一是日志读取批量化,虽然读取日志已经是顺序读了,但如果在读取时通过预读取提前把待读取的日志都读取出来放进buffer,这方式可以进一步提升性能。二是发送批量化,发送批量化的好处主要体现在2方面,一方面是提高压缩比,像日志这类存在大量重复内容的数据,数据越多压缩比越高,另一方面,降低了请求头部的大小占比,减少带宽的浪费。

异步化处理,文件监听、日志处理、日志发送3个模块解耦并异步化,数据及通知通过队列传递。

非阻塞发送,发送端要处理的常规操作包括参数校验、序列化、压缩、协议包装、ack、重试、负载均衡、心跳、校验和、失败回调、数据收发、连接管理。如果这系列操作都是由一个nio线程处理掉,发送效率肯定很低,但考虑到通常数据接收端数量不会太多(小于1000),所以这里使用reactor的多线程模型完全足够了,netty支持reactor多线程模型的,所以可以直接基于netty开发。这里只需要注意io线程除了连接管理,其余事情都交由工作线程处理就行。

如何实现资源控制

采集工具往往需要和待采集日志的系统放在同一个机器上,不少系统还对性能敏感的,这就要求采集工具必须有控制资源使用的能力。

如何控制句柄使用?句柄使用往往是被严格受限的,但如果机器需要监听上万上十万的文件时,如何使用句柄?这时候就需要采取惰性持有策略,即文件生成的时候不会持有句柄,只有尝试读取时再持有句柄,由于同时读取的文件往往不多,从而只会占用少量文件句柄。

另外,存在句柄引用的文件即便被删掉,空间是不会被释放掉的,导致长时间持有句柄是不是会有磁盘被打爆的风险?这就需要加上相应的定时释放句柄的机制,被删除的文件会加上一个时钟,时钟倒计时为0时把句柄释放掉。

如何控制内存使用?无论是日志的合并还是批量化操作,都需要使用较大的缓存,一旦缓存过大,就有oom的风险,所以需要机制控制内存占用。这里可以简单实现一个内存分配器,分配器内部维护一个计数器,用于记录当前分配内存大小。线程分配关键内存或者释放内存都需要请求内存分配器,内存超限则挂起请求的线程,并用等待/通知机制让线程协同起来。把分配内存的大户控制住,就可以控制住整体内存大小了。

如何控制流量及cpu?流量过大不仅占用多高带宽,而且流量与cpu占用也呈正比关系,所以控制流量的同时也就实现了cpu的控制。在固定窗口、滑动窗口、令牌桶、漏桶几个流控算法中,令牌桶和漏桶算法都可以令流速较为平滑,而且guava实现了令牌桶算法。这里直接使用guava的RateLimiter即可。

我看了一眼手上烧完的烟,时间刚刚好。

良辰说

在实际应用中,仍旧会遇到各种各样的问题,一方面是来自于业务的扩展性需要,另一方面是随着集群的扩大,在数据热点、实时性、弹性负载均衡方面会遇到诸多复杂的挑战。本文仅提供开发采集工具常见问题的解决思路,更深入的细节需要读者实际去探索了。

WEB安全测试

Web安全测试——手工安全测试方法及修改建议 发表于:2017-7-17 11:47 ?作者:liqingxin ? 来源:51Testing软件测试网采编 字体:???|??|??|??|?|?推荐标签:??? 常见问题 (CrossSite Script)跨站脚本攻击 (CrossSite Script)跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web 里面的html 代码会被执行,从而达到恶意用户的特殊目的。 方法:? 在数据输入界面,添加输入:,添加成功如果弹出对话框,表明此处存在一个XSS?。 或把url请求中参数改为,如果页面弹出对话框,表明此处存在一个XSS 漏洞 修改建议: 过滤掉用户输入中的危险字符。对输入数据进行客户端和程序级的校验(如通过正则表达式等)。 Eg:对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤 与跨站脚本(XSS) CSRF与跨站脚本(XSS),是指请求迫使某个登录的向易受攻击的Web应用发送一个请求,然后以受害者的名义,为入侵者的利益进行所选择的行动。 测试方法: 同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功使用工具发送请求,在http请求头中不加入referer字段,检验返回消息的应答,应该重新定位到错误界面或者登陆界面。 修改建议: 在不同的会话中两次发送同一请求并且收到相同的响应。这显示没有任何参数是动态的(会话标识仅在cookie 中发送),因此应用程序易受到此问题攻击。因此解决的方法为 Hashing(所有表单都包含同一个伪随机值): 2. ?验证码 ‐Time Tokens(不同的表单包含一个不同的伪随机值)客户端保护措施:应用防止CSRF攻击的工具或插件。 3.注入测试

系统下收集日志方法

收集日志操作如下: HPS 1、将附件HPSRPT_Enhanced_v9.0.00r2.zip 文件copy到目标服务器,存放在c:\ 2、解压到当前文件夹后双击运行HPSRPT_Enhanced_v9.0.00r2.cmd文件 3、不要关闭DOS运行窗口大约15分钟左右会自动消失说明运行完成。 4、完成后需要到C:\WINDOWS\HPSReports\Enhanced\Report\cab 目录下查看生成文件信息 5、收集对应时间点的cab文件即可。 第一个日志:ADU报告 2、打开开始——程序——HP System Tools——HP Array Configuration Utility——HP Array Configuration Utility。

3、选择Local Applcation Mode,本地应用模式。 4、打开了HP Array Configuration Utility工具后,点中间的Diagnostics选项卡,选中左侧的

阵列卡,右侧会出现2个按钮,查看和提取日志报告,我们选择Generate Diagnostic Report。 5、提示Reprot Generation Complete日志提取完毕,这时可以选择右下角Save report按钮。

6、选择保存,弹出保存菜单,点保存。 7、可以选择保存到桌面上。

第二个报告:survey报告 打开开始——程序——HP System Tools——HP Insight Diagnostics online Edition for Windows ——HP Insight Diagnostics online Edition for Windows。 9、提示安全证书报警,选择是,继续。

日志管理与分析-日志收集及来源

日志管理与分析-日志收集及来源 【前言】 对广大IT工作者,尤其是运维和安全人员来说,“日志”是一个再熟悉不过的名词。日志从哪来?机房中的各种软件(系统、防火墙)和硬件(交换机、路由器等),都在不断地生成日志。IT安全业界的无数实践告诉我们,健全的日志记录和分析系统,是系统正常运营、优化以及安全事故响应的基础,虽然安全系统厂商为我们提供了五花八门的解决方案,但基石仍是具有充足性、可用性、安全性的日志记录系统。实际工作中,许多单位内部对日志并没有充分的认识,安全建设更多在于投入 设备,比如防火墙、IDS、IPS、防病毒软件等,被动地希望这些系统帮助我们完成一切工作,但是俗话说的好:“魔高一尺道高一丈”,以特征码和预定义规则为基础的上述设备,在防护方面永远落在攻击者后面,防微杜渐才是真正的出路。作为一名合格的安全人员,了解日志的概念,了解日志的配置和分析方法,是发现威胁、抵御攻击的重要技能,有了这方面的深刻认识,各种自动化安全解决方案才能真正地发挥效能。 1、日志数据 简单地说,日志消息就是计算机系统、设备、软件等在某种触发下反应生成的东西。确切的触发在很大程度上取决于日志消息的来源。例如,UNix操作系统会记录用户登录和注销的消息,防火墙将记录ACL 通过和拒绝的消息,磁盘存储系统在故障发生或者在某些系统认为将会发生故障的情况下会生成日志消息。 日志数据就是一条日志消息里用来告诉你为什么生成消息的信息,例如,web服务器一般会在有人访问web页面请求资源(图片、

文件等等)的时候记录日志。如果用户访问的页面需要通过认证,日 志消息将会包含用户名。日志消息可以分成下面的几种通用类型: ?信息:这种类型的消息被设计成告诉用户和管理员一些没有风险的事情发生了。例如,Cisco IOS将在系统重启的时候生成消息。不过,需要注意的是,如果重启发生在非正常维护时间或是业务时间,就有发出报警的理由。 ?调试:软件系统在应用程序代码运行时发生调试信息,是为了给软件开发人员提供故障检测和定位问题的帮助。 ?警告:警告消息是在系统需要或者丢失东西,而又不影响操作系统的情况下发生的。 ?错误:错误日志消息是用来传达在计算机系统中出现的各种级别的错误。例如,操作系统在无法同步缓冲区到磁盘的时候会生成错误信息。?警报:警报表明发生了一些有趣的事,一般情况下,警报是属于安全设备和安全相关系统的,但并不是硬性规定。在计算机网络中可能会运行一个入侵防御系统IPS,检查所有入站的流量。它将根据数据包的内容判断是否允许其进行网络连接。如果IPS检测到一个恶意连接,可能会采取任何预先配置的处置。IPS会记录下检测结果以及所采取的行动。 2、日志数据的传输与收集 计算机或者其他设备都实现了日志记录子系统,能够在确定有必 要的时候生成日志消息,具体的确定方式取决于设备。另外,必须有 一个用来接收和收集日志消息的地方,这个地方一般被称为日志主 机。日志主机是一个计算机系统,一般来说可能是linux和windows服

Web安全之网页木马的检测与防御

Web安全之网页木马的检测与防御随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。在Web安全的攻击种类中,网页木马一直是一个不容忽视的问题。黑客把一个木马程序上传到一个网站里面然后用木马生成器生一个网马,再上到空间里面,再加代码使得木马在打开网页里运行,从而获取用户的隐私信息。随着网页木马破坏性的增大,人们对网页木马的重视程度也在逐渐增加。 1网页木马简介 1.1网页木马的定义 网页木马是在宏病毒、木马等恶意代码基础上发展出来的一种新形态的恶意代码.类似于宏病毒通过Word 等文档中的恶意宏命令实现攻击.网页木马一般通过HTML 页面中的一段恶意脚本达到在客户端下载、执行恶意可执行文件的目的,而整个攻击流程是一个“特洛伊木马式”的隐蔽的、用户无察觉的过程,因此,国内研究者通常称该种攻击方式为“网页木马”. 目前,学术界对网页木马尚无一个明确的、统一的定义.Wiki 将它定义为一种用户不知情的下载,发生的场景可以是用户阅览邮件、访问网站页面以及点击一个欺诈性的弹出框时,等等,该定义属于字面解释,包括的内容比较宽泛,如利用社会工程学手段欺骗用户下载也属于其涵盖范围.此外,Wiki 还用Drive-by-Install 这一术语来表示下载并安装恶意程序的过程;Google 的Provos 等人将网页木马限定为客户端在访问页面时受到攻击并导致恶意可执行文件的自动下载、执行,该定义指出了“访问页面时受到攻击”和“自动下载、自动执行恶意可执行文件”两个关键点;UCSB 的Cova 等人进一步指出,网页木马是以一段JavaScript 代码作为攻击向量的一种客户端攻击方式,而实际上,还存在一些通过CSS 元素、VBScript 脚本发起攻击的网页木马。 综上所述,网页木马定义为:一种以JavaScript,VBScript,CSS 等页面元素作为攻击向量,利用浏览器及插件中的漏洞,在客户端隐蔽地下载并执行恶意程序的基于Web 的客户端攻击。 1.2网页木马的攻击流程 网页木马采用一种被动攻击模式(即pull-based 模式):攻击者针对浏览器及插件的某个特定漏洞构造、部署好攻击页面之后,并不像发送垃圾邮件那样主动将内容推送给受害用户(即push-based 模式),而是被动地等待客户端发起的页面访问请求.其典型攻击流程如图 1 所示:1. 客户端访问攻击页面;2. 服务器做出响应,将页面内容返回给客户端;3. 页面被浏览器加载、渲染,页面中包含的攻击向量在浏览器中被执行并尝试进行漏洞利用;4,5. 存在该漏洞的客户端被攻破,进而下载、安装、执行恶意程序。

最新Web应用安全测试方案

精品文档 1 Web安全测试技术方案 1.1 测试的目标更好的发现当前系统存在的可能的安全隐患,避免发生危害性的安全事件更好的为今 后系统建设提供指导和有价值的意见及建议 1.2 测试的范围 本期测试服务范围包含如下各个系统: Web系统: 1.3 测试的内容 1.3.1 WEB^ 用 针对网站及WEB系统的安全测试,我们将进行以下方面的测试: Web 服务器安全漏洞 Web 服务器错误配置 SQL 注入 XSS (跨站脚本) CRLF 注入 目录遍历 文件包含 输入验证 认证 逻辑错误 Google Hacking 密码保护区域猜测字典攻击特定的错误页面检测脆弱权限的目录危险的HTTP 方法(如:PUT、DELETE) 1.4 测试的流程 方案制定部分: 精品文档 获取到客户的书面授权许可后,才进行安全测试的实施。并且将实施范围、方法、时间、人员等具体的方案与客户进行交流,并得到客户的认同。 在测试实施之前,让客户对安全测试过程和风险知晓,使随后的正式测试流程都在客户的控制下。 信息收集部分:

这包括:操作系统类型指纹收集;网络拓扑结构分析;端口扫描和目标系统提供的服务识别等。采用商业和开源的检测工具(AWVS burpsuite、Nmap等)进行收集。 测试实施部分: 在规避防火墙、入侵检测、防毒软件等安全产品监控的条件下进行:操作系统可检测到的漏洞测试、应用系统检测到的漏洞测试(如:Web应用),此阶段如果成功的话,可能获得普通权限。 安全测试人员可能用到的测试手段有:扫描分析、溢出测试、口令爆破、社会工程学、客户端攻击、中间人攻击等,用于测试人员顺利完成工程。在获取到普通权限后,尝试由普通权限提升为管理员权限,获得对系统的完全控制权。此过程将循环进行,直到测试完成。最后由安全测试人员清除中间数据。 分析报告输出: 安全测试人员根据测试的过程结果编写直观的安全测试服务报告。内容包括:具体的操作步骤描述;响应分析以及最后的安全修复建议。 下图是更为详细的步骤拆分示意图: 精品文档 1.5 测试的手段 根据安全测试的实际需求,采取自动化测试与人工检测与审核相结合的方式,大大的减少了自动化测试过程中的误报问题。

Web应用安全测试方案

1 Web 安全测试技术方案 1.1测试的目标 更好的发现当前系统存在的可能的安全隐患,避免发生危害性的安全事件 更好的为今后系统建设提供指导和有价值的意见及建议 1.2测试的范围 本期测试服务范围包含如下各个系统: Web 系统: 1.3测试的内容 1.3.1WEB 应用 针对网站及WEB 系统的安全测试,我们将进行以下方面的测试: Web 服务器安全漏洞 Web 服务器错误配置 SQL 注入 RSS (跨站脚本) CRLF 注入 目录遍历 文件包含 输入验证 认证逻辑错误 GoogleHacAing 密码保护区域猜测字典攻击特定的错误页面检测脆弱权限的目录危险的HTTP

方法(如:PUT、DELETE) 1.4测试的流程 方案制定部分:获取到客户的书面授权许可后,才进行安全测试的实施。并且将实施范围、方法、时间、人员等具体的方案与客户进行交流,并得到客户的认同。 在测试实施之前,让客户对安全测试过程和风险知晓,使随后的正式测试流程都在客户的控制下。 信息收集部分:这包括:操作系统类型指纹收集;网络拓扑结构分析;端口扫描和目标系统提供的服务识别等。采用商业和开源的检测工具(AWVS 、burpsuite 、Nmap 等)进行收集。 测试实施部分:在规避防火墙、入侵检测、防毒软件等安全产品监控的条件下进行:操作系统可检测到的漏洞测试、应用系统检测到的漏洞测试(如:Web 应用),此阶段如果成功的话,可能获得普通权限。 安全测试人员可能用到的测试手段有:扫描分析、溢出测试、口令爆破、社会工程学、客户端攻击、中间人攻击等,用于测试人员顺利完成工程。在获取到普通权限后,尝试由普

收集日志的方法

收集日志的方法(V5.5及以下版本) 刘奇liuqi@https://www.360docs.net/doc/7411459894.html,2010-9-14 说明:本文档非本人编写,为深圳同事总结。 举例说明,怎样把程序出错时,或者程序运行慢的前台界面现象截图,前台详细日志,后台详细日志收集和提交。 1. 某客户查询凭证时,前台报错。 2.下面介绍怎样把日志收集完整给开发, 在打开这个出错节点之前,我们先打开前台日志,在程序的右上角上一个日志按钮, 并把log level设置为debug, 按clear 按钮清除之前的日志,让收集的日志更为准确 3.在服务器端运行wassysconfig.bat—log- 日志配置http://localhost:88 –读取(中间件必须在启动状态),下图中88为nc的web访问端口,如果是80端口访问nc,请在此输入80. 把anonymous和nclog 级别设置为debug,滚动策略中最大字节设置为10m,最大文件数设置为20,并按保存。如下图,这个时候,所在访问nc服务器的88端口的操作,将会有debug输出到指定目录的指定文件。(ncv5产品是可以动态打开和关闭日志,不需要重新启动中间件才生效)

4.在服务器端打开日志目录D:\ufida\ufsoft\nclogs\server1,按日期排序日志文件,记下nc-log 和anony-log当前正在输出的文件(可能有很多nc-log和anony-log文件,要记住正在输出的最新的日志文件),如下图nc-log[0].log和anony-log[0].log是正在输入的日志文件 1.准备工作都完成了,我们需要把问题重现一次。以便生成日志并提交给开发。如下图, 我们操作凭证查询,界面报错,我们可以使用键盘上的prtscreen键直接截图到word文件,把前台直接看到的错误保存下来。 2.问题重现后,我们立即去把后台日志的级别设置为error,并保存。防止其他用户操作nc 产生大量的日志输出,不便查找我们所要的信息,如下图

中国移动上网日志留存系统GbIuPS采集解析设备规范

中国移动通信企业标准 QB-W-025-2011 中国移动上网日志留存系统规 范G b/I u P S采集解析设备规范 E q u i p m e n t S p e c i f i c a t i o n o f C h i n a M o b i l e N e t l o g S y s t e m (S i g n a l C o l l e c t i o n G b/I u P S P a r t) 版本号:1.0.0 2013-6-25发布2013-6-27实施中国移动通信集团公司发布

目录 前言 .................................................................... III 1 范围 (1) 2 规范性引用文件 (1) 3 术语、定义和缩略语 (1) 4 设备在系统中的位置 (2) 5 功能要求 (3) 5.1 Gb/IuPS采集位置要求 (4) 5.2 数据旁路功能要求 (6) 5.3 数据接入功能要求 (7) 5.4 协议解码功能要求 (7) 5.5 DPI功能要求(可选) (8) 5.6 数据存储功能要求 (9) 5.7 数据输出功能要求 (10) 5.8 上报告警功能要求 (10) 6 性能指标和可靠性要求 (11) 6.1 性能要求 (11) 6.2 软件要求 (11) 6.3 硬件要求 (12) 6.4 可扩展要求 (12) 6.5 部署要求 (12) 6.6 可靠性 (13) 7 接口要求 (13) 7.1 千兆以太网接口 (13) 7.1.1 1000BaseT接口 (14) 7.1.2 1000Base-SX接口 (14) 7.1.3 1000Base-LX接口 (14) 7.2 10G以太网接口 (14) 7.2.1 10GBase-S接口 (14) 7.2.2 10GBase-L接口 (14) 7.2.3 10GBase-E接口 (14) 8 时间同步要求 (15) 9 网管要求 (15) 9.1 配置管理 (15) 9.2 查询设备信息 (17) 9.2.1 设备硬件信息 (17) 9.2.2 设备网络信息 (17) 9.3 查询设备状态 (18) 9.3.1 设备负荷 (18) 9.4 设备状态管理 (19) 9.4.1 故障管理 (19) 9.5 性能管理 (20) 9.6 安全管理 (20)

web安全渗透测试培训安全测试总结

web安全渗透测试培训安全测试总结 跨站点脚本攻击(Xss) Burpsuite探测反射型xss问题请求的值没有做处理就在响应中返回 越权访问定义:不同权限账户之间的功能及数据存在越权访问。 测试方法: 1.抓取A用户功能链接,然后登录B用户对此链接进行访问。 2.抓取用户A的uesrid,用用户B登录时替换为用户A的userid。 3.抓取用户A的cookie,用用户B登录时替换用户A的cookie。 文上传漏洞定义:没有对上传文扩展名进行限制或者限制可以被绕过。 测试方法:找到系统中可以上传文的地方,抓取功能链接,修改文扩展名,看响应包的状态。 关键会话重放攻击定义:可以抓取包固定账号破解密码、固定密码破解账号和重放提交投票数据包。 测试方法:

使用抓包工具抓取系统登录请求,获得用户和密码参数,使用用户或密码字典替代登录请求会话中对应的用户或密码参数,暴力破解。 中间weblogic命令执行漏洞定义:weblogic反序列化漏洞,可以执行系统命令。 测试方法: 使用CVE-20XX-2628漏洞检测工具,对目标主机进行检测。在url.txt中填入目标主机的“ip:port”,这里填入 192.168.2.103:7001。在windows主机打开命令行运行CVE-20XX-2628-MultiThreading.py开始检测。 敏感信息泄露定义:系统暴露系统内部信息,包括网站绝对路径泄露、SQL语句泄露、中间泄露、程序异常回显。 测试方法: 1.使用抓包工具对系统中的参数进行篡改,加入特殊符号“’、--、&;”,查看返回数据包。 2.查看系统前端js代码。 SQL语句泄露中间版本泄露程序异常回显程序异常回显后台泄露漏洞中间后台泄露定义:weblogic后台地址过于简单,攻击者很容易猜测和破解到后台地址。 测试方法: 1.不允许使用默认地址 2.不允许只修改控制台访问地址的端口号

HP日志收集工具和收集方法

HP日志收集工具和收集方法 一、收集两种日志的方法: nickel日志和crashinfo日志 nickel是收集当前系统日志。但是HP重启系统后,前面的日志就消失了,所以通过crashinfo可以收集更多日志。 将附件中的文件用ftp的bin方式上传到服务器。 详细做法: 1.用tar命令解包: #tar xvf nickel.20091202.tar 会产生一个nickel.sh脚本。 运行nickel.sh 脚本: #sh nicke.sh 会在当前目录下产生一个nickel.sh.主机名.tar.gz文件 (注:如果系统外接的存储较多,此命令运行时间可能会需要一段时间。) 2.为了进一步诊断,需要您再收取一下crash信息: 1)tar xvf crashinfo.tar # 将附件中的文件用bin的方式上传到重启的那台服务器,然后解压 2)cd /var/adm/crash # 进入到文件的解压目录 3)./crashinfo.exe # 执行此命令,在当前的目录里生成crashinfo命令文件(注意:生成的文件没有了.exe后缀)

4)ll # 找到最新生成的crash目录是crash.0 还是crash.1 或是crash.2 ……? 5)./crashinfo crash.? > crash.?.txt # 用生成的crashinfo命令解析最新的crash.? 里面的信息,重定向到crash.?.txt 文件中 例如:./crashinfo crash.1 > crash.1.txt ./crashinfo -H crash.1 > crash.html 二、MP日志收集 MP login: 登录后,会出现MP>提示符。可以输入命令收集各种日志: 1.收集vfp MP:>vfp 2.收集SEL MP>sl -e -t3 -nc 3.收集FPL MP>sl -f -t 3 -nc 然后,在MP>提示符下输入CM回车,进入MP:CM>提示符,然后进行下面操作: 4.收集硬件时间 MP:CM>date

跟我学IBM AppScan Web安全检测工具——应用AppScan软件工具进行安全检测(第1部分)

1.1跟我学IBM AppScan Web安全检测工具——如何应用AppScan软件工具进行安全检测(第1部分) 1.1.1新建和定义扫描配置 1、新建一个新的扫描 启动AppScan后可以在欢迎界面中点击“创建新的扫描”链接,或者选择“文件”菜单中的“新建”子菜单项目。 都将出现下面的“新建扫描”时所需要选择的模板对话框窗口,主要提供有如下类型的模板——常规扫描、快速且简单的扫描、综合扫描、基于参数的导航、WebSphere

Commerce、WebSphere Portal、https://www.360docs.net/doc/7411459894.html,、Hacme Bank、WebGoat v5等。 当然,也可以在欢迎对话框界面中选中已经存在的扫描配置文件,从而重用原有的扫描配置结果。 将出现如下的加载信息

可以在此配置文件的基础上继续检测或者显示出以前的检测结果信息。 2、应用某个扫描模板 选择一个适合满足检测要求的扫描模板——在模板中包括已经定义好的扫描配置,选择一个模板后会出现配置向导——本示例选择“常规扫描”模板(使用默认模板)。然后将出现下面的“扫描配置向导”对话框。 扫描配置向导是AppScan工具的核心部分,使用设置向导可以简化检测的配置过程。目前,在本示例程序中没有下载安装“GSC Web Service记录器”组件,因此目前还不能对“Web Service”相关的程序进行扫描。如果在Web应用系统中涉及Web Service,则需要下

载安装“GSC Web Service记录器”组件。 在“扫描配置向导”对话框中选择扫描的类型,目前选择“Web应用程序扫描”类型选择项目。然后再点击“下一步”按钮,将出现下面的“URL和服务器”界面。 3、定义URL和服务器 在“URL和服务器”界面中,根据检测的需要进行相关的配置定义。 (1)Starting URL(扫描的起始网址) 此功能指定要扫描的起始网址,在大多数情况下,这将是该网站的登陆页面或者Web 应用系统的首页面。Rational AppScan 提供有测试站点(https://www.360docs.net/doc/7411459894.html,,而登录https://www.360docs.net/doc/7411459894.html, 站点的用户名和密码为:jsmith / Demo1234),但本示例选择“http://XXX.XX.XX.XXX:3030/”(XX考勤系统)作为检测的起始网址,并选择“仅扫描此目录中或目录下的链接”的选择框,从而可以限制只扫描目标Web应用系统所在的工作目录下的各个链接。 (2)Case Sensitive Path(区分大小写的路径) 如果待检测的服务器URL有大小写的区别,则需要选择此项。对大小写的区别取决于服务器的操作系统类型,在Linux/Unix系统中对URL的大小写是敏感的,而Windows是没有此特性的。本示例的检测目标Web应用系统是部署在Windows系统中的,因此不需要选中“区分大小写的路径”的选择项目。 (3)Additional Servers and Domains(其他服务器和域) 在扫描过程中,AppScan尝试抓取本Web应用系统上的所有链接。当它发现了一个链接指向不同的域(比如子站点等),它是不会进行扫描攻击的,除非在“Additional Servers and Domains”(其他服务器和域)中有指定。因此,通过指定该标签下的链接来告诉AppScan 继续扫描,即使它和URL是在不同的域下。

Linux 系统日志收集分析系统

Linux 系统日志收集分析系统 一、搭建环境 系统:centos6.5 软件:lamp、rsyslog、rsyslog-mysql 、loganalyzer rsyslog用来收集远程服务器系统日志信息 rsyslog-mysql是rsyslog连接数据库的模块 loganalyzer用来分析系统日志 二、软件安装 a、httpd安装 tar -jxvf apr-1.5.1.tar.bz2 ./configure --prefix=/usr/local/apr make && make install tar -zxvf apr-util-1.5.4.tar.gz ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ make && make install tar -zxvf httpd-2.4.12.tar.gz yum install -y pcre-devel zlib-devel openssl-devel ./configure --prefix=/data/program/apache2 --enable-so --enable-rewrite --enable-ssl --enable-cgi --enab le-cgid --enable-modules=most --enable-mods-shared=most --enable- mpms-share=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-deflate make -j 6 && make install ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 修改httpd配置文件,添加如下两行 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 定位至DirectoryIndex index.htm DirectoryIndex index.php index.html 注释掉主服务的站点目录 #DocumentRoot "/data/program/apache2/htdocs" 开启虚拟主机需要加载 Include conf/extra/httpd-vhosts.conf LoadModule log_config_module modules/mod_log_config.so 添加虚拟主机 DirectoryIndex index.php index.htm ServerAdmin https://www.360docs.net/doc/7411459894.html, DocumentRoot "/data/program/apache2/htdocs/" ServerName https://www.360docs.net/doc/7411459894.html, ErrorLog "logs/syslog-error_log" CustomLog "logs/syslog-access_log" common 添加httpd及mysql的路径环境变量 vi /etc/profile.d/path.sh PAHT=$PATH:/data/program/mysql5/bin:/data/program/apache/bin source /etc/source httpd -k start ---------------------------------------------------------------------- b、mysql5.5安装 groupadd -r mysql useradd -g mysql -r -d /data/mydata mysql yum install cmake tar xf mysql-5.5.25.tar.gz cd mysql-5.5.25 cmake . -DCMAKE_INSTALL_PREFIX=/data/program/mysql5 -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH _INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 - DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 - DDEFAULT_COLLATION=utf8_general_ci make make install ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 初始化数据库 /data/program/mysql5/scripts/mysql_install_db --basedir=/data/program/mysql5 --datadir=/data/program/mysq l5 --user=mysql 添加mysql启动程序到init.d cp /data/program/mysql5/support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld 提供mysql配置文件 /etc/https://www.360docs.net/doc/7411459894.html,f port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 384M max_allowed_packet = 2M

十大Web服务器漏洞扫描工具

1. Nikto 这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250多个服务器上的版本特定问题)进行全面的测试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。 Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下(或者测试你的IDS系统),它也可以支持LibWhisker的反IDS方法。 不过,并非每一次检查都可以找出一个安全问题,虽然多数情况下是这样的。有一些项目是仅提供信息(“info only” )类型的检查,这种检查可以查找一些并不存在安全漏洞的项目,不过Web管理员或安全工程师们并不知道。这些项目通常都可以恰当地标记出来。为我们省去不少麻烦。 2. Paros proxy 这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。它支持动态地编辑/查看HTTP/HTTPS,从而改变cookies 和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序(spider),hash 计算器,还有一个可以测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。 3. WebScarab 它可以分析使用HTTP 和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。 4. WebInspect 这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的Web攻击,如参数注入、跨站脚本、目录遍历攻击(directory traversal)等等。 5. Whisker/libwhisker

如何收集服务器各类日志

目录 DSA 工具下载链接: (2) Linux操作系统下收集DSA日志步骤: (2) Windows操作系统下收集DSA日志步骤: (2) IMM日志收集步骤: (3) IMM2日志收集步骤: (6) 刀片服务器的AMM日志收集步骤: (11) Flex刀箱的CMM日志收集步骤: (11) OS和应用日志收集步骤: (11)

DSA 工具下载链接: DSA 工具下载链接 https://www.360docs.net/doc/7411459894.html,/support/entry/portal/docdisplay?lndocid=SERV-DSA DSA Installation and User's Guides: https://www.360docs.net/doc/7411459894.html,/support/entry/portal/docdisplay?lndocid=MIGR-5084901 Linux操作系统下收集DSA日志步骤 : 日志步骤: 1.把下载的“.bin”的文件拷贝到服务器本地。cp /tmp 2.chmod +x 3.cd /tmp 4./ 5.收集完成后,在根目录下的 VAR/LOG 下会生成一个IBM SUPPORT 的文件夹,其中有以机器 型号序列号及日期命名的日志压缩包,这个就是DSA日志。 日志步骤: : Windows操作系统下收集DSA日志步骤 1.把下载的 DSA 工具拷贝到C 盘根目录 2.双击运行,此时会出现一个 DOS 窗口,等待10 分钟左右,会完成收集工作 3.提示按任意键,DOS 窗口自动关闭。 4.在 C 盘根目录下会生成一个名为IBM SUPPORT 的文件夹,其中有以机器型号序列号及日期命 名的日志压缩包,这个就是DSA日志。

信息系统日志管理办法最终版.doc

陕西煤业化工集团财务有限公司 信息系统日志管理办法 第一章总则 第一条随着公司信息系统规模的逐步扩大,越来越多的主机、应用系统、网络设备加入到系统网络中,日志安全管理变得越来越复杂。为了规范公司信息系统运行过程中的日志安全管理,为系统运行监控、安全事件跟踪、系统审计等提供真实的日志数据,特制定本办法。 第二条本办法适用于公司信息系统日志安全管理过程。 第二章日志产生管理 第三条为了实时有效的产生必须的日志信息,应开启网络设备、安全设备、操作系统、数据库系统、应用系统等系统日志功能。 第四条一般需开启的日志功能项: (一)记录用户切换产生的日志; (二)系统的本地和远程登陆日志; (三)修改、删除数据; (四)为了掌握系统的性能开支,必须开启系统统计,周期性收集系统运行数据,包括 (CPU utilization, disk I/O等) ,管理人员应经常性查看系统负荷和性能峰值,从而判断系统是否被非法使用或受到过攻击。 第五条安全设备需开启的日志功能项: (一)流量监控的日志信息; (二)攻击防范的日志信息; (三)异常事件日志缺省为打开,可发送到告警缓冲区。 第六条本地日志文件不可以全局可写,通过修改日志的默认权限提高日志系统的安全性,防止非授权用户修改日志信息。 第七条安全日志最大值设置。安全日志最大值:>100MB。 第三章日志采集管理 课件

第八条为了更好的保存日志和后续的处理,应创建专门的日志采集服务器。 第九条在指定用户日志服务器时,日志服务器的IP地址,日志服务器应使用1024以上的UDP端口作为日志接收端口。 第十条日志信息按重要性可按级别、用户、源IP、目的IP、事件、模块进行信息过滤。 第十一条日志要统一考虑各种攻击、事件,将各种日志输出格式、统计信息等内容进行规范,从而保证日志风格的统一和日志功能的严肃性。 第十二条网络设备的管理,配置网络设备的日志发送到日志采集服务器,日志采集服务器对其日志进行格式化、过滤、聚合等操作。 第四章日志审计 第十三条对公司敏感信息操作的相关日志,应对其加大审核的力度和频率。 第十四条网络设备、安全设备的系统和报警日志由安全管理员进行至少每月一次的安全审核,并填相关的网络设备日志审核记录,以及时发现问题,并根据问题采取相应措施。 第十五条重要服务器操作系统的操作记录由系统管理员根据操作系统记录文件对用户操作时的用户识别符、登陆时间、注销时间、操作结果等要素进行至少每月一次的安全审核,并填相关的服务器操作系统日志审核记录。 第十六条数据库的直接访问修改操作通过人工记录填写相关的数据库访问修改操作审核记录,并由数据库管理员对用户操作时的用户识别符、登陆时间、注销时间、操作结果等要素进行至少每月一次的安全审核。 第十七条应用系统管理员应根据应用系统自身的日志记录,对应用系统用户操作时的对用户账号、权限的增加、修改、删除,用户识别符、登陆时间、注销时间、操作结果等要素进行每月一次的安全审核,并填制相关的应用系统日志审核记录。 第十八条相关管理员配合安全管理员对系统日志进行定期审计。 第十九条审计日志中的记录不允许在日志中包含密码,具体审计策略由安全管理员协调并配合各管理员制定。 第二十条要保护审计的日志程序和文件,严格控制访问权限。 第二十一条系统管理员的行为(如UNIX中的su)要做日志记录。 专业课件

Web安全测试规范V1.3

安全测试工作规范 深圳市xx有限公司 二〇一四年三月

修订历史记录 A - 增加M - 修订D - 删除

目录 1 概述 (5) 1.1 背景简介 (5) 1.2 适用读者 (5) 1.3 适用范围 (5) 1.4 安全测试在项目整体流程中所处的位置 (6) 1.5 安全测试在安全风险评估的关系说明 (6) 1.6 注意事项 (6) 1.7 测试用例级别说明 (7) 2 Web安全测试方法 (8) 2.1 安全功能验证 (8) 2.2 漏洞扫描 (8) 2.3 模拟攻击实验 (8) 2.4 侦听技术 (8) 3 Appscan工具介绍 (9) 3.1 AppScan工作原理 (9) 3.2 AppScan扫描阶段 (10) 3.3 AppScan工具使用 (11) 3.4 AppScan工具测试覆盖项说明...................... 错误!未定义书签。 4 测试用例和规范标准 (19) 4.1 输入数据测试 (20) 4.1.1 SQL注入测试 (20) 4.1.2 命令执行测试 (25) 4.2 跨站脚本攻击测试 (26) 4.2.1 GET方式跨站脚本测试 (28) 4.2.2 POST方式跨站脚本测试 (29) 4.2.3 跨站脚本工具实例解析 (30) 4.3 权限管理测试 (32)

4.3.1 横向测试 (32) 4.3.2 纵向测试 (33) 4.4 服务器信息收集 (38) 4.4.1 运行账号权限测试 (38) 4.4.2 Web服务器端口扫描 (38) 4.5 文件、目录测试 (39) 4.5.1 工具方式的敏感接口遍历 (39) 4.5.2 目录列表测试 (41) 4.5.3 文件归档测试 (43) 4.6 认证测试 (44) 4.6.1 验证码测试 (44) 4.6.2 认证错误提示 (45) 4.6.3 锁定策略测试 (46) 4.6.4 认证绕过测试 (47) 4.6.5 修复密码测试 (47) 4.6.6 不安全的数据传输 (48) 4.6.7 强口令策略测试 (49) 4.7 会话管理测试 (51) 4.7.1 身份信息维护方式测试 (51) 4.7.2 Cookie存储方式测试 (51) 4.7.3 用户注销登陆的方式测试 (52) 4.7.4 注销时会话信息是否清除测试 (53) 4.7.5 会话超时时间测试 (54) 4.7.6 会话定置测试 (54) 4.8 文件上传下载测试 (55) 4.8.1 文件上传测试 (55) 4.8.2 文件下载测试 (56) 4.9 信息泄漏测试 (57) 4.9.1 连接数据库的账号密码加密测试 (57) 4.9.2 客户端源代码敏感信息测试 (58)

日志采集方式 SNMP TRAP 和 Syslog 的区别

日志采集方式SNMP TRAP 和Syslog 的区别 日志文件能够详细记录系统每天发生的各种各样的事件,对网络安全起着非常的重要作用。网络中心有大量安全设备,将所有的安全设备逐个查看是非常费时费力的。另外,由于安全设备的缓存器以先进先出的队列模式处理日志记录,保存时间不长的记录将被刷新,一些重要的日志记录有可能被覆盖。因此在日常网络安全管理中应该建立起一套有效的日志数据采集方法,将所有安全设备的日志记录汇总,便于管理和查询,从中提取出有用的日志信息供网络安全管理方面使用,及时发现有关安全设备在运行过程中出现的安全问题,以便更好地保证网络正常运行。 采集技术比较 网络管理中常用来采集日志数据的方式包括文本方式采集、SNMP Trap方式采集和syslog方式采集,另外,其他采集方式,如Telnet 采集(远程控制命令采集)、串口采集等。我们如何选用比较合适的技术方式进行日志数据采集是必须首先考虑的,下面对当前主要的日志数据采集技术进行简单分析。 文本方式 在统一安全管理系统中以文本方式采集日志数据主要是指邮件或FTP方式。邮件方式是指在安全设备内设定报警或通知条件,当符合条件的事件发生时,相关情况被一一记录下来,然后在某一时间由安全设备或系统主动地将这些日志信息以邮件形式发给邮件接受者,属于被动采集日志数据方式。其中的日志信息通常是以文本方式传送,传送的信息量相对少且需专业人员才能看懂。而FTP方式必须事先开发特定的采集程序进行日志数据采集,每次连接都是完整下载整个日志文本文件,网络传输数据量可能非常大,属于主动采集日志数据方式。 随着网络高速的发展,网络内部以百兆、千兆甚至万兆互联,即使采取功能强大的计算机来处理日志数据包的采集工作,相对来说以上两种方式速度和效率也是不尽人意。因此,文本方式只能在采集日志数据范围小、速度比较慢的网络中使用,一般在网络安全管理中不被主要采用。 SNMP trap方式 建立在简单网络管理协议SNMP上的网络管理,SNMP TRAP是基于SNMP MIB的,因为SNMP MIB 是定义了这个设备都有哪些信息可以被收集,哪些trap的触发条件可以被定义,只有符合TRAP触发条件的事件才被发送出去。人们通常使用SNMP Trap 机制进行日志数据采集。生成Trap消息的事件(如系统重启)由Trap代理内部定义,而不是通用格式定义。由于Trap机制是基于事件驱动的,代理只有在监听到故障时才通知管理系统,非故障信息不会通知给管理系统。对于该方式的日志数据采集只能在SNMP下进行,生成的消息格式单独定义,对于不支持SNMP设备通用性不是很强。

相关文档
最新文档