วิธีใช้ AWS WAF(Web Application Firewall) ป้องกันการฉีด SQL สคริปต์ข้ามไซต์และการแปรงฟันที่เป็นอันตรายของแฮ็กเกอร์ได้อย่างมีประสิทธิภาพ

เมฆ 2026-06-03 阅读 14
cloud

ในสภาพแวดล้อมเครือข่ายสาธารณะบริการเว็บภายนอกอินเทอร์เฟซ APP หรือเว็บไซต์อีคอมเมิร์ซที่เปิดทุกวันไม่เพียงแต่ต้องเผชิญกับลูกค้าจริงเท่านั้น

เครื่องสแกนแฮ็กเกอร์โปรแกรมรวบรวมข้อมูลที่เป็นอันตรายและการโจมตีอัตโนมัติต่างๆต่อช่องโหว่ของเลเยอร์แอปพลิเคชัน

ทีมเทคนิคหลายทีมไม่มีความตระหนักในการป้องกันมากพอโดยคิดว่าทุกอย่างจะดีถ้าเซิร์ฟเวอร์ติดตั้งซอฟต์แวร์ป้องกันไวรัสและทีมรักษาความปลอดภัยปิดพอร์ตที่ไม่ได้ใช้ผลก็คือ:

ฐานข้อมูลหลักถูกปล้นโดยตรงโดยคำสั่งฉีด SQL ธรรมดาหน้าเว็บถูกฝังด้วยสคริปต์ที่เป็นอันตราย (XSS) ซึ่งนำไปสู่การขโมยเงินของผู้ใช้หรืออินเทอร์เฟซกิจกรรมทางการตลาดถูกแฮ็กเครื่องมือแฮ็กถูกผลิตขึ้นในเวลาไม่กี่นาทีงบประมาณ.

ในสถาปัตยกรรมแบบดั้งเดิมเพื่อจัดการกับการโจมตีที่เป็นอันตรายของเลเยอร์แอปพลิเคชันนี้ (เลเยอร์ที่เจ็ดในโมเดล OSI เจ็ดชั้น) จำเป็นต้องเปลี่ยนโค้ดแบ็คเอนด์จำนวนมากหรือเขียนกฎการสกัดกั้นที่ซับซ้อนมากในระดับ Nginx ค่าใช้จ่ายในการดำเนินการและการบำรุงรักษาสูงและง่ายมากฆ่าคำขอปกติโดยไม่ได้ตั้งใจ

การชำระเงินบนคลาวด์ของ AWS Amazon

บน Amazon Cloud อาวุธป้องกันที่สง่างามและไร้กังวลที่สุดคือ

AWS WAF(Web Application Firewall,Web Application Firewall)

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

บทช่วยสอนเชิงลึกของวันนี้ไม่ได้พูดถึงความปลอดภัยขั้นสูงและใช้มุมมองที่ใช้งานได้จริงที่สุดเพื่อพาคุณไปพิชิต AWS WAF อย่างสมบูรณ์

หลักการหลัก: AWS WAF อยู่ที่ไหน? มันทำงานอย่างไร?

ก่อนที่จะกำหนดค่าเราต้องหาว่า "เจ้าหน้าที่ตรวจสอบความปลอดภัย" นี้อยู่ที่ใดในโครงสร้างของคุณ AWS WAF

ไม่สามารถ

แขวนโดยตรงบนเซิร์ฟเวอร์คลาวด์ EC2เครื่องเดียวมันทำงานผ่าน "กาฝาก" ในเลเยอร์การรับส่งข้อมูลหลักสามแกนต่อไปนี้:

Application Load Balancer (ALB): แอพพลิเคโหลดควอไลเซอร์ของคุณ

Amazon CloudFront: CDN ขอบโหนดทั่วโลกของคุณ

Amazon API Gateway: เกตเวย์อินเตอร์เฟซบริการไมโครของคุณ

การชำระเงินบนคลาวด์ของ AWS Amazon

เมื่อแฮ็กเกอร์ชาวอเมริกันสร้างคำขอที่มีรหัสที่เป็นอันตรายอย่างระมัดระวังและส่ง:

การจราจรมาถึงโหนด CDN ขอบ CloudFront (หรือ ALB) ก่อน

AWS WAF เข้าแทรกแซงทันทีมันจะใช้ "Web ACL" ที่กำหนดค่าไว้เพื่อสแกน Header (ส่วนหัวคำขอ), Query String (พารามิเตอร์ URL), Body (ตัวคำขอ) และแหล่ง IP ของคำขอเช่นเครื่องเอกซเรย์

