ELK ช่วยวิศวกรรักษาความปลอดภัยต่อสู้กับการโจมตีเว็บไซต์และนอนหลับอย่างสงบได้อย่างไร

ศูนย์ป้องกันทางไซเบอร์ของเรามีหน้าที่รักษาความปลอดภัยของโครงสร้างพื้นฐานเว็บของลูกค้าและป้องกันการโจมตีบนเว็บไซต์ของลูกค้า เพื่อป้องกันการโจมตี เราใช้ FortiWeb Web Application Firewall (WAFs) แต่แม้แต่ WAF ที่เจ๋งที่สุดก็ไม่ใช่ยาครอบจักรวาลและไม่ได้ป้องกัน "นอกกรอบ" จากการโจมตีที่เป็นเป้าหมาย 

ดังนั้น นอกจาก WAF แล้ว เราใช้ ELK. ช่วยรวบรวมเหตุการณ์ทั้งหมดไว้ในที่เดียว สะสมสถิติ แสดงภาพเหตุการณ์และทำให้เราเห็นเป้าหมายการโจมตีได้ทันเวลา

วันนี้ฉันจะบอกคุณในรายละเอียดเพิ่มเติมว่าเราข้ามต้นคริสต์มาสกับ WAF ได้อย่างไรและเกิดอะไรขึ้น

ELK ช่วยวิศวกรรักษาความปลอดภัยต่อสู้กับการโจมตีเว็บไซต์และนอนหลับอย่างสงบได้อย่างไร

เรื่องราวของการโจมตีเพียงครั้งเดียว: ทุกอย่างทำงานอย่างไรก่อนที่จะเปลี่ยนมาใช้ ELK

ในระบบคลาวด์ของเรา ลูกค้าได้ปรับใช้แอปพลิเคชันที่อยู่เบื้องหลัง WAF ของเรา จากผู้ใช้ 10 ถึง 000 คนที่เชื่อมต่อกับไซต์ต่อวัน จำนวนการเชื่อมต่อถึง 100 ล้านครั้งต่อวัน ในจำนวนนี้มีผู้ใช้ 000-20 รายเป็นผู้บุกรุกและพยายามแฮ็กไซต์ 

FortiWeb บล็อกฟอร์มปกติจากที่อยู่ IP เดียวได้อย่างง่ายดาย จำนวนการเข้าชมไซต์ต่อนาทีนั้นสูงกว่าจำนวนผู้ใช้ที่ถูกต้องตามกฎหมาย เราเพียงตั้งค่าเกณฑ์กิจกรรมจากที่อยู่เดียวและป้องกันการโจมตี

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

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

ไม่มาก แต่คุณต้องปีนผ่านบันทึกหลาย ๆ อันด้วยตนเองและวนซ้ำหลาย ๆ บรรทัด: 

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

ELK ช่วยวิศวกรรักษาความปลอดภัยต่อสู้กับการโจมตีเว็บไซต์และนอนหลับอย่างสงบได้อย่างไร
ฟิลด์ที่ไฮไลต์ช่วยในการตรวจจับ "การโจมตีช้า" ที่มา: ภาพหน้าจอจาก เว็บไซต์ฟอร์ติเน็ต

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

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

สิ่งที่ได้รับเลือก

ก่อนอื่น เราพิจารณาโซลูชันที่ใช้งานอยู่แล้ว เพื่อไม่ให้จำนวนเอนทิตีเพิ่มขึ้นโดยไม่จำเป็น

หนึ่งในตัวเลือกแรกคือ Nagiosที่เราใช้ตรวจสอบ โครงสร้างพื้นฐานทางวิศวกรรม, โครงสร้างพื้นฐานเครือข่าย, การแจ้งเตือนฉุกเฉิน เจ้าหน้าที่รักษาความปลอดภัยยังใช้มันเพื่อแจ้งเจ้าหน้าที่ในกรณีที่มีการจราจรที่น่าสงสัย แต่ไม่รู้วิธีรวบรวมบันทึกที่แตกต่างกันและดังนั้นจึงหายไป 

มีตัวเลือกในการรวมทุกอย่างด้วย MySQL และ PostgreSQL หรือฐานข้อมูลเชิงสัมพันธ์อื่น แต่เพื่อดึงข้อมูลออกมา จำเป็นต้องสร้างแอปพลิเคชันของคุณ 

