ศูนย์ป้องกันทางไซเบอร์ของเรามีหน้าที่รักษาความปลอดภัยของโครงสร้างพื้นฐานเว็บของลูกค้าและป้องกันการโจมตีบนเว็บไซต์ของลูกค้า เพื่อป้องกันการโจมตี เราใช้ FortiWeb Web Application Firewall (WAFs) แต่แม้แต่ WAF ที่เจ๋งที่สุดก็ไม่ใช่ยาครอบจักรวาลและไม่ได้ป้องกัน "นอกกรอบ" จากการโจมตีที่เป็นเป้าหมาย
ดังนั้น นอกจาก WAF แล้ว เราใช้
วันนี้ฉันจะบอกคุณในรายละเอียดเพิ่มเติมว่าเราข้ามต้นคริสต์มาสกับ WAF ได้อย่างไรและเกิดอะไรขึ้น
เรื่องราวของการโจมตีเพียงครั้งเดียว: ทุกอย่างทำงานอย่างไรก่อนที่จะเปลี่ยนมาใช้ ELK
ในระบบคลาวด์ของเรา ลูกค้าได้ปรับใช้แอปพลิเคชันที่อยู่เบื้องหลัง WAF ของเรา จากผู้ใช้ 10 ถึง 000 คนที่เชื่อมต่อกับไซต์ต่อวัน จำนวนการเชื่อมต่อถึง 100 ล้านครั้งต่อวัน ในจำนวนนี้มีผู้ใช้ 000-20 รายเป็นผู้บุกรุกและพยายามแฮ็กไซต์
FortiWeb บล็อกฟอร์มปกติจากที่อยู่ IP เดียวได้อย่างง่ายดาย จำนวนการเข้าชมไซต์ต่อนาทีนั้นสูงกว่าจำนวนผู้ใช้ที่ถูกต้องตามกฎหมาย เราเพียงตั้งค่าเกณฑ์กิจกรรมจากที่อยู่เดียวและป้องกันการโจมตี
การจัดการกับ "การโจมตีที่ช้า" นั้นยากกว่ามาก เมื่อผู้โจมตีดำเนินการช้าและปลอมตัวเป็นลูกค้าทั่วไป พวกเขาใช้ที่อยู่ IP ที่ไม่ซ้ำกันจำนวนมาก กิจกรรมดังกล่าวดูไม่เหมือนกำลังดุร้ายขนาดใหญ่สำหรับ WAF การติดตามโดยอัตโนมัติทำได้ยากกว่า และยังมีความเสี่ยงที่จะบล็อกผู้ใช้ทั่วไปอีกด้วย เรามองหาสัญญาณอื่นๆ ของการโจมตีและตั้งค่านโยบายสำหรับการบล็อกที่อยู่ IP โดยอัตโนมัติตามสัญญาณนี้ ตัวอย่างเช่น เซสชันที่ไม่ถูกต้องจำนวนมากมีฟิลด์ทั่วไปในส่วนหัวของคำขอ http คุณมักจะต้องค้นหาฟิลด์ดังกล่าวด้วยตนเองในบันทึกเหตุการณ์ของ FortiWeb
มันยาวและอึดอัด ในการทำงานมาตรฐานของ FortiWeb เหตุการณ์จะถูกบันทึกเป็นข้อความในบันทึกที่แตกต่างกัน 3 รายการ: การโจมตีที่ตรวจพบ ข้อมูลเกี่ยวกับคำขอ และข้อความระบบเกี่ยวกับการทำงานของ WAF เหตุการณ์การโจมตีหลายสิบหรือหลายร้อยครั้งสามารถเกิดขึ้นได้ในหนึ่งนาที
ไม่มาก แต่คุณต้องปีนผ่านบันทึกหลาย ๆ อันด้วยตนเองและวนซ้ำหลาย ๆ บรรทัด:
ในบันทึกการโจมตี เราจะเห็นที่อยู่ของผู้ใช้และลักษณะของกิจกรรม
การสแกนตารางบันทึกอย่างเดียวไม่เพียงพอ หากต้องการค้นหาสิ่งที่น่าสนใจและมีประโยชน์มากที่สุดเกี่ยวกับลักษณะการโจมตี คุณต้องดูเหตุการณ์เฉพาะ:
ฟิลด์ที่ไฮไลต์ช่วยในการตรวจจับ "การโจมตีช้า" ที่มา: ภาพหน้าจอจาก
ปัญหาหลักคือมีเพียงผู้เชี่ยวชาญของ FortiWeb เท่านั้นที่สามารถเข้าใจได้ หากในระหว่างเวลาทำการ เรายังสามารถติดตามกิจกรรมที่น่าสงสัยได้แบบเรียลไทม์ การสอบสวนเหตุการณ์ในตอนกลางคืนอาจล่าช้าออกไป เมื่อนโยบายของ FortiWeb ไม่ได้ผลด้วยเหตุผลบางอย่าง วิศวกรกะกลางคืนที่ปฏิบัติหน้าที่จะไม่สามารถประเมินสถานการณ์ได้หากไม่เข้าถึง WAF และปลุกผู้เชี่ยวชาญของ FortiWeb เราตรวจสอบบันทึกเป็นเวลาหลายชั่วโมงและพบช่วงเวลาของการโจมตี
ด้วยข้อมูลจำนวนมากเช่นนี้ จึงเป็นเรื่องยากที่จะเข้าใจภาพรวมได้อย่างรวดเร็วและดำเนินการเชิงรุก จากนั้นเราตัดสินใจที่จะรวบรวมข้อมูลในที่เดียวเพื่อวิเคราะห์ทุกอย่างในรูปแบบภาพ ค้นหาจุดเริ่มต้นของการโจมตี ระบุทิศทางและวิธีการปิดกั้น
สิ่งที่ได้รับเลือก
ก่อนอื่น เราพิจารณาโซลูชันที่ใช้งานอยู่แล้ว เพื่อไม่ให้จำนวนเอนทิตีเพิ่มขึ้นโดยไม่จำเป็น
หนึ่งในตัวเลือกแรกคือ Nagiosที่เราใช้ตรวจสอบ
มีตัวเลือกในการรวมทุกอย่างด้วย MySQL และ PostgreSQL หรือฐานข้อมูลเชิงสัมพันธ์อื่น แต่เพื่อดึงข้อมูลออกมา จำเป็นต้องสร้างแอปพลิเคชันของคุณ
พวกเขายังใช้ในฐานะผู้รวบรวมบันทึกในบริษัทของเรา FortiAnalyzer จากฟอร์ติเน็ต แต่ในกรณีนี้เขาไม่พอดี ประการแรกการทำงานกับไฟร์วอลล์มีความคมชัดมากขึ้น ฟอร์ติเกต. ประการที่สอง การตั้งค่าหลายอย่างขาดหายไป และการโต้ตอบกับการตั้งค่านั้นต้องการความรู้ที่ยอดเยี่ยมเกี่ยวกับการสืบค้น SQL และประการที่สาม การใช้งานจะเพิ่มต้นทุนการใช้บริการให้กับลูกค้า
นี่คือวิธีที่เรามาเปิดแหล่งที่มาในหน้า ELK.
ทำไมต้องเลือก ELK
ELK เป็นชุดของโปรแกรมโอเพ่นซอร์ส:
- ElasticSearch - ฐานข้อมูลอนุกรมเวลาซึ่งเพิ่งสร้างขึ้นเพื่อทำงานกับข้อความจำนวนมาก
- Logstash – กลไกการรวบรวมข้อมูลที่สามารถแปลงบันทึกเป็นรูปแบบที่ต้องการ
- Kibana - Visualizer ที่ดีรวมถึงอินเทอร์เฟซที่เป็นมิตรสำหรับการจัดการ Elasticsearch คุณสามารถใช้มันเพื่อสร้างตารางเวลาที่วิศวกรที่ปฏิบัติหน้าที่สามารถตรวจสอบได้ในตอนกลางคืน
เกณฑ์รายการสำหรับ ELK อยู่ในระดับต่ำ คุณสมบัติพื้นฐานทั้งหมดฟรี สิ่งที่จำเป็นสำหรับความสุข
คุณรวบรวมมันทั้งหมดไว้ในระบบเดียวได้อย่างไร?
สร้างดัชนีและทิ้งข้อมูลที่จำเป็นเท่านั้น. เราโหลดบันทึก FortiWEB ทั้งสามลงใน ELK - ผลลัพธ์คือดัชนี ไฟล์เหล่านี้เป็นไฟล์ที่มีบันทึกที่รวบรวมไว้ทั้งหมดในช่วงเวลาหนึ่ง เช่น หนึ่งวัน หากเรานึกภาพพวกมันออกทันที เราจะเห็นไดนามิกของการโจมตีเท่านั้น สำหรับรายละเอียด คุณต้อง "ตกลง" ในแต่ละการโจมตีและดูที่ช่องเฉพาะ
เราตระหนักดีว่าก่อนอื่นเราต้องตั้งค่าการแยกวิเคราะห์ข้อมูลที่ไม่มีโครงสร้าง เรานำฟิลด์ยาวเป็นสตริง เช่น "ข้อความ" และ "URL" และแยกวิเคราะห์เพื่อรับข้อมูลเพิ่มเติมสำหรับการตัดสินใจ
ตัวอย่างเช่น เมื่อใช้การแยกวิเคราะห์ เราจะแยกตำแหน่งของผู้ใช้ออกต่างหาก สิ่งนี้ช่วยเน้นให้เห็นการโจมตีจากต่างประเทศในเว็บไซต์สำหรับผู้ใช้ชาวรัสเซียได้ทันที ด้วยการบล็อกการเชื่อมต่อทั้งหมดจากประเทศอื่น เราลดจำนวนการโจมตีลง 2 เท่าและสามารถจัดการกับการโจมตีในรัสเซียได้อย่างง่ายดาย
หลังจากแยกวิเคราะห์ พวกเขาเริ่มมองหาข้อมูลที่จะจัดเก็บและแสดงเป็นภาพ การทิ้งทุกอย่างไว้ในบันทึกนั้นไม่เหมาะสม: ขนาดของดัชนีหนึ่งมีขนาดใหญ่ - 7 GB ELK ใช้เวลานานในการประมวลผลไฟล์ อย่างไรก็ตาม ไม่ใช่ข้อมูลทั้งหมดที่เป็นประโยชน์ มีบางอย่างที่ซ้ำกันและใช้พื้นที่พิเศษ - จำเป็นต้องปรับให้เหมาะสม
ในตอนแรก เราแค่ดูดัชนีและลบกิจกรรมที่ไม่จำเป็นออก สิ่งนี้กลับกลายเป็นว่าไม่สะดวกและยาวนานกว่าการทำงานกับบันทึกบน FortiWeb เสียอีก ข้อดีเพียงอย่างเดียวของ "ต้นคริสต์มาส" ในขั้นตอนนี้คือ เราสามารถแสดงภาพช่วงเวลาขนาดใหญ่บนหน้าจอเดียวได้
เราไม่สิ้นหวัง เรากินกระบองเพชรต่อไปและศึกษา ELK และเชื่อว่าเราจะสามารถดึงข้อมูลที่จำเป็นได้ หลังจากล้างดัชนีแล้ว เราก็เริ่มนึกภาพออกว่าคืออะไร ดังนั้นเราจึงมาถึงแดชบอร์ดขนาดใหญ่ เราแหย่วิดเจ็ต - ЁLKa ตัวจริงที่ดูดีและสวยงาม!
จับภาพช่วงเวลาของการโจมตี. ตอนนี้จำเป็นต้องเข้าใจว่าจุดเริ่มต้นของการโจมตีมีลักษณะอย่างไรบนแผนภูมิ ในการตรวจจับ เราได้ดูการตอบสนองของเซิร์ฟเวอร์ต่อผู้ใช้ (รหัสส่งคืน) เราสนใจการตอบกลับของเซิร์ฟเวอร์ด้วยรหัสดังกล่าว (rc):
รหัส (อาร์ซี)
ชื่อ
ลักษณะ
0
DROP
คำขอไปยังเซิร์ฟเวอร์ถูกบล็อก
200
Ok
คำขอได้รับการดำเนินการเรียบร้อยแล้ว
400
คำขอไม่ถูกต้อง
คำขอไม่ถูกต้อง
403
หวงห้าม
การอนุญาตถูกปฏิเสธ
500
ผิดพลาดของเซิร์ฟเวอร์ภายใน
ไม่สามารถใช้บริการได้
หากมีคนเริ่มโจมตีไซต์ อัตราส่วนของรหัสจะเปลี่ยนไป:
- หากมีคำขอที่ผิดพลาดมากขึ้นด้วยรหัส 400 และคำขอปกติจำนวนเท่าเดิมด้วยรหัส 200 แสดงว่ามีคนพยายามแฮ็กไซต์
- หากในเวลาเดียวกันคำขอที่มีรหัส 0 เพิ่มขึ้นนักการเมืองของ FortiWeb ก็ "เห็น" การโจมตีและใช้บล็อกกับมัน
- หากจำนวนข้อความที่มีรหัส 500 เพิ่มขึ้น แสดงว่าไซต์นั้นไม่สามารถใช้งานได้สำหรับที่อยู่ IP เหล่านี้ ซึ่งเป็นการบล็อกชนิดหนึ่ง
เมื่อถึงเดือนที่สาม เราได้ตั้งค่าแดชบอร์ดเพื่อติดตามกิจกรรมนี้
เพื่อไม่ให้ตรวจสอบทุกอย่างด้วยตนเอง เราจึงตั้งค่าการผสานรวมกับ Nagios ซึ่งทำการสำรวจ ELK ในช่วงเวลาหนึ่ง หากบันทึกความสำเร็จของเกณฑ์ด้วยรหัสจะส่งการแจ้งเตือนไปยังเจ้าหน้าที่ปฏิบัติหน้าที่เกี่ยวกับกิจกรรมที่น่าสงสัย
รวม 4 แผนภูมิในระบบการตรวจสอบ. ตอนนี้ สิ่งสำคัญคือต้องดูกราฟในช่วงเวลาที่การโจมตีไม่ถูกบล็อก และจำเป็นต้องมีการแทรกแซงจากวิศวกร ใน 4 กราฟที่แตกต่างกัน ตาของเราเบลอ ดังนั้นเราจึงรวมแผนภูมิและเริ่มสังเกตทุกอย่างบนหน้าจอเดียว
ในการตรวจสอบ เราเฝ้าดูว่ากราฟที่มีสีต่างๆ เปลี่ยนไปอย่างไร การระเบิดของสีแดงบ่งชี้ว่าการโจมตีได้เริ่มขึ้นแล้ว ในขณะที่กราฟสีส้มและสีน้ำเงินแสดงปฏิกิริยาของ FortiWeb:
ทุกอย่างเรียบร้อยดี: มีกิจกรรม "สีแดง" เพิ่มขึ้น แต่ FortiWeb รับมือได้และกำหนดการโจมตีก็ไร้ผล
เรายังวาดตัวอย่างกราฟที่ต้องการการแทรกแซงสำหรับตัวเราเอง:
ที่นี่เราจะเห็นว่า FortiWeb มีกิจกรรมเพิ่มขึ้น แต่กราฟการโจมตีสีแดงไม่ได้ลดลง คุณต้องเปลี่ยนการตั้งค่า WAF
การสืบสวนเหตุการณ์ในตอนกลางคืนก็ง่ายขึ้นเช่นกัน กราฟจะแสดงทันทีเมื่อถึงเวลาที่จะต้องป้องกันไซต์
นั่นคือสิ่งที่เกิดขึ้นในบางครั้งในตอนกลางคืน กราฟสีแดง - การโจมตีได้เริ่มขึ้นแล้ว สีฟ้า - กิจกรรม FortiWeb การโจมตีไม่ได้ปิดกั้นอย่างสมบูรณ์ เราต้องเข้าแทรกแซง
เราจะไปที่ไหน
ตอนนี้เรากำลังฝึกอบรมผู้ดูแลหน้าที่ให้ทำงานร่วมกับ ELK ผู้เข้าร่วมเรียนรู้ที่จะประเมินสถานการณ์บนแดชบอร์ดและตัดสินใจ: ถึงเวลาส่งต่อไปยังผู้เชี่ยวชาญของ FortiWeb มิฉะนั้น นโยบายบน WAF จะเพียงพอที่จะขับไล่การโจมตีได้โดยอัตโนมัติ ดังนั้นเราจึงลดภาระของวิศวกรด้านความปลอดภัยข้อมูลในตอนกลางคืนและแบ่งบทบาทในการสนับสนุนในระดับระบบ การเข้าถึง FortiWeb ยังคงอยู่กับศูนย์ป้องกันทางไซเบอร์เท่านั้น และจะทำการเปลี่ยนแปลงการตั้งค่า WAF เมื่อจำเป็นเร่งด่วนเท่านั้น
เรากำลังดำเนินการรายงานสำหรับลูกค้า เราวางแผนว่าข้อมูลเกี่ยวกับไดนามิกของงาน WAF จะมีอยู่ในบัญชีส่วนบุคคลของลูกค้า ELK จะทำให้สถานการณ์ชัดเจนขึ้นโดยไม่จำเป็นต้องอ้างถึง WAF เอง
หากลูกค้าต้องการตรวจสอบการป้องกันของตนเองแบบเรียลไทม์ ELK ก็จะมีประโยชน์เช่นกัน เราไม่สามารถให้การเข้าถึง WAF ได้เนื่องจากการแทรกแซงของลูกค้าในการทำงานอาจส่งผลกระทบต่อส่วนที่เหลือ แต่คุณสามารถเลือก ELK แยกต่างหากและมอบให้กับ "เล่นรอบ"
นี่คือสถานการณ์การใช้ต้นคริสต์มาสที่เราสะสมเมื่อเร็ว ๆ นี้ แบ่งปันความคิดของคุณเกี่ยวกับเรื่องนี้และอย่าลืม
ที่มา: will.com