การลงทะเบียนบัญชี Google Cloud: ป้องกันบริการปฏิเสธการกระจายสินค้าระดับล้าน (DDoS) ได้อย่างง่ายดายด้วย Google Cloud Armor
เพื่อนๆที่ทำไซต์อิสระอีคอมเมิร์ซข้ามพรมแดนหรือแอปในทะเลเปิด "เครือข่ายนรก" ที่กลัวการเผชิญหน้ามากที่สุดไม่ได้เป็นของ
DDoS (การโจมตีแบบปฏิเสธบริการแบบกระจาย)
。
การโจมตี DDoS แบบเดิมอาจใช้ปริมาณสแปมจำนวนมากเพื่อเติมเต็มแบนด์วิดท์เซิร์ฟเวอร์ของคุณแต่วันนี้วิธีการของแฮ็กเกอร์มีการพัฒนามานานแล้ว: พวกเขาจะควบคุม IP ไก่เนื้อจริงในต่างประเทศหลายพันรายการปลอมตัวเป็นผู้ใช้ปกติและรีเฟรชหน้าเว็บที่ใช้คอมพิวเตอร์มากที่สุดบนเว็บไซต์อิสระของคุณด้วยความถี่สูงและบ้าคลั่ง (เช่นการค้นหาสินค้าหน้าการชำระเงินตะกร้าสินค้า) มันแย่มาก
CC โจมตี (Layer 7 App Layer โจมตี)
。ภายใต้การทิ้งระเบิดแบบกระจายพร้อมกันหลายล้านระดับไฟร์วอลล์ธรรมดาก็ไร้ประโยชน์และซีพียูของเซิร์ฟเวอร์ส่วนหลังจะเต็มทันทีภายในไม่กี่วินาทีทำให้เป็นอัมพาตโดยสิ้นเชิง
สิ่งที่น่าขยะแขยงกว่านั้นคือแฮกเกอร์มักจะเลือกโปรโมชั่น "Black Friday" ของคุณหรือช่วงเวลาทองของคำสั่งซื้อโฆษณาบน Facebook จากนั้นทิ้งที่อยู่กระเป๋าเงิน Bitcoin เพื่อแบล็กเมล์คุณในเวลานี้การเป็นอัมพาตอีกหนึ่งนาทีหมายความว่าค่าโฆษณาจำนวนนับไม่ถ้วนถูกเผาโดยเปล่าประโยชน์
ในระบบนิเวศของ Google Cloud(GCP, Google Cloud) มีประตูป้องกันสูงที่ใช้โดยเฉพาะเพื่อทำให้ปริมาณการใช้งานที่เป็นอันตรายเหล่านี้เกินจริงเรียกว่า
กูเกิลคลาวด์อาร์มอร์
。
ความมั่นใจหลักของมันคือฮาร์ดคอร์มาก:
ขึ้นอยู่กับเครือข่ายขอบของ Google Global Load Balancing (Global LB) โดยตรง
。ซึ่งหมายความว่าปริมาณการใช้งานการโจมตีของแฮ็กเกอร์พร้อมกันหลายล้านคนถูกบล็อกและทำความสะอาดในห้องคอมพิวเตอร์ชายขอบของ Google ทั่วโลกก่อนที่จะแตะการ์ดเครือข่ายเซิร์ฟเวอร์ของคุณ
วันนี้เราปฏิเสธสำนวนการเทศนาอย่างเป็นทางการและไม่จดจำโปรโตคอลเครือข่ายที่น่าเบื่อเริ่มต้นโดยตรงจากการต่อสู้จริงที่บริสุทธิ์จับมือคุณเพื่อติดตั้งระบบป้องกัน Cloud Armor ระดับโรงงานขนาดใหญ่และเชื่อมชุดเกราะแข็งสำหรับธุรกิจในต่างประเทศของคุณ
ขั้นตอนที่1: การรื้อลึก, Cloud Armor's "ลดมิติการโจมตี" แบบจำลองโลก
ก่อนที่จะเริ่มคอนโซลคุณต้องสร้างแบบจำลองการทำงานทางกายภาพของ Cloud Armor ในใจของคุณมิฉะนั้นคุณจะเข้าใจได้ยากว่าเหตุใดจึงสามารถรองรับการทำงานพร้อมกันหลายล้านครั้งที่แม้แต่โรงงานขนาดใหญ่ก็ปวดหัว
สตรีมข้อมูลพื้นฐานของระบบป้องกันทั้งหมดสามารถสรุปได้เป็นวงกลมป้องกันสองชั้น:
วงกลมแรก: การจัดสรรภาระงานทั่วโลกของ Google (ประตูส่วนหน้า): เมื่อผู้ใช้ทั่วโลกเข้าเยี่ยมชมเว็บไซต์ของคุณการเข้าชมครั้งแรกจะเข้าสู่เครื่องมือโหลดบาลานเซอร์แอปพลิเคชันภายนอกทั่วโลกของ Google (Global External Application Load Balancer) ประตูนี้มีความสามารถในการควบคุมน้ำท่วมแบบไม่จำกัดของ Layer 3/4 (เลเยอร์เครือข่าย/เลเยอร์การขนส่ง) การโจมตีด้วยการขยาย SYN Flood และ UDP แบบดั้งเดิมจะถูกย่อยโดยตรงโดยเครือข่ายฮาร์ดแวร์พื้นฐานของ Google ที่นี่และคุณไม่จำเป็นต้องจ่ายเงินเพิ่ม
รอบที่สอง: กลยุทธ์การรักษาความปลอดภัย Cloud Armor
เล็กน้อย (แผ่นทำความสะอาดหลัก): เมื่อการรับส่งข้อมูลคร่าวๆถูกปิดกั้นโดยประตูคำขอที่เป็นอันตรายของเลเยอร์แอปพลิเคชัน L7 (HTTP/HTTPS) ที่ปลอมตัวเหมือนผู้ใช้ทั่วไปจะยังคงเจาะเข้าไปในขณะนี้ Cloud Armor ที่ติดตั้งบนตัวโหลดบาลานซ์ได้เปิดขึ้นอย่างเป็นทางการตามกฎที่คุณเขียนหรือโมเดลแมชชีนเลิร์นนิงที่พัฒนาขึ้นเองของ Google จะส่งคำขอขยะกลับไปที่403เพื่อปฏิเสธภายในไม่กี่มิลลิวินาทีและอนุญาตให้มีการเข้าชมของผู้ซื้อจริงเข้าสู่เครื่องเสมือนหรือคอนเทนเนอร์ส่วนหลังเท่านั้น
ขั้นตอนที่สอง: แบบฝึกหัดการต่อสู้จริง-การกำหนดค่ากลุ่มกลยุทธ์หลักของ Cloud Armor
ตรวจสอบให้แน่ใจว่าสถานีอิสระหรือเว็บปพลิเคชันของคุณได้รับการตั้งค่าใน GCP
แอพลิเคชันภายนอก Load Balancer
ส่วนหลังต่อไปเราไปที่ส่วนหน้าเพื่อสร้างประตูป้องกันสูง
ลงชื่อเข้าใช้
คอนโซล GCP
, ค้นหาเมนูนำทางที่มุมซ้ายบน
"การรักษาความปลอดภัยเครือข่าย (Network Security)"-> "Cloud Armor"
。
คลิกที่ด้านบน
"สร้างกลยุทธ์ (Create policy)"
, เข้าสู่สนามรบหลัก.
ขั้นตอนที่1: จัดทำโครงร่างนโยบายความปลอดภัย
ชื่อ: ชื่อ prod-anti-ddos-policy 。
ประเภทนโยบาย: เลือก "นโยบายการรักษาความปลอดภัยแบบแบ็คเอนด์"
การดำเนินการเริ่มต้น (Default action): คุณต้องเลือก "อนุญาต (Allow)" กฎทางเทคนิคที่ไม่ได้พูดของสถาปนิก: ซึ่งแสดงถึง "การเปิดตัวเริ่มต้น" กล่าวอีกนัยหนึ่งเว้นแต่การเข้าชมจะเข้าสู่กฎบัญชีดำที่เราเขียนต่อไปจะถือว่าเป็นคนดี
ขั้นตอนที่2: เชื่อมลวดหนามแรก-ศิลปะการต่อสู้ของโลกแต่ "ขีดจำกัดปัจจุบัน" ไม่แตก (Rate Limiting)
วิธีทางกายภาพที่มีประสิทธิภาพที่สุดในการจัดการกับการโจมตี CC ของไก่เนื้อหลายล้านตัวที่ปัดหน้าการค้นหาด้วยความถี่สูงคือ
จำกัดอัตรา
。
คลิก "เพิ่มกฎ" ในหน้านโยบาย
ประเภท: เลือก "อัตราจำกัด"
เงื่อนไขการจับคู่: กรอกข้อมูลจริง (หมายความว่ากฎขีดจำกัดปัจจุบันมีผลกับการเข้าชมทั่วโลกทั้งหมด)
การตั้งค่าขีดจำกัดปัจจุบัน (คีย์): จำนวนคำขอ: ป้อน100ช่วงเวลา: เลือก1นาทีคีย์: เลือก "ตาม IP ไคลเอนต์ (Client IP)" การดำเนินการหลังจากเกินเกณฑ์: เลือก "429(Too Many Requests)" คำอธิบายที่เป็นที่นิยมของตรรกะพื้นฐาน: กฎนี้แปลว่า: "สำหรับ IP ใดๆในโลกหากคุณกล้าส่งคำขอ HTTP มากกว่า100คำขอไปยังตัวจัดสรรภาระงานของฉันภายในหนึ่งนาทีฉันคิดว่ามันไม่ใช่มนุษย์ปกติและคำขอต่อไปโดยตรงกลับไปที่429เพื่อรายงานข้อผิดพลาดและขังเขาไว้ที่ประตูอย่าปล่อยให้คำขอของเขาเข้ามาในเซิร์ฟเวอร์ของฉัน"
ขั้นตอนที่3: เชื่อมลวดหนามที่สองให้ตายด้วยคลิกเดียวเพื่อปิดกั้นความเสี่ยงสูง
ประเทศหรือส่วน IP ที่เป็นอันตราย
บางครั้งในช่วงโปรโมชั่นใหญ่คุณจะพบว่าการไหลของขยะที่ชนกำแพงอย่างบ้าคลั่งนั้นมาจากประเทศใดประเทศหนึ่งที่ไม่เกี่ยวข้องกับธุรกิจของคุณ (เช่นคลัสเตอร์ IP การผลิตสีดำบางกลุ่ม)
คลิก "เพิ่มกฎ" อีกครั้งและเลือกประเภท "นโยบายความปลอดภัย"
การดำเนินการ: เลือก "ปฏิเสธ" และเลือกรหัสสถานะ403
โหมดการจับคู่: เลือกโหมดขั้นสูงป้อนฟังก์ชันตำแหน่งทางภูมิศาสตร์ในตัวของ Google ในนิพจน์: Plaintextorigin region_code = = 'CN' || origin. region_code = = 'RU' (หมายเหตุ: กฎบรรทัดนี้หมายความว่าหากผู้ซื้อหลักของคุณทั้งหมดอยู่ในยุโรปและอเมริกาคุณสามารถเลือกที่จะปิดกั้นคำขอทั้งหมดจากภูมิภาคที่มีความเสี่ยงสูงอื่นๆได้ในคลิกเดียว)
ลำดับความสำคัญ (Priority): อินพุต900
เรื่องราวภายในของการดำเนินการและการบำรุงรักษาของผู้ผลิตรายใหญ่: กฎของ Cloud Armor คือยิ่งตัวเลขมีขนาดเล็กเท่าใดลำดับความสำคัญก็จะยิ่งสูงขึ้นเท่านั้นกฎเริ่มต้นคือ2147483647 (การดำเนินการล่าสุด) เราตั้งค่าลำดับความสำคัญของบัญชีดำเฉพาะเป็น900และขีดจำกัดปัจจุบันเป็น1,000ด้วยวิธีนี้การไหลในพื้นที่ที่มีความเสี่ยงสูงจะถูกระเหยโดยตรงโดยเครือข่ายสกัดกั้น900ก่อนที่จะเข้าสู่การตรวจสอบขีดจำกัดในปัจจุบัน
ขั้นตอนที่4: เปิดใช้งานคูเมืองขนาดใหญ่-กฎ WAF โสเภณีสีขาว (ป้องกัน SQL ฉีดกับ XSS)
ในขณะที่ดำเนินการ DDoS กับคุณแฮกเกอร์จำนวนมากจะพยายามใช้สคริปต์อัตโนมัติเพื่อตรวจจับช่องโหว่ในเว็บไซต์ของคุณ Cloud Armor รวมมาตรฐานอุตสาหกรรม
OWASP Top 10ชุดกฎ WAF ที่กำหนดไว้ล่วงหน้า
。
คลิกเพื่อเพิ่มกฎและเรียกรหัสลับที่บรรจุโดย Google โดยตรงในนิพจน์การจับคู่: PlaintextevaluatePreconfiguredExpr('sqli-v33-stable ') || evaluatePreconfiguredExpr('xss-v33-stable')
การดำเนินการ: เลือก "Deny (403)"
ลำดับความสำคัญ: ตั้งค่าเป็น800ด้วยบรรทัดของโค้ดนี้การตรวจจับการโจมตีด้วยสคริปต์ข้ามไซต์ (XSS) และการฉีด SQL ทั้งหมดจะถูกดักจับที่โหนดขอบทันทีและคุณไม่จำเป็นต้องเขียนโค้ดป้องกันแม้แต่บรรทัดเดียว
ขั้นตอนที่5: รวม-ติดตั้งกลยุทธ์ในตัวจัดสรรภาระงานของคุณ
หลังจากกฎทั้งหมดเสร็จสิ้นให้คลิกถัดไปใน
"การประยุกต์ใช้เป้าหมาย (Apply to targets)"
ในหน้าแท็บคลิกเพิ่มเป้าหมาย
เลือกบริการแบ็กเอนด์ของตัวโหลดบาลานซ์ HTTP(S) ภายนอกที่คุณกำลังเปิดประตู
。
คลิกสร้างรอประมาณ1 ~ ใน2นาทีกฎการป้องกันสูงทั้งชุดจะถูกซิงโครไนซ์กับโหนด PoP ขอบทั้งหมดทั่วโลกของ Google
ขั้นตอนที่สาม: การทดสอบการฝึกซ้อมในสถานที่จริง-"ร่างกายชนกำแพง"
เพื่อตรวจสอบว่าการป้องกันเกิดจริงหรือไม่
ได้ผลเราไม่จำเป็นต้องจ้างแฮกเกอร์เราสามารถใช้เครื่องมือทดสอบความเครียดในเครื่องได้ (เช่น
Ab
หรือ
เฮ้
) เพื่อจำลองการโจมตีความถี่สูง
ในเทอร์มินัลคอมพิวเตอร์ภายในของคุณให้เริ่มการเรียกเก็บเงินที่รุนแรงสำหรับชื่อโดเมนไซต์อิสระของคุณ (จำลองการส่งคำขอต่อเนื่อง200รายการภายใน1วินาที):
แบช
Hey-n 200 -c 10 https://www.yourshop.com/
ชมช่วงเวลาแห่งปาฏิหาริย์
เมื่อเครื่องมือทำงานเสร็จคุณจะพบว่าในรายงานผลลัพธ์ที่ส่งคืน100คำขอแรกจะถูกส่งคืนอย่างเรียบร้อย
200 OK
(หมายความว่าคุณได้รับหน้าเว็บในฐานะผู้ใช้ปกติ) และ
หลังจาก100คำขอทั้งหมด100% ถูกส่งกลับ429 Too Many Requests หรือ403 Forbidden
。
ในตอนนี้คุณไปที่ตัวบ่งชี้การตรวจสอบ CPU ของเซิร์ฟเวอร์สถานีอิสระส่วนหลังของคุณซึ่งมีความเสถียรเหมือนภูเขาและไม่มีเส้นโค้งความผันผวนที่ซ้ำซ้อนเนื่องจากคำขอสแปม100รายการสุดท้ายที่เพียงพอที่จะลากเซิร์ฟเวอร์ของคุณลง Cloud Armor จึงถูกยิงอย่างไร้ความปรานีบนชายหาดที่เกตเวย์ขอบของ Google
ขั้นตอนที่สี่: ประวัติการหลีกเลี่ยงเลือดและน้ำตาของโครงสร้างการป้องกันระดับสูงเชิงพาณิชย์
หลังจากกำหนดค่าแผนนี้แล้วแฮกเกอร์ธรรมดาและโจรตัวเล็กๆจะถอยเมื่อเห็นคุณแขวน Cloud Armor แต่ในสภาพแวดล้อมการจราจรขนาดใหญ่ข้ามชาติที่แท้จริงสถาปนิกปฏิบัติการและการบำรุงรักษามักจะต้องแก้ไขหลุมจริงสองหลุมต่อไปนี้:
1.การบาดเจ็บจากท่อน้ำขนาดใหญ่โดยไม่ได้ตั้งใจ-ระวังการปฏิบัติต่อ "เกตเวย์การชำระเงิน" และ "โปรแกรมรวบรวมข้อมูลที่รู้จักกันดี" ในฐานะแฮ็กเกอร์
หลังจากเปิดขีดจำกัด IP ของไคลเอนต์ทั่วโลกแล้วในไม่ช้าคุณจะได้รับข้อผิดพลาดเหนือธรรมชาติมากมายเช่นการเรียกกลับการชำระเงินของ PayPal และ Stripe ล้มเหลวเป็นครั้งคราวหรือโปรแกรมรวบรวมข้อมูลเครื่องมือค้นหาอย่างเป็นทางการของ Google ก็หยุดรวบรวมข้อมูลหน้าผลิตภัณฑ์ของคุณ
เหตุผลในการถอดชิ้นส่วน: เนื่องจากเกตเวย์การชำระเงินและโปรแกรมรวบรวมข้อมูลของ Google ยังส่งคำขอไปยังเว็บไซต์ของคุณบ่อยครั้งในสายตาของ Cloud Armor ลักษณะของ "ท่อน้ำขนาดใหญ่" เหล่านี้คล้ายกับไก่เนื้อของแฮ็กเกอร์มากและง่ายต่อการกระตุ้นให้เกิดการบาดเจ็บโดยบังเอิญของขีดจำกัดการไหล429ทำให้ไม่สามารถซิงโครไนซ์สถานะคำสั่งซื้อได้
เหรียญทองปลอดมาตรฐานสถาปนิก: ที่ด้านบนสุดของกฎ Cloud Armor (ลำดับความสำคัญกำหนดไว้ที่100สูงสุด) สร้างกฎรายการที่อนุญาตพิเศษใช้นิพจน์ในตัวของ Google evaluatePreconfiguredExpr('sourceip-search-engines') เพื่อปล่อยโปรแกรมรวบรวมข้อมูลอย่างเป็นทางการเช่น Google และ Bing ในคลิกเดียวใส่ส่วนเครือข่าย IP ที่ประกาศอย่างเป็นทางการโดย Stripe หรือ PayPal ลงในรายการที่อนุญาตพิเศษนี้ทำให้พวกเขาได้รับสิทธิพิเศษสูงสุดในการ "เห็นเจ้าหน้าที่โดยไม่ต้องคุกเข่า"
2.สุดยอดแฮกเกอร์ขั้นสูงเพื่อข้ามหลุมขนาดใหญ่-ปกป้อง "IP สถานีต้นทางด้านหลัง" ของคุณ
นี่คือบทเรียนแห่งเลือดและน้ำตาที่ทีมในทะเลจำนวนนับไม่ถ้วนจ่ายค่าโฆษณาหลายล้านก่อนที่จะซื้อมันส่วนหน้าของคุณมีการจัดสรรภาระงานที่อยู่ยงคงกระพัน
และ Cloud Armor แต่หากเครื่องเสมือนส่วนหลัง (Compute Engine) ของคุณถูกผูกไว้โดยบังเอิญ
IP เครือข่ายสาธารณะภายนอก
และไม่ได้ปิดการเข้าถึงเครือข่ายสาธารณะทั่วโลก80/443
การปราบปรามการลดขนาดเกิดขึ้น: แฮกเกอร์ที่มีประสบการณ์จะไม่แตะต้องชื่อโดเมนของคุณเลยพวกเขาจะใช้เครื่องมือสแกน IP ทั่วโลกเพื่อตรวจจับ IP สาธารณะจริงของเซิร์ฟเวอร์แบ็คเอนด์ของคุณโดยตรงจากนั้นข้ามประตูส่วนหน้าของ Google และทุบการรับส่งข้อมูลนับล้านไปยัง IP จริงของเซิร์ฟเวอร์ของคุณโดยตรง Cloud Armor ของคุณไม่มีโอกาสยิงด้วยซ้ำและส่วนหลังจะเป็นอัมพาตทันที
ข้อกำหนดด้านความปลอดภัยแบบฮาร์ดคอร์: สถานีต้นทางส่วนหลังต้องปิดสนิทลบ IP สาธารณะภายนอกทั้งหมดของเครื่องเสมือนส่วนหลังและปล่อยให้ทำงานบนอินทราเน็ตอย่างหมดจดในกฎไฟร์วอลล์ VPC การกำหนดค่าคือ "อนุญาตเฉพาะคำขอขาเข้าจากส่วนพร็อกซีส่วนหน้าของ Google Load Equalizer (เช่น130.211.0.0/22และ35.191.0.0/16)" เปลี่ยนด้านหลังให้เป็นเสาหินโดยสิ้นเชิงบังคับให้ทราฟฟิกทั้งหมดในโลกต้องผ่านตะแกรงจากตัวกรอง Cloud Armor อย่างเหมาะสม
สรุป
การใช้ Google Cloud Armor เพื่อป้องกันการโจมตี DDoS นับล้านสาระสำคัญระดับอุตสาหกรรมหลักอยู่ที่16คำ:
การทำความสะอาดขอบการจำกัดกระแสเป็นหลักลักษณะที่แม่นยำสถานีต้นทางถูกปิดผนึก
。
คุณได้กำจัดสถานะการตีแบบพาสซีฟที่คุณต้องใช้ราคาสูงเพื่อซื้อบุคคลที่สามเพื่อทำความสะอาด IP ที่มีการป้องกันสูงหรือเปลี่ยนไฟร์วอลล์เซิร์ฟเวอร์ความรับผิดชอบในการป้องกันระดับสูงและการต่อสู้กับน้ำท่วมได้รับการจัดการโดยตรงกับขีดจำกัดสูงสุดของการป้องกันทางกายภาพของเครือข่ายกระดูกสันหลังทั่วโลกของ Google ไม่ว่าแฮกเกอร์จะปั่นป่วนแค่ไหนสถานีอิสระและธุรกิจในต่างประเทศของคุณจะมั่นคงเหมือนภูเขาที่อยู่ด้านหลังและราบรื่น

