精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

十分鐘解決爬蟲問題!超輕量級反爬蟲方案

安全 應用安全
本文將描述一種盡量簡單的反爬蟲方案,可以在十幾分鐘內解決部分簡單的爬蟲問題,緩解惡意攻擊或者是系統超負荷運行的狀況;至于復雜的爬蟲以及更精準的防御,需要另外討論。

[[173390]]

爬蟲和反爬蟲日益成為每家公司的標配系統。爬蟲在情報獲取、虛假流量、動態定價、惡意攻擊、薅羊毛等方面都能起到很關鍵的作用,所以每家公司都或多或少的需要開發一些爬蟲程序,業界在這方面的成熟的方案也非常多;有矛就有盾,每家公司也相應的需要反爬蟲系統來達到數據保護、系統穩定性保障、競爭優勢保持的目的。

然而,一方面防守這事ROI不好體現,另一方面反爬蟲這種系統,相對簡單的爬蟲來說難度和復雜度都要高很多,往往需要一整套大數據解決方案才能把事情做好,因此只有少量的公司可以玩轉起來。當出現問題的時候,很多公司往往束手無策。

本文將描述一種盡量簡單的反爬蟲方案,可以在十幾分鐘內解決部分簡單的爬蟲問題,緩解惡意攻擊或者是系統超負荷運行的狀況;至于復雜的爬蟲以及更精準的防御,需要另外討論。

整套方案會盡量簡單易懂,不會涉及到專門的程序開發,同時盡量利用現有的組件,避免額外組件的引入。內容上主要分為三大部分:

  1. 訪問數據獲取。采集用戶的訪問數據,用來做爬蟲分析的數據源
  2. 爬蟲封禁。當找到爬蟲后,想辦法去阻斷它后續的訪問
  3. 爬蟲分析。示例通過簡單策略來分析出爬蟲

簡單的數據獲取

數據獲取是做好反爬蟲系統的關鍵,常見的幾種模式

 本篇,采用nginx的日志方式,這種只需要通過對常見的nginx最簡單的配置就能從遠程獲取相應的訪問日志

官方nginx配置:

  1. log_format warden '" "$remote_addr" "$remote_port" "$server_addr" "$server_port" "$request_length" "$content_length" "$body_bytes_sent" "$request_uri" "$host" "$http_user_agent" "$status" "$http_cookie" "$request_method" "$http_referer" "$http_x_forwarded_for" "$request_time" "$sent_http_set_cookie" "$content_type" "$upstream_http_content_type" "$request_body"\n'
  2. access_log syslog:server=127.0.0.1:9514 warden ; 

 tengine配置(編譯時帶上--with-syslog)

  1. log_format warden '" "$remote_addr" "$remote_port" "$server_addr" "$server_port" "$request_length" "$content_length" "$body_bytes_sent" "$request_uri" "$host" "$http_user_agent" "$status" "$http_cookie" "$request_method" "$http_referer" "$http_x_forwarded_for" "$request_time" "$sent_http_set_cookie" "$content_type" "$upstream_http_content_type" "$request_body"\n'
  2. access_log syslog:user::127.0.0.1:9514 warden ; 

 這里面需要注意的是:

  • 由于較老的nginx官方版本不支持syslog,所以tengine在這塊功能上做了單獨的開發(需要通過編譯選項來啟用),在不確定的情況下,請修改配置 文件后先使用(nginx -t)來測試一下,如果不通過,需要重新在configure時加上syslog選項,并編譯。
  • 盡量獲取了跟爬蟲相關的數據字段,如果有定制的http header,可以自行加上 采用udp方式來發送syslog,可以將訪問日志發送給遠端分析服務,同時udp的方式保證nginx本身不會受到影響
  • 訪問日志拿不到響應的具體內容(nginx有辦法搞定,但有代價),無法支持業務相關的防護

簡單的爬蟲封禁

反爬蟲最后的生效,需要靠合理的封禁模式,這里比較幾種模式:

本段將介紹基于iptables的方案,雖然適用范圍較小;但是依賴少,可以通過簡單配置linux就能達到效果。