พวกเขายังใช้ในฐานะผู้รวบรวมบันทึกในบริษัทของเรา FortiAnalyzer จากฟอร์ติเน็ต แต่ในกรณีนี้เขาไม่พอดี ประการแรกการทำงานกับไฟร์วอลล์มีความคมชัดมากขึ้น ฟอร์ติเกต. ประการที่สอง การตั้งค่าหลายอย่างขาดหายไป และการโต้ตอบกับการตั้งค่านั้นต้องการความรู้ที่ยอดเยี่ยมเกี่ยวกับการสืบค้น SQL และประการที่สาม การใช้งานจะเพิ่มต้นทุนการใช้บริการให้กับลูกค้า   

นี่คือวิธีที่เรามาเปิดแหล่งที่มาในหน้า ELK

ทำไมต้องเลือก ELK 

ELK เป็นชุดของโปรแกรมโอเพ่นซอร์ส:

  • ElasticSearch - ฐานข้อมูลอนุกรมเวลาซึ่งเพิ่งสร้างขึ้นเพื่อทำงานกับข้อความจำนวนมาก
  • Logstash – กลไกการรวบรวมข้อมูลที่สามารถแปลงบันทึกเป็นรูปแบบที่ต้องการ 
  • Kibana - Visualizer ที่ดีรวมถึงอินเทอร์เฟซที่เป็นมิตรสำหรับการจัดการ Elasticsearch คุณสามารถใช้มันเพื่อสร้างตารางเวลาที่วิศวกรที่ปฏิบัติหน้าที่สามารถตรวจสอบได้ในตอนกลางคืน 

เกณฑ์รายการสำหรับ ELK อยู่ในระดับต่ำ คุณสมบัติพื้นฐานทั้งหมดฟรี สิ่งที่จำเป็นสำหรับความสุข

คุณรวบรวมมันทั้งหมดไว้ในระบบเดียวได้อย่างไร?

สร้างดัชนีและทิ้งข้อมูลที่จำเป็นเท่านั้น. เราโหลดบันทึก FortiWEB ทั้งสามลงใน ELK - ผลลัพธ์คือดัชนี ไฟล์เหล่านี้เป็นไฟล์ที่มีบันทึกที่รวบรวมไว้ทั้งหมดในช่วงเวลาหนึ่ง เช่น หนึ่งวัน หากเรานึกภาพพวกมันออกทันที เราจะเห็นไดนามิกของการโจมตีเท่านั้น สำหรับรายละเอียด คุณต้อง "ตกลง" ในแต่ละการโจมตีและดูที่ช่องเฉพาะ

ELK ช่วยวิศวกรรักษาความปลอดภัยต่อสู้กับการโจมตีเว็บไซต์และนอนหลับอย่างสงบได้อย่างไร

เราตระหนักดีว่าก่อนอื่นเราต้องตั้งค่าการแยกวิเคราะห์ข้อมูลที่ไม่มีโครงสร้าง เรานำฟิลด์ยาวเป็นสตริง เช่น "ข้อความ" และ "URL" และแยกวิเคราะห์เพื่อรับข้อมูลเพิ่มเติมสำหรับการตัดสินใจ 

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

หลังจากแยกวิเคราะห์ พวกเขาเริ่มมองหาข้อมูลที่จะจัดเก็บและแสดงเป็นภาพ การทิ้งทุกอย่างไว้ในบันทึกนั้นไม่เหมาะสม: ขนาดของดัชนีหนึ่งมีขนาดใหญ่ - 7 GB ELK ใช้เวลานานในการประมวลผลไฟล์ อย่างไรก็ตาม ไม่ใช่ข้อมูลทั้งหมดที่เป็นประโยชน์ มีบางอย่างที่ซ้ำกันและใช้พื้นที่พิเศษ - จำเป็นต้องปรับให้เหมาะสม 

ในตอนแรก เราแค่ดูดัชนีและลบกิจกรรมที่ไม่จำเป็นออก สิ่งนี้กลับกลายเป็นว่าไม่สะดวกและยาวนานกว่าการทำงานกับบันทึกบน FortiWeb เสียอีก ข้อดีเพียงอย่างเดียวของ "ต้นคริสต์มาส" ในขั้นตอนนี้คือ เราสามารถแสดงภาพช่วงเวลาขนาดใหญ่บนหน้าจอเดียวได้ 

