เข้าสู่เว็บไซต์ดีลเลอร์ สมัครดีลเลอร์

การใช้ NGINX App Protect (NAP) ช่วยลดปริมาณ Request ที่ไม่จำเป็นจาก Bot

ในทุกวันนี้หลายๆองค์กรมี application หรือ API ที่ให้บริการบน internet จำนวนมาก และมีจำเป็นที่จะต้องมี resource ประมาณมากเพื่อรองรับการให้บริการกับ request จำนวนมากจากผู้ใช้งาน แต่รู้หรือไม่ว่า request เหล่านั้นไม่ได้มาจากผู้ใช้งานจริงๆทั้งหมด ในจำนวน request เหล่านั้นมี request ที่มาจากจาก bot ซึ่งจะมีทั้งจาก search engine หรือ Malicious bot ที่มาสแกนหาช่องโหว่ระบบของเราด้วย ทำให้ server ต้องใช้ resource ไปกับสิ่งที่ไม่จำเป็น Bot Detection จึงเป็นทางเลือกนึงในการช่วยคัดกรอง request เหล่านั้น

มาทำความรู้จัก NGINX App Protect กันสักนิดนึง

NGINX App Protect เรียกสั้นว่า NAP เป็น application security solution ที่นำเอาความสามารถของ F5 WAF Technology ที่มีความปลอดภัยสูงขั้นสูงมาทำงานบน NGINX Plus เพื่อช่วยป้องกัน Application หรือ API โดยไม่กระทบกับ Latency ในการให้บริการ ตัวอย่างความสามารถของ NGINX App Protect





โดย Feature ที่จะหยิบมาแนะนำคือ Bot Detection

เป็นการตรวจจับ bot โดยการใช้ bot signature ซึ่งจะเป็นการตรวจสอบจาก user-agent, headers, URI ของ bot

โดยจะแบ่งกลุ่มของ Bot 3 กลุ่มได้แก่

  • Trust bot จะเป็น bot จาก search engine ต่างๆ เช่น google, bing, duckduckgo
  • Untrust bot จะเป็น bot ที่เป็น automation tools ต่างๆ
  • Malicious bot จะเป็นบอทที่มุ่งเน้นโจมตีระบบ

ทดสอบการทำงาน


Puppeteer

ตัวอย่าง code



ก่อนเปิดใช้งาน App Protect สามารถดึงข้อมูลจาก Element บนหน้าเว็บได้



หลังเปิดใช้งาน App Protect ไม่สามารถดึงข้อมูลจาก Element ได้


ตรวจสอบ log ในตัว NGINX พบว่ามี log  การตรวจจับ bot

Request ID 17012981851595671062: GET /app/ received on 2023-01-03 03:53:57 from IP 192.168.1.5 had the following violations: HTTP protocol compliance failed,Bot Client Detected client_class: Untrusted Bot bot_signature_name: Headless Chromium

CURL

ทดสอบ curl ก่อนเปิดใช้งาน App Protect สามารถดึง element ต่างๆ ของ web ได้


หลังจากเปิดใช้งาน App Protect จะไม่สามารถดึง element ได้


ตรวจสอบ log ในตัว NGINX พบว่ามี log  การตรวจจับ bot

Request ID 2271801877549779252: GET / received on 2023-01-03 08:06:02 from IP 192.168.1.100 had the following violations: HTTP protocol compliance failed,Bot Client Detected client_class: Untrusted Bot bot_signature_name: curl

JMeter

ทดสอบใช้ JMeter สร้าง request ก่อนเปิดใช้งาน App Protect สามารถดึง element ต่างๆ ของ web ได้



หลังจากเปิดใช้งาน App Protect จะไม่สามารถดึง element ได้


ตรวจสอบ log ในตัว NGINX พบว่ามี log  การตรวจจับ bot

Request ID 2271801877549779252: GET / received on 2023-01-03 08:06:02 from IP 192.168.1.100 had the following violations: HTTP protocol compliance failed,Bot Client Detected client_class: Untrusted Bot bot_signature_name: Apache-HttpClient

สรุป

จะเห็นได้ NGINX App Protect เข้ามาช่วยจัดการกับ Request ที่ไม่จำเป็นที่เกิดขึ้นมาจาก bot ไม่ว่าจะเป็น bot สำหรับทำ web scraping  หรือ bot ที่เป็นการ scan หาข้อมูล ช่องโหว่ต่างบนอินเตอร์เน็ต เพื่อช่วยลดภาระการทำงานของ Application ทำให้ Application สามารถให้บริการผู้ใช้งานได้อย่างมีประสิทธิภาพและตลอดเวลา

การใช้และการจัดการคุกกี้

บริษัทมีการใช้คุกกี้บนเว็ปไซต์ของบริษัทในการเก็บข้อมูลการใช้งานของท่าน เพื่อมอบประสบการณ์ที่ดีในการใช้เว็ปไซต์และตรงตามความต้องการของลูกค้า ท่านสามารถเลือกตั้งค่ายินยอมการใช้คุกกี้ได้โดยเข้าไปที่หน้าการตั้งค่าบราวเซอร์และตั้งค่าความเป็นส่วนตัว และสามารถศึกษารายละเอียดเพิ่มเติมเกี่ยวกับนโยบายการใช้คุกกี้