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

超輕量級反爬蟲方案

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

[[173551]]

前言

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

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

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

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

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

簡單的數據獲取

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

本篇,采用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.  
  3. 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.  
  3. 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就能達到效果。

第一步

安裝ipset。ipset擴充了iptables的基本功能,可以提供更加高效的訪問控制

  1. # centos 6.5上面安裝非常簡單 
  2. sudoyuminstall -y ipset 

第二步

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

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

第三步

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

  1. sudoipset --exist destroy warden_blacklist_tmp;sudoipset -N warden_blacklist_tmp iphash;echo"1.1.1.1,2.2.2.2"|tr,"\n"|xargs-n 1 -I {}sudoipset -A warden_blacklist_tmp {} ;sudoipset 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

  1. 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阻斷

責任編輯:趙寧寧 來源: FreeBuf
相關推薦

2016-10-13 13:01:51

2009-06-23 08:56:55

Linux桌面搜索

2009-03-09 18:08:26

LinuxEvilvte終端模擬器

2009-03-09 21:06:35

LinuxEvilvte終端模擬器

2023-05-10 18:18:55

Linux發行版

2017-05-27 08:36:54

2023-07-26 08:40:27

2022-02-12 21:05:11

異步爬蟲框架

2019-10-18 14:57:05

人臉識別AI人工智能

2020-08-27 11:39:05

JavaRESTful Web編程語言

2018-01-17 15:05:22

框架設計爬蟲Scrapy

2016-03-03 18:03:08

ZStack

2009-07-17 14:38:51

輕量級Swing組件

2009-07-14 18:05:28

輕量級Swing組件

2025-08-08 02:15:00

WebComponents前端

2022-11-24 10:24:32

2022-08-11 08:35:40

Hanko開源

2009-09-11 08:26:49

Linux系統CRUX 2.6Linux

2023-08-09 08:01:38

場景Redis接口

2022-09-14 23:06:45

點贊
收藏

51CTO技術棧公眾號

