微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Graylog2进阶 打造基于Nginx日志的Web入侵检测分析系统

对于大多数互联网公司,基于日志分析的WEB入侵检测分析是不可或缺的。

那么今天我就给大家讲一讲如何用graylog的extractor来实现这一功能

首先要找一些能够识别的带有攻击行为的关键字作为匹配的规则。

由于我不是专门搞安全的,所以在网上找了一些软waf的规则脚本。

剩下来的工作就可以交给Graylog的extractor实现了。

这次介绍一下extractor的copy input用法

 (1)waf规则脚本如下:

\.\./
select.+(from|limit)
(?:(union(.*?)select))
having|rongjitest
sleep\((\s*)(\d*)(\s*)\)
benchmark\((.*)\,(.*)\)
base64_decode\(
(?:from\W+information_schema\W)
(?:(?:current_)user|database|schema|connection_id)\s*\(
(?:etc\/\W*passwd)
into(\s+)+(?:dump|out)file\s*
group\s+by.+\(
xwork.MethodAccessor
(?:define|eval|file_get_contents|include|require|require_once|shell_exec|PHPinfo|system|passthru|preg_\w+|execute|echo|print|print_r|var_dump|(fp)open|alert|showmodaldialog)\(
xwork\.MethodAccessor
(gopher|doc|PHP|glob|file|phar|zlib|ftp|ldap|dict|ogg|data)\:\/
java\.lang
\$_(GET|post|cookie|files|session|env|PHPlib|GLOBALS|SERVER)\[
\<(iframe|script|body|img|layer|div|Meta|style|base|object|input)
(onmouSEOver|onerror|onload)\=

(2)在导航栏Search中选择一条Nginx日志,点击右边的小黑三角,依次选择Create extractor for field url -> copy input

(3)在Condition中选择正则表达式匹配Only attempt extraction if field matches regular expression ,选择一条waf规则填入Field matches regular expression,在store as field中填入要保存的字段risk_url,

这个操作的主要作用就是把符合waf规则条件的url字段的值在拷贝到新的字段risk_url中,这样在做数据过滤的时候,只要判断risk_url字段不为空就能把风险请求的url过滤出来了。

(4)在Streams新建一个名为risk_url_log的stream。

(5)在我们建好的risk_url_log的stream中选择Manage RulesField填入刚才规则里创建的字段risk_url, Type选择field presence ,点击save保存。

这一步的操作主要就是告诉graylog只要字段risk_url字段是存在的,就放入risk_url这个stream中,方便我们日后查阅。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