第一步

  1. 安裝ipset。ipset擴充了iptables的基本功能,可以提供更加高效的訪問控制 
  2.  
  3. # centos 6.5上面安裝非常簡單 
  4.  
  5. sudo yum install -y ipset  

第二步

在iptables中建立相應的ipset,來進行訪問權限的封禁

  1. # 新增用于封禁的ipset 
  2. sudo ipset -N --exist warden_blacklist iphash 
  3. # 增加相應的iptables規則 
  4. sudo iptables -A INPUT -m set --set warden_blacklist src -j DROP 
  5. # 保存iptables 
  6. sudo service iptables save  

第三步

獲取當前封禁的ip黑名單,并導入到iptables里面去

  1. sudo ipset --exist destroy warden_blacklist_tmp; sudo ipset -N warden_blacklist_tmp iphash; echo "1.1.1.1,2.2.2.2" | tr , "\n" | xargs -n 1 -I {} sudo ipset -A warden_blacklist_tmp {} ; sudo ipset swap warden_blacklist_tmp warden_blacklist 

這里為了盡可能的提升效率,作了以下事情:

  • 建立臨時ipset,方便做操作
  • 將當前封禁黑名單中的ip提取出來,加入到此ipset(示例中用了最簡單的echo來展示,實際可相應調整)
  • 將ipset通過原子操作與iptables正在使用的ipset作交換,以最小的代價將最新的黑名單生效

簡單的爬蟲策略

要能精確的分析爬蟲,需要強大的數據分析平臺和規則引擎,來分析這個IP/設備/用戶分別在短時間區間/長時間范圍里的行為特征和軌跡,這里涉及到了非常復雜的數據系統開發,本文將通過簡單的shell腳本描述比較簡單的規則

例子1,封禁最近100000條中訪問量超過5000的ip

  1. nc -ul 9514 | head -100000 | awk -F '" "' '{print $2}' | sort | uniq -c | sort -nr | awk '$1>=5000 {print $2}' 

這里面:

  1. udp服務監聽nginx發過來的syslog消息,并取10000條,找到其中每條訪問記錄的ip
  2. 通過sort 和uniq來獲取每個ip出現的次數,并進行降序排列
  3. 再通過awk找到其中超過閾值的ip,這就得到了我們所需要的結果。

例子2,封禁最近100000條中user agent明顯是程序的ip

nc -ul 9514 | head -100000 | awk -F '" "' '$10 ~ /java|feedly|universalfeedparser|apachebench|microsoft url control|python-urllib|httpclient/ {print $2}' | uniq

這里面:

  1. 通過awk的正則來過濾出問題agent,并將相應ip輸出
  2. 關于agent的正則表達式列出了部分,可以根據實際情況去調整和積累

當然,這里只是列舉了簡單的例子,有很多的不足之處

  1. 由于只采用了shell,規則比較簡單,可以通過擴展awk或者其他語言的方式來實現更復雜的規則
  2. 統計的窗口是每100000條,這種統計窗口比較粗糙,好的統計方式需要在每條實時數據收到是對過去的一小段時間(例如5分鐘)重新做統計計算
  3. 不夠實時,無法實時的應對攻擊行為;生產環境中,需要毫秒級的響應來應對高級爬蟲
  4. .......

拼起來

所有模塊組合起來,做一個完整的例子。假設:

  1. 負載均衡192.168.1.1,使用了官方nginx,并配置了syslog發往192.168.1.2
  2. 192.168.1.2啟動nc server,每隔一段時間進行分析,找出問題ip,并吐給192.168.1.1
  3. 192.168.1.1通過iptables進行阻攔,數據來源于192.168.1.2的分析機器