久久国产精品久久久久久电车| 亚洲人体影院| 成熟亚洲日本毛茸茸凸凹| 欧美激情影音先锋| 国产69视频在线观看| tube8在线hd| 9i在线看片成人免费| 日本精品免费一区二区三区| 久久久久无码精品国产sm果冻| 成人黄色毛片| 亚洲成人免费av| 日韩电影天堂视频一区二区| av中文字幕观看| 一区二区日韩免费看| 这里只有精品在线播放| 自拍一级黄色片| 永久免费毛片在线播放| 中文字幕一区二区三区不卡| 国产亚洲欧美一区二区 | 国产精品毛片无遮挡高清| 96pao国产成视频永久免费| 一级片中文字幕| 国产精品国产三级国产在线观看 | 国产天堂在线| 国产成人免费网站| 国产精品偷伦一区二区| 日韩三级一区二区三区| 91成人网在线观看| 国产亚洲激情在线| 中国一级特黄录像播放| av在线成人| 91福利社在线观看| 欧美精品久久久久久久久久久| sese一区| wwwwww.欧美系列| www.成人av| 国产又粗又大又爽| 日韩高清电影一区| 97在线视频观看| 中文字幕手机在线观看| 99欧美视频| 亚洲天堂av综合网| 在线精品一区二区三区| 韩国一区二区三区视频| 欧美午夜宅男影院| 蜜臀久久99精品久久久酒店新书 | 亚洲一线二线三线视频| 精品久久免费观看| 色影院视频在线| 国产亚洲一区二区三区在线观看| 韩日午夜在线资源一区二区| 性生活黄色大片| 国产乱子轮精品视频| 成人av电影天堂| 一区二区三区在线免费观看视频| 麻豆精品网站| 国产97在线播放| 亚洲熟妇无码乱子av电影| 亚洲毛片播放| 69视频在线播放| 日韩在线视频免费播放| 一本色道88久久加勒比精品| 久久人91精品久久久久久不卡| 久久99久久98精品免观看软件| 午夜精品偷拍| 欧美激情成人在线视频| 久久久久久久国产视频| 欧美久久成人| 久久欧美在线电影| 欧美日韩综合在线观看| 美女被久久久| 国产精品va在线播放| 亚洲精品国产精品国自产网站按摩| 久久福利一区| 国产精品免费福利| 11024精品一区二区三区日韩| 久久99国产乱子伦精品免费| 91深夜福利视频| 亚洲欧美激情国产综合久久久| 国产成人综合网站| 国产一区二区三区色淫影院| 欧美男男激情freegay| 久久久久免费观看| 一区二区三区不卡在线| 成人毛片av在线| 亚洲成av人片www| 日本在线观看a| 国产精品99精品一区二区三区∴| 欧美一区在线视频| japanese在线观看| 精品高清久久| 久久亚洲一区二区三区四区五区高 | 日批视频免费观看| 黄网站免费久久| 国产欧美欧洲| 高清在线观看av| 一区二区三区在线观看动漫 | 黄大色黄女片18免费| 一区二区三区中文| 欧美在线激情网| 一本一道精品欧美中文字幕| 高清不卡在线观看| 日本一区二区高清视频| 亚洲无线看天堂av| 在线欧美小视频| 9191在线视频| 久久99久久人婷婷精品综合| 粗暴蹂躏中文一区二区三区| 综合激情网五月| 紧缚捆绑精品一区二区| 精品无人区一区二区三区竹菊| 在线a免费看| 天天影视色香欲综合网老头| 日本三级黄色网址| 首页亚洲中字| 欧美成人国产va精品日本一级| 日韩精品在线免费视频| 国产精品自拍三区| 少妇特黄a一区二区三区| 岛国毛片av在线| 欧美高清你懂得| 午夜时刻免费入口| 亚洲三级观看| 51国偷自产一区二区三区 | 久久伊人蜜桃av一区二区| 国产高清精品软男同| 欧美xo影院| 亚洲福利在线视频| 精品99久久久久成人网站免费| 日本中文一区二区三区| 看欧美日韩国产| av电影在线地址| 欧美一区二区三区四区久久| 国产精品美女高潮无套| 国产色综合网| 国产精华一区| 在线中文字幕视频观看| 欧美丰满美乳xxx高潮www| 丰满的亚洲女人毛茸茸| 亚洲综合国产激情另类一区| 国产女主播一区二区三区| 日韩另类在线| 日韩免费一区二区| 国产波霸爆乳一区二区| 国产毛片精品国产一区二区三区| 亚洲精品美女久久7777777| 日韩性xxx| 国产丝袜高跟一区| 久久国产视频一区| 97精品久久久午夜一区二区三区| 国产色一区二区三区| 日韩一二三区| 欧美国产亚洲精品久久久8v| a网站在线观看| 亚洲精品久久久蜜桃| 18深夜在线观看免费视频| 亚洲国产精品久久久天堂| 国产欧美一区二区三区久久| 欧洲美女少妇精品| 91精品国产日韩91久久久久久| 2025国产精品自拍| 国产精品亚洲专一区二区三区| 最新欧美日韩亚洲| 成人黄色理论片| 欧美精品制服第一页| 精品久久国产视频| 亚洲一区二区三区精品在线| 日本少妇xxxx| 久久久久久久欧美精品| 日本一区免费看| 国产成人毛片| www.日韩视频| www.av在线.com| 亚洲一区电影777| 亚洲最大的黄色网| 三级久久三级久久久| 一区二区日本| 成人动态视频| 日本精品一区二区三区在线 | 久久免费国产视频| 免费在线黄色网址| 欧美日韩免费不卡视频一区二区三区 | 77成人影视| 欧美一级bbbbb性bbbb喷潮片| 日本午夜在线视频| 欧美日韩电影在线| 国产 日韩 欧美 成人| 91麻豆.com| 中文字幕免费高清在线| 国内激情久久| 日韩欧美国产二区| 欧美经典影片视频网站| 欧美一区二区三区……| 免费在线你懂的| 亚洲精品ady| 亚洲无码精品国产| 黄色精品在线看| 99国产精品无码| 成人在线一区二区三区| av免费网站观看| 欧美久色视频| 天堂av一区二区| 成人av综合网| 成人免费淫片aa视频免费| 91福利区在线观看| 色av中文字幕一区| 无码精品人妻一区二区三区影院 | www.97av.com| 欧美熟乱第一页| 国产午夜视频在线| 国产精品的网站| 日韩网站在线播放| 国产一区二区美女诱惑| 无码人妻丰满熟妇区五十路百度| 欧美一区成人| 亚洲7777| 蜜桃国内精品久久久久软件9| 亚洲在线观看视频| 成人午夜sm精品久久久久久久| 久久久久久综合网天天| 黄色网址视频在线观看| 亚洲香蕉成视频在线观看| 亚洲精品无码专区| 欧美日韩精品专区| 无码人妻丰满熟妇区五十路| 亚洲国产一区视频| 国产盗摄一区二区三区在线| 欧美国产亚洲另类动漫| 激情综合丁香五月| 高清在线观看日韩| 三级网站免费看| 精品一区二区影视| 欧美成年人视频在线观看| 久久一二三四| 日批视频在线免费看| 亚洲狠狠婷婷| 成人一级生活片| 欧美成人有码| 国产免费一区二区三区四在线播放| 精品国产乱码久久久| 欧美精品一区在线发布| 性欧美lx╳lx╳| 久久99精品久久久久久水蜜桃| 97久久综合区小说区图片区| 91视频国产精品| 二区三区精品| 成人www视频在线观看| 国精品产品一区| 国产噜噜噜噜久久久久久久久| 我爱我色成人网| 国产激情综合五月久久| 中文字幕在线官网| 日韩av大片免费看| 日韩av福利| 国产精品美女无圣光视频| 国产激情久久久久久熟女老人av| 牛牛热在线视频| 乱插在线www| 欧美理论电影在线| 在线免费观看中文字幕| 欧美日韩成人在线| 伊人久久成人网| 欧美日韩免费一区二区三区视频 | 亚洲国产三级在线| 欧美一级高潮片| 亚洲成人av电影| 毛片基地在线观看| 色呦呦一区二区三区| 亚洲av无码不卡| 欧美日韩国产首页| 国产乱码精品一区二三区蜜臂| 欧美一级精品大片| 空姐吹箫视频大全| 亚洲男人天堂视频| 男人天堂手机在线| 欧美高清视频在线播放| 在线看的毛片| 国产美女直播视频一区| 亚洲一区二区三区中文字幕在线观看 | 你懂的国产精品| 99re免费视频精品全部| 青青在线视频免费观看| 亚洲欧洲日本mm| 国语自产精品视频在线看一大j8 | 一区二区欧美亚洲| 欧美69xxxx| 国模视频一区二区三区| 亚洲wwww| 91香蕉国产在线观看| 九色丨蝌蚪丨成人| 亚洲精品中文字幕在线| 欧美午夜不卡| 午夜免费一区二区| 国产成人亚洲综合a∨婷婷图片| 粉嫩av懂色av蜜臀av分享| 欧美韩国日本不卡| 国产一级大片在线观看| 欧美性淫爽ww久久久久无| 亚洲国产福利视频| 亚洲性xxxx| 国产在线xxx| 国产精品亚发布| 老司机成人在线| 波多野结衣三级在线| 亚洲欧洲日本mm| 污视频网址在线观看| 看片网站欧美日韩| 草草地址线路①屁屁影院成人| 久久午夜羞羞影院免费观看| 91高清免费观看| 黑人精品xxx一区| 亚洲爆乳无码一区二区三区| 精品视频—区二区三区免费| 91官网在线| 欧美综合第一页| 亚洲一区二区三区久久久| 国产欧美一区二区三区另类精品| 国产精品一区二区三区av麻| 蜜臀在线免费观看| 一根才成人网| 国产又粗又猛又爽又黄91精品| 欧美精品一区男女天堂| 在线免费观看视频黄| 日韩中文字幕麻豆| 欧美国产日韩在线视频| 国产成人啪免费观看软件| 免费成人深夜天涯网站| 亚洲综合区在线| 国产又色又爽又黄又免费| 亚洲人成电影网站色www| 日皮视频在线观看| 99re6在线| 成人激情诱惑| 欧美少妇性生活视频| 国产电影精品久久禁18| 99久久99久久精品免费看小说.| 欧美性xxxxxx| 六月婷婷综合网| 色综合久久久久久中文网| 激情欧美一区二区三区黑长吊| 欧美h视频在线| 亚洲一区区二区| 天天躁日日躁狠狠躁av| 亚洲一区二区在线免费看| 中文字幕欧美在线观看| 亚洲乱码国产乱码精品精| 三级中文字幕在线观看| 国产欧美日韩一区二区三区| 黄色国产精品| 在线一区二区不卡| 国产精品二三区| 精品国产伦一区二区三区| 久久久国产精品亚洲一区| 91精品国产自产观看在线 | 国产女人18毛片18精品| 曰本色欧美视频在线| 本网站久久精品| 青青草久久网络| 久久国产欧美日韩精品| 色婷婷国产精品免| 在线观看日韩电影| 日本在线视频站| 成人h视频在线观看播放| 亚洲精品成人| 国产91在线免费观看| 亚洲激情图片一区| 国产精品伊人久久| 欧美精品激情在线| 精品国产影院| 国产精品69页| 国产日韩精品一区二区三区在线| 中文字幕在线视频免费| 久久精品国产视频| 精品国产不卡一区二区| 成人黄色大片网站| 91麻豆免费观看| 亚洲综合网av| 美女久久久久久久久久久| 嗯用力啊快一点好舒服小柔久久| 成年人午夜免费视频| 久久久一区二区| 国产人妻精品一区二区三区| 另类色图亚洲色图| 欧美丝袜美腿| 激情综合网俺也去| 一区二区在线电影| 亚州视频一区二区三区| 欧美做爰性生交视频| 91国语精品自产拍| 蜜臀aⅴ国产精品久久久国产老师| 岛国视频午夜一区免费在线观看| 久青草国产在线| 亚洲精品日韩av| 亚洲另类自拍| 国产精品99久久久久久成人| 精品国精品自拍自在线| 自拍视频在线看| 无码人妻精品一区二区三区99v| 东方aⅴ免费观看久久av| 这里只有精品国产|