ถ้าตรงกับลักษณะของแฮ็กเกอร์, WAF โดยตรงที่ขอบคาย403 Forbidden สกัดกั้นกระแสการโจมตี

ปริมาณไม่สามารถสัมผัสได้ถึงปริมาณของเซิร์ฟเวอร์ส่วนหลังของคุณและจะไม่ใช้ CPU และแบนด์วิดท์ทางธุรกิจของคุณ

ขั้นตอนแรก: การลงจอดสามขั้นตอนของการป้องกันหลัก AWS WAF (การคัดลอกการต่อสู้จริง)

แกนหลักของการกำหนดค่า AWS WAF คือการสร้างไฟล์

Web ACL (รายการควบคุมการเข้าถึงเว็บ)

。เราใช้ "การป้องกันการจัดสรรภาระงาน ALB ในประเทศหรือต่างประเทศ" โดยตรงเป็นตัวอย่างในการปรับใช้การป้องกัน:

ขั้นตอนที่1: สร้างเว็บ ACL ใหม่และผูกทางเข้า

ลงชื่อเข้าใช้คอนโซลผู้ดูแลระบบ AWS ค้นหาและเข้าสู่คอนโซล WAF & Shield 。

คลิก Web ACL ในแถบนำทางด้านซ้ายจากนั้นคลิก Create Web ACL ทางด้านขวา

การกำหนดค่าพารามิเตอร์ที่สำคัญ: ประเภททรัพยากร: หากคุณต้องการปกป้อง CloudFront CDN ให้เลือก Global (CloudFront) หากคุณกำลังปกป้องการจัดสรรภาระงานให้เลือกแหล่งที่มาของภูมิภาคและเลือกภูมิภาคที่เซิร์ฟเวอร์ของคุณตั้งอยู่ (เช่น us-west-2 West Oregon). ชื่อ: ตั้งชื่อให้สดชื่นเช่น prod-web-waf-acl

คลิก Add AWS resources ที่ Associated AWS resources ด้านล่างเพื่อตรวจสอบอินสแตนซ์ ALB ที่คุณกำลังเรียกใช้บริการเว็บคลิก Next.

ขั้นตอนที่2: การกำหนดค่า AWS ชุดกฎการโฮสต์อย่างเป็นทางการในคลิกเดียว (การฉีด SQL ที่ถูกบล็อกด้วย XSS)

เจ้าหน้าที่ AWS ช่วยเราเขียน "ชุดเกราะชั้นยอด" เพื่อรับมือกับการโจมตีของแฮ็กเกอร์ทั่วไปที่เรียกว่า

AWS Managed Rule Groups

。คุณไม่จำเป็นต้องเข้าใจการเผชิญหน้าด้านความปลอดภัยเครือข่ายขั้นสูงเพียงแค่เปิดใช้งานได้ด้วยคลิกเดียว:

ในหน้า Add rules and rule groups ให้คลิกที่ Add rules -> Add managed rule groups ทางด้านขวา

ขยายกลุ่มกฎการจัดการ AWS และคุณจะเห็นกฎการบำรุงรักษาอย่างเป็นทางการและการอัปเดตแบบเรียลไทม์มากมายขอแนะนำอย่างยิ่งให้เลือก "กองกำลังหลัก" สามประการต่อไปนี้โดยหลับตา: ชุดกฎหลัก (CRS): ชุดกฎหลักนี่คือจิตวิญญาณของ WAF ซึ่งมีการป้องกันช่องโหว่ทั่วไปส่วนใหญ่ (รวมถึง OWASP Top 10) การรวมไฟล์ภายในเครื่อง (LFI) และการโจมตีทั่วไปอื่นๆ SQL ฐานข้อมูล (SQLi) ชุดกฎ: SQL ฉีดการป้องกันพิเศษมุ่งเน้นไปที่อักขระพิเศษของฐานข้อมูลในคำขอโดยเฉพาะและเชื่อมประตูฐานข้อมูลหลังความตาย Known bad inputs rule set: ป้องกันช่องโหว่สแกนเนอร์แฮกเกอร์หลายคนชอบใช้เครื่องมือโอเพนซอร์สอัตโนมัติ (เช่น SQLmap) เพื่อทดสอบสุ่มสี่สุ่มห้า

เว็บไซต์กฎนี้สามารถระบุโพรบของเครื่องมือเหล่านี้ได้อย่างแม่นยำและบล็อกโดยตรง

คลิก Add rules เพื่อบันทึก

ขั้นตอนที่3: เปิดการจำกัดอัตรา (Rate-based Rule)-เชี่ยวชาญในการรูดแฮกเกอร์ที่เป็นอันตราย

