SlideShare a Scribd company logo
1 of 13
Download to read offline
Robot Attack!
Repelling Bots, DDOS, and other Fiends
Stanford Drupal Camp 2015
Suzanne Aldrich
Senior Customer Success Engineer - Pantheon
Martijn Gonlag
Technical Support Engineer - CloudFlare
MEET YOUR GUIDES
Surveying Robots
Detecting Attacks
Evading Spam
Withstanding High Traffic
Questions
AGENDA
Internet bot:
● Robot, WWW bot, bot, botnet, zombies
● Automated scanning of website
resources at high rate
● Good bots: Web spiders
○ Googlebot
○ MSNBot/Bingbot
○ Baidu
○ Yandex
○ Pingdom
Drupal’s robots.txt
https://api.drupal.org/api/drupal/robots.
txt/7
User-agent: *
Crawl-delay: 10
Disallow: /includes/
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /install.php
Disallow: /update.php
Disallow: /xmlrpc.php
HISTORY OF THE ROBOT
Bad bots:
● Spambots - advertising links
● Email harvesters
● Downloaders & scrapers
● Referral & click fraud
● Rogue spiders
○ MegaIndex:
Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +https://www.
megaindex.ru/?tab=linkAnalyze)
● Infectious agents
● Botnets & zombies
BAD BOTS
Id Date Severit Type
Message
3161818 16/Jun 16:45 notice spambot
Blocked registration: email=supplyweqz@gmail.
com,ip=120.43.21.95
3161817 16/Jun 16:45 notice user
Login attempt failed for JulianHut.
3161794 16/Jun 16:44 notice user
Login attempt failed for Julianml.
DETECTING ATTACKS
Common SPAM Defense Methods:
● CAPTCHA - Completely Automated Public
Turing test to tell Computers and
Humans Apart
● Timegate (Time Difference)
● Honeypot
● Content analysis
● Visitor reputation
Popular Drupal Modules:
CAPTCHA/reCAPTCHA - https://www.drupal.
org/project/captcha
https://www.drupal.org/project/recaptcha
Mollom - https://www.drupal.org/project/mollom
Honeypot - https://www.drupal.org/project/honeypot
Antispam - https://www.drupal.org/project/antispam
Spambot - https://www.drupal.org/project/spambot
CloudFlare - https://www.drupal.org/project/cloudflare
Spam prevention - https://groups.drupal.org/node/77093
EVADING SPAM
Problems with CAPTCHA:
● Cookies prevent anonymous caching
○ High traffic sites require edge cache
● Usability
○ Inconvenient
○ Barrier
● Accessibility
○ Visual impairment
ANTI-SPAM STRATEGIC PITFALLS
Problems with External APIs:
● 3rd party dependency
● Availability & rate limiting
● CAPTCHA fallback
● Cost of service
● User Privacy
● Poor performance + bots = downtime
● Server and log monitoring
● Fix site errors in module code and theme
templates
● Anonymous page caching
● Views query and rendered results caching
● Dedicated cacheserver - Redis
● Disable comments/cookies/statistics
● Setup CDN for serving assets
● Block IPs at firewall
● Withstand many Layer 7 attacks
WITHSTANDING HIGH TRAFFIC
$ curl -Ik http://www.example.
com/comment/reply/12345
...
X-Varnish: 3649165893
Age: 0
Via: 1.1 varnish
Connection: keep-alive
Vary: Cookie, Cookie
• Cloud-based SaaS
• Reverse Proxy
• Security
• Performance
• Optimization
• CDN
• DNS
CLOUDFLARE SECURITY
D0000 - Block Large Requests to xmlrpc.php for Drupal CMS
D0002 - Block requests with odd array arguments
D0001 - Block Requests to xmlrpc.php for Drupal CMS
URIs:
/xmlrpc.php -- most common
/?q=node&destination=node
/blog/xmlrpc.php
/user/login/
HTTP Method:
POST -- most common
GET
10.223.224.238 - - [05/Feb/2015:23:34:47 +0000] "POST /xmlrpc.
php HTTP/1.1" 404 5377 "-" "Mozilla/4.0 (compatible: MSIE 7.0;
Windows NT 6.0)" 0.251 "5.189.129.224, 108.162.254.28,
10.183.251.3"
10.223.224.238 - - [05/Feb/2015:23:34:47 +0000] "GET /feed/
HTTP/1.1" 200 6354 "http://example.com/feed/" "SimplePie/1.3.1
(Feed Parser; http://simplepie.org; Allow like Gecko)
Build/20140407093003" 0.201 "54.216.178.194, 141.101.98.27,
10.183.251.3"
10.223.193.24 - - [05/Feb/2015:23:34:47 +0000] "POST /xmlrpc.
php HTTP/1.1" 404 5377 "-" "Mozilla/4.0 (compatible: MSIE 7.0;
Windows NT 6.0)" 0.233 "5.189.129.224, 108.162.254.28,
10.183.251.3"
CLOUDFLARE DRUPAL WAF RULES
Frequency of WAF Triggers Over 30 Days Percentage of Triggers by WAF Rule
CLOUDFLARE DRUPAL WAF TRIGGERS
CONNECT WITH US!
https://twitter.com/SuzanneAldrich https://twitter.com/MartijnGonlag

More Related Content

Similar to Stanford Drupal Camp 2015 - Repelling Bots, DDOS, and other Fiends

Optimizing website performance
Optimizing website performanceOptimizing website performance
Optimizing website performancePublisto Ltd.
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performanceAndrew Siemer
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPPaul Redmond
 
Life of a Request by Ana Oprea
Life of a Request by Ana OpreaLife of a Request by Ana Oprea
Life of a Request by Ana OpreaRails Girls MUC
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeDan Taylor
 
How to Reduce Latency with Cloudflare Argo Smart Routing
How to Reduce Latency with Cloudflare Argo Smart RoutingHow to Reduce Latency with Cloudflare Argo Smart Routing
How to Reduce Latency with Cloudflare Argo Smart RoutingCloudflare
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...David Amend
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014bryan_call
 
Improving Web Siste Performance Using Edge Services in Fog Computing Architec...
Improving Web Siste Performance Using Edge Services in Fog Computing Architec...Improving Web Siste Performance Using Edge Services in Fog Computing Architec...
Improving Web Siste Performance Using Edge Services in Fog Computing Architec...Jiang Zhu
 
Cloudflare and Drupal - fighting bots and traffic peaks
Cloudflare and Drupal - fighting bots and traffic peaksCloudflare and Drupal - fighting bots and traffic peaks
Cloudflare and Drupal - fighting bots and traffic peaksŁukasz Klimek
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyMario Heiderich
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuningVladimír Smitka
 
Website & Internet + Performance testing
Website & Internet + Performance testingWebsite & Internet + Performance testing
Website & Internet + Performance testingRoman Ananev
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Daniele Albrizio
 
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleOracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleC2B2 Consulting
 
Scaling Redis: Dmitry Polyakovsky
Scaling Redis: Dmitry PolyakovskyScaling Redis: Dmitry Polyakovsky
Scaling Redis: Dmitry PolyakovskyRedis Labs
 
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Vlad Savitsky
 

Similar to Stanford Drupal Camp 2015 - Repelling Bots, DDOS, and other Fiends (20)

Optimizing website performance
Optimizing website performanceOptimizing website performance
Optimizing website performance
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
 
DNSTap Webinar
DNSTap WebinarDNSTap Webinar
DNSTap Webinar
 
Life of a Request by Ana Oprea
Life of a Request by Ana OpreaLife of a Request by Ana Oprea
Life of a Request by Ana Oprea
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
 
How to Reduce Latency with Cloudflare Argo Smart Routing
How to Reduce Latency with Cloudflare Argo Smart RoutingHow to Reduce Latency with Cloudflare Argo Smart Routing
How to Reduce Latency with Cloudflare Argo Smart Routing
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
 
Improving Web Siste Performance Using Edge Services in Fog Computing Architec...
Improving Web Siste Performance Using Edge Services in Fog Computing Architec...Improving Web Siste Performance Using Edge Services in Fog Computing Architec...
Improving Web Siste Performance Using Edge Services in Fog Computing Architec...
 
Cloudflare and Drupal - fighting bots and traffic peaks
Cloudflare and Drupal - fighting bots and traffic peaksCloudflare and Drupal - fighting bots and traffic peaks
Cloudflare and Drupal - fighting bots and traffic peaks
 
HTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the UglyHTML5 - The Good, the Bad, the Ugly
HTML5 - The Good, the Bad, the Ugly
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuning
 
Website & Internet + Performance testing
Website & Internet + Performance testingWebsite & Internet + Performance testing
Website & Internet + Performance testing
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi
 
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleOracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
 
Scaling Redis: Dmitry Polyakovsky
Scaling Redis: Dmitry PolyakovskyScaling Redis: Dmitry Polyakovsky
Scaling Redis: Dmitry Polyakovsky
 
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
 
SPDY / W3C
SPDY / W3CSPDY / W3C
SPDY / W3C
 

More from Suzanne Aldrich

BADCamp 2017 - Anatomy of DDoS
BADCamp 2017 - Anatomy of DDoSBADCamp 2017 - Anatomy of DDoS
BADCamp 2017 - Anatomy of DDoSSuzanne Aldrich
 
DrupalCon Vienna 2017 - Anatomy of DDoS
DrupalCon Vienna 2017 - Anatomy of DDoSDrupalCon Vienna 2017 - Anatomy of DDoS
DrupalCon Vienna 2017 - Anatomy of DDoSSuzanne Aldrich
 
Anatomy of DDoS - Builderscon Tokyo 2017
Anatomy of DDoS - Builderscon Tokyo 2017Anatomy of DDoS - Builderscon Tokyo 2017
Anatomy of DDoS - Builderscon Tokyo 2017Suzanne Aldrich
 
DrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeDrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeSuzanne Aldrich
 
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeSuzanne Aldrich
 
MidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every TimeMidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every TimeSuzanne Aldrich
 

More from Suzanne Aldrich (6)

BADCamp 2017 - Anatomy of DDoS
BADCamp 2017 - Anatomy of DDoSBADCamp 2017 - Anatomy of DDoS
BADCamp 2017 - Anatomy of DDoS
 
DrupalCon Vienna 2017 - Anatomy of DDoS
DrupalCon Vienna 2017 - Anatomy of DDoSDrupalCon Vienna 2017 - Anatomy of DDoS
DrupalCon Vienna 2017 - Anatomy of DDoS
 
Anatomy of DDoS - Builderscon Tokyo 2017
Anatomy of DDoS - Builderscon Tokyo 2017Anatomy of DDoS - Builderscon Tokyo 2017
Anatomy of DDoS - Builderscon Tokyo 2017
 
DrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeDrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every Time
 
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
 
MidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every TimeMidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every Time
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Stanford Drupal Camp 2015 - Repelling Bots, DDOS, and other Fiends

  • 1. Robot Attack! Repelling Bots, DDOS, and other Fiends Stanford Drupal Camp 2015
  • 2. Suzanne Aldrich Senior Customer Success Engineer - Pantheon Martijn Gonlag Technical Support Engineer - CloudFlare MEET YOUR GUIDES
  • 3. Surveying Robots Detecting Attacks Evading Spam Withstanding High Traffic Questions AGENDA
  • 4. Internet bot: ● Robot, WWW bot, bot, botnet, zombies ● Automated scanning of website resources at high rate ● Good bots: Web spiders ○ Googlebot ○ MSNBot/Bingbot ○ Baidu ○ Yandex ○ Pingdom Drupal’s robots.txt https://api.drupal.org/api/drupal/robots. txt/7 User-agent: * Crawl-delay: 10 Disallow: /includes/ Disallow: /CHANGELOG.txt Disallow: /cron.php Disallow: /install.php Disallow: /update.php Disallow: /xmlrpc.php HISTORY OF THE ROBOT
  • 5. Bad bots: ● Spambots - advertising links ● Email harvesters ● Downloaders & scrapers ● Referral & click fraud ● Rogue spiders ○ MegaIndex: Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +https://www. megaindex.ru/?tab=linkAnalyze) ● Infectious agents ● Botnets & zombies BAD BOTS
  • 6. Id Date Severit Type Message 3161818 16/Jun 16:45 notice spambot Blocked registration: email=supplyweqz@gmail. com,ip=120.43.21.95 3161817 16/Jun 16:45 notice user Login attempt failed for JulianHut. 3161794 16/Jun 16:44 notice user Login attempt failed for Julianml. DETECTING ATTACKS
  • 7. Common SPAM Defense Methods: ● CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart ● Timegate (Time Difference) ● Honeypot ● Content analysis ● Visitor reputation Popular Drupal Modules: CAPTCHA/reCAPTCHA - https://www.drupal. org/project/captcha https://www.drupal.org/project/recaptcha Mollom - https://www.drupal.org/project/mollom Honeypot - https://www.drupal.org/project/honeypot Antispam - https://www.drupal.org/project/antispam Spambot - https://www.drupal.org/project/spambot CloudFlare - https://www.drupal.org/project/cloudflare Spam prevention - https://groups.drupal.org/node/77093 EVADING SPAM
  • 8. Problems with CAPTCHA: ● Cookies prevent anonymous caching ○ High traffic sites require edge cache ● Usability ○ Inconvenient ○ Barrier ● Accessibility ○ Visual impairment ANTI-SPAM STRATEGIC PITFALLS Problems with External APIs: ● 3rd party dependency ● Availability & rate limiting ● CAPTCHA fallback ● Cost of service ● User Privacy
  • 9. ● Poor performance + bots = downtime ● Server and log monitoring ● Fix site errors in module code and theme templates ● Anonymous page caching ● Views query and rendered results caching ● Dedicated cacheserver - Redis ● Disable comments/cookies/statistics ● Setup CDN for serving assets ● Block IPs at firewall ● Withstand many Layer 7 attacks WITHSTANDING HIGH TRAFFIC $ curl -Ik http://www.example. com/comment/reply/12345 ... X-Varnish: 3649165893 Age: 0 Via: 1.1 varnish Connection: keep-alive Vary: Cookie, Cookie
  • 10. • Cloud-based SaaS • Reverse Proxy • Security • Performance • Optimization • CDN • DNS CLOUDFLARE SECURITY
  • 11. D0000 - Block Large Requests to xmlrpc.php for Drupal CMS D0002 - Block requests with odd array arguments D0001 - Block Requests to xmlrpc.php for Drupal CMS URIs: /xmlrpc.php -- most common /?q=node&destination=node /blog/xmlrpc.php /user/login/ HTTP Method: POST -- most common GET 10.223.224.238 - - [05/Feb/2015:23:34:47 +0000] "POST /xmlrpc. php HTTP/1.1" 404 5377 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 0.251 "5.189.129.224, 108.162.254.28, 10.183.251.3" 10.223.224.238 - - [05/Feb/2015:23:34:47 +0000] "GET /feed/ HTTP/1.1" 200 6354 "http://example.com/feed/" "SimplePie/1.3.1 (Feed Parser; http://simplepie.org; Allow like Gecko) Build/20140407093003" 0.201 "54.216.178.194, 141.101.98.27, 10.183.251.3" 10.223.193.24 - - [05/Feb/2015:23:34:47 +0000] "POST /xmlrpc. php HTTP/1.1" 404 5377 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 0.233 "5.189.129.224, 108.162.254.28, 10.183.251.3" CLOUDFLARE DRUPAL WAF RULES
  • 12. Frequency of WAF Triggers Over 30 Days Percentage of Triggers by WAF Rule CLOUDFLARE DRUPAL WAF TRIGGERS
  • 13. CONNECT WITH US! https://twitter.com/SuzanneAldrich https://twitter.com/MartijnGonlag