除了nginx配置和iptables基本配置,前幾段的配置略作改動:

  1. ### nginx conf@192.168.1.1 
  2. log_format warden '" "$remote_addr" "$remote_port" "$server_addr" "$server_port" "$request_length" "$content_length" "$body_bytes_sent" "$request_uri" "$host" "$http_user_agent" "$status" "$http_cookie" "$request_method" "$http_referer" "$http_x_forwarded_for" "$request_time" "$sent_http_set_cookie" "$content_type" "$upstream_http_content_type" "$request_body"\n'
  3. access_log syslog:server=192.168.1.2:9514 warden ; 
  4.   
  5. ### 分析@192.168.1.2, 增加了結果會吐,同時每隔60分鐘跑一次,把數據返回給192.168.1.1 
  6.  while true ; do nc -ul 9514 | head -100000 | awk -F '" "' '{print $2}' | sort | uniq -c | sort -nr | awk '$1>=5000 {print $2}' | tr '\n' ',' | awk '{print $0}' | socat - UDP:192.168.1.1:9515  ; sleep 3600 ; done 
  7.   
  8. ### 阻斷@192.168.1.1 
  9. #基礎配置 
  10. sudo ipset -N --exist warden_blacklist iphash 
  11. sudo iptables -A INPUT -m set --set warden_blacklist src -j DROP 
  12. sudo service iptables save 
  13.   
  14. #動態接收并更新iptables 
  15. while true ; do sudo ipset --exist destroy warden_blacklist_tmp; sudo ipset -N warden_blacklist_tmp iphash; socat UDP-LISTEN:9515 - | tr , "\n" | xargs -n 1 -I {} sudo ipset -A warden_blacklist_tmp {} ;sudo ipset swap warden_blacklist_tmp warden_blacklist ; sudo ipset list ; done 

 以上只是簡單示例,實際中還是建議換成shell腳本

總結

本文列出一種簡單的反爬蟲方案,由于過于簡單,可以當做概念示例或者是救急方案,如果需要進一步深化,需要在以下方面去加強:

  1. 強化數據源,可以通過流量獲得全量數據。目前爬蟲等網絡攻擊逐漸轉向業務密切相關的部分,往錢的方向靠近,所以需要更多的業務數據去支撐,而不僅僅是訪問日志
  2. 更靈活的阻斷,需要有多種阻斷手段和略復雜的阻斷邏輯
  3. 除卻ip,還需要考察用戶、設備指紋等多種追蹤方式,應對移動環境和ipv6環境下,“IP”這一信息的力不從心
  4. 強化規則引擎和模型,需要考察更多用戶行為的特征,僅僅從頻率等手段只等應對傻爬蟲,同時會造成誤殺率更高
  5. 建立數據存儲、溯源、統計體系,方便分析人員去分析數據并建立新的模型和規則。反爬蟲是一件持續性行為,需要良好的平臺來支撐。
  6. 可以根據實際需要去做好反爬蟲系統的集成。比如nginx數據-->反爬系統-->nginx阻斷;F5數據-->反爬系統-->F5阻斷

作者介紹

豈安科技聯合創始人,首席產品技術官

曾擔任PayPal資深高級工程師,在可信計算,計算機風控等領域有深入的理論研究和成果;并在防欺詐和風險監控行業有多年且深厚的工作經歷,擅長分布式系統和實時大數據計算。他參與豈安科技所有產品線的架構和設計,帶領團隊在數據挖掘、多媒體分析、跨數據中心分布式系統、高性能實時大數據計算、海量數據采集等領域進行前沿研究和產品化,幫助客戶更好的解決內部的安全和風控問題。

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2016-10-14 16:35:39

2020-12-17 06:48:21

SQLkafkaMySQL

2019-04-01 14:59:56

負載均衡服務器網絡

2024-01-29 13:03:02

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2024-06-19 09:58:29

2021-09-07 09:40:20

Spark大數據引擎

2023-04-12 11:18:51

甘特圖前端

2024-05-13 09:28:43

Flink SQL大數據

2012-07-10 01:22:32

PythonPython教程

2015-09-06 09:22:24

框架搭建快速高效app

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2009-10-09 14:45:29

VB程序

2019-09-16 09:14:51

2024-11-07 16:09:53

2022-08-26 09:01:07

CSSFlex 布局

2023-07-15 18:26:51

LinuxABI

2015-11-06 11:03:36

2023-12-08 13:19:00

前端Reactour流行庫

2020-12-11 09:40:10

DevOpsCICD
點贊
收藏

51CTO技術棧公眾號