การโจมตีช่องโหว่ถูกบล็อกขั้นตอนต่อไปคือการจัดการกับสิ่งที่ลำบากที่สุด

การแปรงฟันที่เป็นอันตรายการชนห้องสมุดโปรแกรมรวบรวมข้อมูลและการโจมตี CC

เพื่อเติมแบนด์วิดท์ของคุณหรือขยายอินเทอร์เฟซ SMS/รหัสยืนยันของคุณแฮกเกอร์จะใช้ไก่เนื้อหรือพร็อกซี IP จำนวนมากเพื่อทำงานพร้อมกันอย่างบ้าคลั่งในเวลาอันสั้น AWS WAF

Rate-based Rule (กฎตามอัตรา)

เป็นวิธีที่แข็งแกร่งที่สุดในการยอมจำนนพวกเขา

ในหน้ากฎให้คลิก Add rules -> Add my own rules and rules groups 。

พารามิเตอร์การกำหนดค่า: Rule type: ติ๊กกฎ Rate-based 。 Rate limit (อัตราเส้นสีแดง): กำหนดขีดจำกัดการเข้าถึง IP เดียวภายใน5นาทีตัวอย่างเช่นสำหรับเว็บไซต์ธรรมดาให้ตั้งค่า2000หากเป็นอินเทอร์เฟซการลงทะเบียน/การเข้าสู่ระบบที่ละเอียดอ่อนมากสามารถบีบอัดเป็น100-300ได้การดำเนินการ: เลือก Block (การสกัดกั้นโดยตรง) หรือ Count (เฉพาะบันทึกไม่สกัดกั้นโดยปกติจะใช้สำหรับการสังเกตล่วงหน้า)

ด้วยวิธีนี้เมื่อคำขอ IP ในต่างประเทศเกินเส้นสีแดงที่คุณตั้งไว้ภายใน5นาที AWS WAF จะใส่กุญแจมือ IP ทันทีและการเข้าชมครั้งต่อไปจะให้รางวัลเป็น403โดยปกติ5ถึง10นาทีหลังจากพฤติกรรมปกติจะถูกปลดบล็อกโดยอัตโนมัติ

ขั้นตอนที่สอง: Master Advanced-จะลด "อัตราการฆ่า" ของ WAF ได้อย่างไร?

มีจุดเจ็บปวดชั่วนิรันดร์ในด้านความปลอดภัย:

ยิ่งการป้องกันเข้มงวดมากเท่าไหร่ก็ยิ่งฆ่าคนดีได้ง่ายขึ้นเท่านั้น

ตัวอย่างเช่นหากพนักงานการเงินของบริษัทของคุณอัปโหลดตาราง Excel ที่มีสูตรทางการเงินในพื้นหลังกฎการฉีด SQL ของ WAF อาจเข้าใจผิดว่าเป็นรหัสแฮ็กเกอร์และบล็อกพี่สาวทางการเงินโดยตรง

ในวันแรกของการเปิดตัว WAF สถาปนิกที่มีประสบการณ์จะใช้เทคนิคสองประการต่อไปนี้เพื่อปรับแต่งการดำเนินงาน:

1.เปิดการทดสอบ "Count" ก่อน

อย่าดึงชุดเกราะที่เพิ่งซื้อมาเพื่อป้องกันกระสุนทันทีเมื่อมีการเพิ่มกฎในสภาพแวดล้อมการผลิต:

การชำระเงินบนคลาวด์ของ AWS Amazon

เคล็ดลับใหญ่ในการหลีกเลี่ยงหลุม: ขั้นแรกให้เปลี่ยนการดำเนินการของ Managed Rules ทั้งหมดที่เพิ่งเข้าร่วมเป็น Count

ในโหมดนี้ WAF จะไม่สกัดกั้นคำขอที่น่าสงสัยเมื่อพบคำขอที่น่าสงสัยแต่จะประทับตรา "ผู้ต้องสงสัย" ไว้ในบันทึกเพื่อให้คำขอดำเนินต่อไป

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

กฎมากเกินไปในขณะนี้คุณสามารถดำเนินการ exclude (ยกเว้น) สำหรับกฎย่อยเฉพาะบนคอนโซลและหลังจากล้างการฆ่าคนแล้วให้เปลี่ยน Action เป็น Block อย่างเป็นทางการ

2.เปิด "ช่องสีเขียว (IP รายการที่อนุญาตพิเศษ)" อย่างถูกต้อง

