本文共 3621 字,大约阅读时间需要 12 分钟。
Web安全形势一直不容乐观, 根据, 爬虫占据Web流量的42%左右.
大量的机器人访问网站, 设想你的网站有42%的流量都不是真的人访问的. 相当一部分还会大量占用后台的网络带宽, 服务器计算, 存储资源.
航空公司占座: 黄牛党利用恶意爬虫遍历航空公司的低价票,同时批量发起机器请求进行占座,导致航班座位资源被持续占用产生浪费,最终引发航班空座率高对航空公司造成业务损失,并且损害正常用户的利益。
黄牛党在电商活动时针对有限的高价值商品的限时秒杀、优惠活动等可牟利场景,批量发起机器请求来模拟正常的交易,再将商品、资源进行倒卖从中赚取差价,导致电商企业的营销资源无法触达正常用户,而被黄牛牟取暴利。
核心接口被刷: 登录、注册、短信等业务环节作为业务中的关键节点,相关接口往往会被黑客利用,为后续的欺诈行为作准备。
爬虫与反爬虫是一个攻与防的过程, 根据前述报告, 高级机器人占据了74%的比例(剩余是比较简单的机器人), 而根据,企业组织的攻击从发生到被发现,一般经过了多达101天,其中亚太地区问题更为严重,一般网络攻击被发现是在近498(超过16个月)之后。有了日志才能更好的找出隐藏很深的坏机器人.
爬虫也分好与坏, 搜索引擎来查询, 才可以达到SEO效果并带来更多有价值的访问. 通过日志可以帮助管理员更好的区分哪些是好的机器人, 并依据做出更加适合自己的反爬配置.
发现非法攻击的机器人, 可以保留攻击者信息与路径, 作为报警的重要证据.
基于日志可以发现异常, 并能快速报警并采取行动.
依托日志服务的其他功能, 可以发挥日志的更大价值.
是一款网络应用安全防护产品,专业检测高级爬虫,降低爬虫、自动化工具对网站的业务影响。 产品提供从Web、App到API接口的一整套全面的恶意Bot防护解决方案,避免某一环节防护薄弱导致的安全短板。
阿里云的日志服务(log service)是针对日志类数据的一站式服务,无需开发就能快捷完成海量日志数据的采集、消费、投递以及查询分析等功能,提升运维、运营效率。日志服务主要包括 实时采集与消费、数据投递、查询与实时分析 等功能,适用于从实时监控到数据仓库的各种开发、运维、运营与安全场景:
目前,与打通,对外开发Web访问与攻击日志。提供近实时的网站具体的日志自动采集存储、并提供基于日志服务的查询分析、报表报警、下游计算对接与投递的能力。
爬虫风险管理日志实时查询分析服务具有以下功能优势:
爬虫风险管理所存储的日志库属于专属的日志库,有如下限制:
查看Top 100的爬取机器人列表:
__topic__: antibot_access_log AND (block_action:* AND NOT block_action: "") | SELECT if(real_client_ip='-', remote_addr, real_client_ip) as IP, (CASE WHEN ip_to_country(if(real_client_ip='-', remote_addr, real_client_ip))='香港' THEN '中国香港' WHEN ip_to_province(if(real_client_ip='-', remote_addr, real_client_ip))='' THEN '未知IP' WHEN ip_to_provider(if(real_client_ip='-', remote_addr, real_client_ip))='内网IP' THEN '内网IP' ELSE concat(ip_to_country(if(real_client_ip='-', remote_addr, real_client_ip)), '/', ip_to_province(if(real_client_ip='-', remote_addr, real_client_ip)), '/', if(ip_to_city(if(real_client_ip='-', remote_addr, real_client_ip))='-1', '未知城市', ip_to_city(if(real_client_ip='-', remote_addr, real_client_ip))), ' ',ip_to_provider(if(real_client_ip='-', remote_addr, real_client_ip))) END) AS "地理网络", concat(cast(count(1) AS varchar), ' / ', cast(sum(if(block_action='antibot', 1, 0)) AS varchar)) AS "攻击次数 / 爬虫封禁", round(sum(request_length)/1024.0/1024, 2) AS "攻击流量 (MB)" GROUP BY IP, "地理网络" ORDER BY count(1) DESC LIMIT 100
查看PV/UV访问趋势的SQL:
__topic__: antibot_access_log | select date_format(from_unixtime(__time__ - __time__% 3600), '%H:%i') as dt, count(1) as PV, approx_distinct(if(real_client_ip='-', remote_addr, real_client_ip)) as UV group by __time__ - __time__% 3600 order by dt limit 1000
查看有效请求与拦截率趋势的SQL:
__topic__: antibot_access_log | select date_format(from_unixtime(__time__ - __time__% 3600), '%H:%i') as dt, count(1) as "请求次数", round(sum(if(status < 400 and if((block_action <> ''), false, true), 1, 0))*100.0/sum(if(status < 500, 1, 0)), 1) AS "有效请求率(%)" group by __time__ - __time__% 3600 order by dt limit 10000
我们会陆续发布爬虫风险管理日志分析的最佳实践, 这里可以进一步参考相关用户手册:
转载地址:http://zyial.baihongyu.com/