欧美电影免费观看高清| 日本不卡影院| 忘忧草精品久久久久久久高清| 亚洲国产精品人人做人人爽| 国产精选在线观看91| 波多野结衣视频网站| 亚洲成人偷拍| 91久久精品一区二区| 杨幂一区欧美专区| 国产 欧美 精品| 欧美久色视频| 亚洲欧洲美洲在线综合| 国产男女免费视频| 亚洲精品18p| 你懂的成人av| 日韩欧美你懂的| 成年人视频网站免费观看| 午夜免费视频在线国产| 日韩成人精品在线观看| 亚洲欧美综合精品久久成人| 欧美日韩性生活片| 免费在线毛片网站| 91女厕偷拍女厕偷拍高清| 国产一区二区色| 久久久久久91亚洲精品中文字幕| 天天做天天爱综合| 欧美一区二区播放| 性生交免费视频| bbbbbbbbbbb在线视频| 日韩精品一二三四| 九九九久久国产免费| 日本中文字幕精品| 成人午夜毛片| 亚洲精品视频观看| 日韩av电影免费在线| 免费av一级片| 国产精品99久| 成人免费看黄网站| 动漫性做爰视频| 成人三级av在线| 欧美日韩在线第一页| 色一情一乱一乱一区91| 国产成人三级在线观看视频| 国产欧美不卡| 午夜伦理精品一区| 欧美激情一区二区视频| 国产精品福利在线观看播放| 亚洲天天在线日亚洲洲精| 亚欧激情乱码久久久久久久久| 国产午夜精品久久久久免费视| 国产精品亚洲综合一区在线观看| 国产精品v片在线观看不卡| 欧美精品亚洲精品日韩精品| 亚洲婷婷在线| 亚洲免费av网址| 污污的视频免费| 丝袜中文在线| 国产欧美精品在线观看| 欧美亚洲免费高清在线观看| 色综合免费视频| www.日韩大片| 国产日韩在线观看av| 黄色片在线观看网站| 国产精品不卡| 亚洲免费电影一区| 手机看片国产精品| 欧美专区一区| 欧美在线你懂的| 99热这里只有精品在线播放| 成人综合网站| 欧美日韩亚洲一区二区三区| 亚洲色成人一区二区三区小说| 久久77777| 亚洲免费观看高清完整| 国产在线视频综合| 成年人在线看| 成人欧美一区二区三区在线播放| 麻豆一区二区三区在线观看| 二区三区在线| 中文字幕在线不卡一区| 在线观看17c| aaa日本高清在线播放免费观看| 国产欧美一区二区精品性色超碰| 国产精品视频免费一区二区三区| 91av久久久| 高潮精品一区videoshd| 国产女人18毛片水18精品| 91福利免费视频| 日韩精品电影在线观看| 国模私拍一区二区三区| 国产性猛交╳xxx乱大交| 久久国产一二区| 91精品国产自产91精品| 免费看污视频的网站| 九九久久精品视频| 国产精品爽爽爽| 国产视频1区2区| 久久电影网站中文字幕| 国产chinese精品一区二区| 深夜福利视频一区| 国产精品的网站| 中文字幕无码精品亚洲资源网久久| 免费亚洲电影| 色婷婷久久久综合中文字幕| 国产视频1区2区3区| 中文另类视频| 欧美亚洲综合在线| 国产精品欧美性爱| 成人免费a**址| 欧美激情一级欧美精品| 欧美国产精品一二三| 亚洲色图二区| 日本sm极度另类视频| 国产xxxx在线观看| 欧美高清在线一区二区| 加勒比成人在线| 韩国成人二区| 色综合久久久久综合99| 日本一本二本在线观看| 欧美影院精品| 日韩在线免费视频观看| 五月婷婷激情网| 久久久成人网| 国产成人精品日本亚洲11| 免费人成在线观看网站| 久久精品亚洲麻豆av一区二区 | 国产精品一区专区欧美日韩| 免费观看黄一级视频| 96av麻豆蜜桃一区二区| 色哟哟免费网站| 久久久加勒比| 日韩精品视频免费| 欧美人与性囗牲恔配| 一区二区日韩免费看| 97碰碰视频| 天堂网在线观看视频| 一区二区三区日本| 亚洲人精品午夜射精日韩| 国内不卡的一区二区三区中文字幕| 欧美一卡二卡三卡| 麻豆短视频在线观看| 网红女主播少妇精品视频| 欧美另类老女人| 一级片视频网站| 成人免费观看视频| 日韩欧美第二区在线观看| 松下纱荣子在线观看| 欧美视频在线播放| 国偷自产av一区二区三区麻豆| 99久久夜色精品国产亚洲96 | 精品一区二区三区中文字幕视频 | 国产一区精品视频| 伦理在线一区| 在线看不卡av| b站大片免费直播| 欧美精品播放| 99re6热在线精品视频播放速度| 三级毛片在线免费看| 五月天久久比比资源色| 男女视频在线看| 欧美精品系列| 国产美女高潮久久白浆| 人妻91麻豆一区二区三区| 亚洲一区精品在线| 国模私拍视频在线观看| 97视频热人人精品免费| 97免费在线视频| 午夜激情小视频| 欧美日韩在线视频观看| 色哟哟精品观看| 免费观看成人av| 一区视频二区视频| 久久视频免费| 日韩一区二区精品视频| 精品欧美一区二区三区免费观看| 91在线精品秘密一区二区| 欧洲xxxxx| a∨色狠狠一区二区三区| 亚洲第一页自拍| 国产精品免费av一区二区| 久久先锋资源网| 六月婷婷在线视频| 91精品亚洲一区在线观看| 美女视频黄免费的亚洲男人天堂| 精品人妻少妇AV无码专区| 亚洲高清视频中文字幕| 熟女少妇一区二区三区| 美腿丝袜在线亚洲一区| 天堂а√在线中文在线| 日韩精品导航| 91精品国产综合久久男男| 日韩精品系列| 欧美三级视频在线播放| 久久精品视频9| 国产午夜精品理论片a级大结局| 成人综合久久网| 亚洲黄色影院| 国内精品视频在线播放| 欧美暴力调教| 欧美激情欧美狂野欧美精品| 欧美孕妇孕交xxⅹ孕妇交| 亚洲成人免费在线观看| 黄大色黄女片18免费| 白白色 亚洲乱淫| 日韩精品在线中文字幕| 精品无人区麻豆乱码久久久| 91久久大香伊蕉在人线| 欧美精品总汇| 久久久久久久久久久久久久久久久久av| 国产剧情精品在线| 欧美日韩精品在线观看| 国产精品边吃奶边做爽| 亚洲伦伦在线| 色撸撸在线观看| 精品国产91久久久久久浪潮蜜月| 91精品国产91久久久久青草| 日韩在线观看不卡| 欧美在线观看视频| 亚洲妇熟xxxx妇色黄| 精品久久一二三区| 在线观看国产黄| 日韩欧美亚洲国产一区| 非洲一级黄色片| 不卡一区在线观看| 亚洲午夜精品久久久久久人妖| 中文在线日韩| 亚洲午夜久久久影院伊人| 亚洲三级性片| 国产精品视频一区二区三区经| 视频91a欧美| 欧美精品在线观看91| 免费观看黄色av| 色就色 综合激情| 国产精品999在线观看| 亚洲另类在线一区| 51调教丨国产调教视频| 丁香桃色午夜亚洲一区二区三区| 亚洲熟妇av日韩熟妇在线| 欧美精品啪啪| 蜜桃麻豆91| 婷婷久久综合九色综合99蜜桃| 精品少妇一区二区30p| 亚洲av毛片成人精品| 欧美日韩一区在线| 久久久久久天堂| 久久精品亚洲乱码伦伦中文| 日韩不卡的av| 韩国三级中文字幕hd久久精品| 最新中文字幕2018| 蜜臀av性久久久久蜜臀av麻豆| www.xxx亚洲| 国产一区亚洲| 久久国产午夜精品理论片最新版本| 综合久久综合| 日韩欧美三级电影| 深夜福利久久| 亚洲国产一区二区在线| 日韩三级在线| 欧美h视频在线观看| 91精品99| 日韩久久不卡| 国产精品久av福利在线观看| 成人动漫视频在线观看完整版| 欧美aa视频| 国产精品毛片a∨一区二区三区|国 | 韩国19禁主播vip福利视频| 国产女主播在线直播| 精品国产乱码久久久久久影片| 亚洲精品成人区在线观看| 欧洲精品中文字幕| 一级黄色大片免费观看| 欧美视频在线观看免费网址| 免费一级片视频| 亚洲欧美综合色| 中文字幕 自拍| 高清在线成人网| 亚洲国产果冻传媒av在线观看| 久久久久久久久久看片| 91狠狠综合久久久久久| 亚洲精品国产高清久久伦理二区| 久久久国产精华液| 欧美性猛交xxx| 一区二区视频在线免费观看| 日韩无一区二区| 亚洲性在线观看| 欧美视频中文字幕| 亚洲国产成人在线观看| 亚洲欧美日韩爽爽影院| 欧美一区二区三区激情| 亚洲日韩欧美视频一区| 天天色天天操天天射| 欧美xfplay| 九色国产在线观看| 精品一区二区三区四区在线| 日本高清视频在线播放| 中文亚洲视频在线| 在线观看操人| 国产成人av网| 国产欧美一区二区三区精品酒店| 国产日韩精品在线观看| 国产精品任我爽爆在线播放| 日韩欧美激情一区二区| 国产一区日韩欧美| 亚洲xxxx2d动漫1| 日韩1区2区3区| 午夜免费福利在线| 成人动漫视频在线| 肉色超薄丝袜脚交69xx图片| 午夜久久久久久| 国产婷婷一区二区三区久久| 国产丝袜精品第一页| 午夜羞羞小视频在线观看| 久久99久久99精品中文字幕 | 成年人网站在线| 日本一区二区在线免费播放| 日本综合精品一区| 国产精品久久7| 看全色黄大色大片免费久久久| 国产一区不卡在线观看| 色愁久久久久久| 国产人妻互换一区二区| 日产国产欧美视频一区精品| 成人在线观看一区二区| 国产精品网站在线| 天堂中文字幕在线观看| 欧美三级三级三级| 久久精品国产亚洲a∨麻豆| 在线观看视频亚洲| 在线视频国产区| 国产自摸综合网| 色喇叭免费久久综合| 亚洲色欲综合一区二区三区| 成人午夜视频福利| 法国空姐电影在线观看| 欧美日韩在线影院| 中文字幕乱码视频| 亚洲品质视频自拍网| 九九色在线视频| 秋霞av国产精品一区| 理论片一区二区在线| 99er在线视频| 日韩精品免费专区| 欧美 日韩 成人| 欧洲人成人精品| 懂色av一区二区三区四区| www亚洲欧美| 色一区二区三区| 久久精品日产第一区二区三区乱码 | 欧美亚洲视频在线观看| 国产伦精品一区二区三区在线播放 | 日韩欧美在线网站| 黄网站在线免费| 欧美专区国产专区| 亚洲丁香日韩| 亚洲中文字幕无码不卡电影| 国产一区啦啦啦在线观看| 日本 欧美 国产| 欧美一区二区三区小说| 菠萝菠萝蜜在线观看| 人体精品一二三区| 精品国产一区二区三区久久久蜜臀 | 欧美精品一区二区三区久久| 国产视频一区三区| 亚洲男人天堂2021| 久久精品人人做| 中文在线资源天堂| 国产丝袜一区二区三区| 欧美日韩电影免费看| 午夜精品一区二区三区四区 | 国产裸体视频网站| 日本一区二区在线不卡| 最近中文字幕免费观看| 日韩中文字在线| 色婷婷综合久久久中字幕精品久久| 欧美日韩精品久久久免费观看| 青青国产91久久久久久| 中文字幕一区二区人妻电影丶| 中文字幕一区二区三区不卡在线 | 日本特黄一级片| 欧美一区二区三区四区视频 | 国产精品精品一区二区三区午夜版| 成人写真视频| 亚洲精品久久久久久| 中文字幕中文乱码欧美一区二区| 国产熟女一区二区三区五月婷 | 视频一区二区视频| 日韩avvvv在线播放| 成人观看免费视频| 日韩精品视频在线| 四虎在线精品| 亚洲不卡中文字幕无码| 国产欧美一区二区在线| www.黄色一片| 欧美xxxx综合视频| 日韩人体视频| 欧美牲交a欧美牲交aⅴ免费真| 国产精品电影一区二区三区| 无码精品一区二区三区在线| 国产美女扒开尿口久久久| 日韩国产欧美|