หากบริษัทของคุณมีพันธมิตรเฉพาะหรือ IP เครือข่ายสาธารณะในพื้นที่สำนักงานภายในที่จำเป็นต้องเรียกใช้อินเทอร์เฟซบ่อยอย่าปล่อยให้พวกเขาเข้าคิวกับแฮกเกอร์เพื่อผ่านการตรวจสอบความปลอดภัย

สร้างชุด IP ด้วยตนเองใน WAF และป้อน IP เครือข่ายสาธารณะคงที่ของบริษัทของคุณ

เพิ่มกฎที่กำหนดเองใน Web ACL: หากคำขอมาจากชุด IP นี้การดำเนินการจะถูกตั้งค่าเป็น Allow โดยตรงและลำดับความสำคัญ (Priority) ของกฎนี้จะถูกยกไปที่ตำแหน่ง0ด้านบนด้วยวิธีนี้การจราจรภายในสามารถเข้าสู่ตลาดได้โดยตรง

ขั้นตอนที่สาม: ดูสมุดบัญชีการเรียกเก็บเงินของ AWS WAF (แพงไหม?)

การเรียกเก็บเงินของ AWS WAF นั้นสดชื่นมากไม่มีค่าใช้จ่ายเซิร์ฟเวอร์ที่มองไม่เห็น

ค่าธรรมเนียมฐานคงที่ค่าธรรมเนียมการจัดการการไหล

โหมด:

ค่าธรรมเนียมฐาน Web ACL: $10ต่อ Web ACL ต่อเดือน

ค่าธรรมเนียมกฎ: สำหรับทุกกฎที่คุณเพิ่มลงใน Web ACL (เช่นเลือกชุด CRS หรือเขียนกฎจำกัดความเร็วด้วยตัวเอง) กฎแต่ละข้อจะถูกเรียกเก็บเงิน1ดอลลาร์ต่อเดือน (ชุดกฎการโฮสต์อย่างเป็นทางการของ AWS ส่วนใหญ่ให้ฟรีไม่มีเงินเพิ่ม)

ค่าธรรมเนียมการดำเนินการตามคำขอ: ค่าใช้จ่ายที่ยืดหยุ่นจริงสำหรับคำขอทุกๆ1ล้านคำขอจะมีการเรียกเก็บเงิน $0.60

💡กรณีคณิตศาสตร์ประกันภัย: สมมติว่าคุณสร้าง Web ACL แขวนกฎพื้นฐานอย่างเป็นทางการ3ข้อและกฎจำกัดความเร็ว1ข้อ (รวม4 Rule) เว็บไซต์ของคุณมีคำขอทั้งหมด20ล้านคำขอต่อเดือนค่าเช่ารายเดือนคงที่: $10 (ACL) $1*4 (กฎ) = $14ค่าธรรมเนียมคำขอ:(20ล้าน/1ล้าน) * $0.60 = $12บิลทั้งหมด: เพียง $26 (ประมาณ RMB 180) ต่อเดือนด้วยเงินของตั๋วหนังสองใบเราได้ว่าจ้างบอดี้การ์ดดิจิทัลชั้นนำที่มีการป้องกันส่วนบุคคลตลอด24ชั่วโมงสำหรับธุรกิจหลักของบริษัท

สรุปและสูตรป้องกันตัว

ในสถาปัตยกรรมเนทีฟบนคลาวด์สมัยใหม่เป็นเรื่องที่อันตรายอย่างยิ่งและล้าหลังในการวางการป้องกันความปลอดภัยบนโค้ดส่วนหลังการใช้ AWS WAF เราได้ดำเนินการล้างปริมาณการใช้งานที่เป็นอันตรายที่ขอบเครือข่ายด้านนอกสุดสุดท้ายนี้ฉันจะให้สูตร WAF สี่สูตรที่ทหารผ่านศึกใช้:

กุญแจแรกที่ทางเข้า: WAF แขวนอยู่หน้า ALB หรือ CDN และตัดขอบหัววัดของแฮ็กเกอร์

ตรวจสอบโฮสติ้งอย่างเป็นทางการ: CRS, SQLi บวกการฉีดช่องโหว่หลักในคลิกเดียว

ขีดจำกัดความเร็วปกติปริมาณแปรง: อินเทอร์เฟซที่ละเอียดอ่อนมีเส้นสีแดงและโปรแกรมรวบรวมข้อมูลที่เป็นอันตรายจะกะพริบโดยตรง

Count ก่อนแล้ว B

ล็อค: อย่าสนใจการผลิตและการเปิดตัวดูบันทึกก่อนแล้วจึงอัปเกรด

การชำระเงินบนคลาวด์ของ AWS Amazon

1
← 返回新闻中心