本文参考如下链接完成
1. https://my.f5.com/manage/s/article/K00847516
2. https://my.f5.com/manage/s/article/K73554344
3. https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-external-monitoring-implementations-13-0-0/2.html
4. https://www.cnblogs.com/JetpropelledSnake/p/10564448.html
5. https://www.cnblogs.com/JetpropelledSnake/p/10550778.html
一、F5侧配置
1、先配置pool,将graylog服务器IP+syslog input端口作为pool成员
(图片点击放大查看)
2、创建Request Logging的Profiles
例如vs_logging_to_graylog
模板内容为
{ "client_ip":"$CLIENT_IP","client_port":"$CLIENT_PORT","x-forward-for-ip":"${X-Forwarded-For}","date":"$DATE_NCSA","virtual_ip":"$VIRTUAL_IP","virtual_port":"$VIRTUAL_PORT","virtual_name":"$VIRTUAL_NAME","virtual_pool_name":"$VIRTUAL_POOL_NAME","server_ip":"$SERVER_IP","server_port":"$SERVER_PORT","http_path":"$HTTP_PATH","http_request":"$HTTP_REQUEST","http_statcode":"$HTTP_STATCODE","response_size":"$RESPONSE_SIZE","response_msecs":"$RESPONSE_MSECS","referer":"$Referer","user-agent":"${User-agent}" }
上面的这个变量参考Request logging parameters变量表,添加你需要的参数
我这边构造成json格式,方便Graylog进行JSON日志解析
3、接下来在VS中应用这个vs_logging_to_graylog 的Request Logging Profile
(图片点击放大查看)
二、GrayLog侧配置
1、添加一个syslog 的input,端口与F5中配置的pool成员中一致
(图片点击放大查看)
2、针对采集的日志配置一下Json提取器
(图片点击放大查看)
3、Graylog上最终访问VS的日志效果如下
(图片点击放大查看)
三、结合F5的iRules拦截攻击IP
针对访问IP的访问日志,可以结合安全威胁情报(例如微步)或者内部态势感知等等安全告警 判断是否封锁攻击IP 可以联动防火墙进行封锁
可以结合F5的iRules拦截攻击IP
步骤如下
1、新建 iRules中的Data Group List
例如BlockListIP_DataGroup
(图片点击放大查看)
2、新建iRules
例如
when FLOW_INIT { if { [class match [IP::remote_addr] equals BlockListIP_DataGroup]} { log local0. "Attacker IP [IP::client_addr]" drop } }
3、在VS的Resoures中应用这个iRules模板即可
这样就只用在Data Group List添加攻击IP黑名单即可进行拦截
原文始发于微信公众号(Linux运维实践派):利用Graylog接入F5的RequestLog请求日志并结合F5的iRules拦截攻击IP
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论