对于大多数互联网公司,基于日志分析的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( (?:fromW+information_schemaW) (?:(?:current_)user|database|schema|connection_id)s*( (?:etc/W*passwd) into(s+)+(?:dump|out)files* groups+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 Rules,Field填入刚才规则里创建的字段risk_url, Type选择field presence ,点击save保存。
这一步的操作主要就是告诉graylog只要字段risk_url字段是存在的,就放入risk_url这个stream中,方便我们日后查阅。



【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!