เราไม่สิ้นหวัง เรากินกระบองเพชรต่อไปและศึกษา ELK และเชื่อว่าเราจะสามารถดึงข้อมูลที่จำเป็นได้ หลังจากล้างดัชนีแล้ว เราก็เริ่มนึกภาพออกว่าคืออะไร ดังนั้นเราจึงมาถึงแดชบอร์ดขนาดใหญ่ เราแหย่วิดเจ็ต - ЁLKa ตัวจริงที่ดูดีและสวยงาม! 

ELK ช่วยวิศวกรรักษาความปลอดภัยต่อสู้กับการโจมตีเว็บไซต์และนอนหลับอย่างสงบได้อย่างไร

จับภาพช่วงเวลาของการโจมตี. ตอนนี้จำเป็นต้องเข้าใจว่าจุดเริ่มต้นของการโจมตีมีลักษณะอย่างไรบนแผนภูมิ ในการตรวจจับ เราได้ดูการตอบสนองของเซิร์ฟเวอร์ต่อผู้ใช้ (รหัสส่งคืน) เราสนใจการตอบกลับของเซิร์ฟเวอร์ด้วยรหัสดังกล่าว (rc): 

รหัส (อาร์ซี)

ชื่อ

ลักษณะ

0

DROP

คำขอไปยังเซิร์ฟเวอร์ถูกบล็อก

200

Ok

คำขอได้รับการดำเนินการเรียบร้อยแล้ว

400

คำขอไม่ถูกต้อง

คำขอไม่ถูกต้อง

403

หวงห้าม

การอนุญาตถูกปฏิเสธ

500

ผิดพลาดของเซิร์ฟเวอร์ภายใน

ไม่สามารถใช้บริการได้

หากมีคนเริ่มโจมตีไซต์ อัตราส่วนของรหัสจะเปลี่ยนไป: 

  • หากมีคำขอที่ผิดพลาดมากขึ้นด้วยรหัส 400 และคำขอปกติจำนวนเท่าเดิมด้วยรหัส 200 แสดงว่ามีคนพยายามแฮ็กไซต์ 
  • หากในเวลาเดียวกันคำขอที่มีรหัส 0 เพิ่มขึ้นนักการเมืองของ FortiWeb ก็ "เห็น" การโจมตีและใช้บล็อกกับมัน 
  • หากจำนวนข้อความที่มีรหัส 500 เพิ่มขึ้น แสดงว่าไซต์นั้นไม่สามารถใช้งานได้สำหรับที่อยู่ IP เหล่านี้ ซึ่งเป็นการบล็อกชนิดหนึ่ง 

เมื่อถึงเดือนที่สาม เราได้ตั้งค่าแดชบอร์ดเพื่อติดตามกิจกรรมนี้

ELK ช่วยวิศวกรรักษาความปลอดภัยต่อสู้กับการโจมตีเว็บไซต์และนอนหลับอย่างสงบได้อย่างไร

เพื่อไม่ให้ตรวจสอบทุกอย่างด้วยตนเอง เราจึงตั้งค่าการผสานรวมกับ Nagios ซึ่งทำการสำรวจ ELK ในช่วงเวลาหนึ่ง หากบันทึกความสำเร็จของเกณฑ์ด้วยรหัสจะส่งการแจ้งเตือนไปยังเจ้าหน้าที่ปฏิบัติหน้าที่เกี่ยวกับกิจกรรมที่น่าสงสัย 

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

ในการตรวจสอบ เราเฝ้าดูว่ากราฟที่มีสีต่างๆ เปลี่ยนไปอย่างไร การระเบิดของสีแดงบ่งชี้ว่าการโจมตีได้เริ่มขึ้นแล้ว ในขณะที่กราฟสีส้มและสีน้ำเงินแสดงปฏิกิริยาของ FortiWeb:

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

เรายังวาดตัวอย่างกราฟที่ต้องการการแทรกแซงสำหรับตัวเราเอง:

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

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

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

เราจะไปที่ไหน

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

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

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

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

ที่มา: will.com