คุณกำลังประสบกับการปฏิเสธการโจมตีบริการ หากคุณเห็นทราฟฟิกที่มาจากหลายเครือข่าย (IP ที่แตกต่างกันในซับเน็ตต่างกัน) คุณจะได้รับการปฏิเสธการบริการแบบกระจาย (DDoS) ถ้ามันมาจากที่เดียวกันคุณมี DoS แบบธรรมดา มันจะมีประโยชน์ในการตรวจสอบถ้าคุณสามารถ; ใช้ netstat เพื่อตรวจสอบ แม้ว่ามันอาจเป็นเรื่องยากที่จะทำ
การปฏิเสธการให้บริการมักจะแบ่งออกเป็นสองประเภท: ตามปริมาณการใช้และปริมาณโหลด รายการสุดท้าย (พร้อมบริการขัดข้อง) เป็น DoS ที่ใช้ประโยชน์และแตกต่างกันมาก
หากคุณพยายามที่จะระบุประเภทของการโจมตีที่เกิดขึ้นคุณอาจต้องการจับภาพการรับส่งข้อมูลบางอย่าง (โดยใช้ wireshark, tcpdump หรือ libpcap) คุณควรถ้าเป็นไปได้ แต่ควรระวังด้วยว่าคุณอาจได้รับปริมาณการเข้าชมค่อนข้างมาก
ไม่บ่อยเท่าเหล่านี้จะมาจากบอตเน็ต (เครือข่ายของโฮสต์ที่ถูกบุกรุกภายใต้การควบคุมส่วนกลางของผู้โจมตีบางคนซึ่งการเสนอราคาจะทำ) นี่เป็นวิธีที่ดีสำหรับผู้โจมตีที่จะได้รับแบนด์วิธอัพสตรีมจำนวนมากจากโฮสต์ที่แตกต่างกันจำนวนมากบนเครือข่ายต่าง ๆ เพื่อโจมตีคุณในขณะที่ครอบคลุมเส้นทางของพวกเขา วงโคจรต่ำไอออนแคนนอนเป็นตัวอย่างหนึ่งของบ็อตเน็ต (ที่แม้จะเป็นความสมัครใจแทนของมัลแวร์ที่ได้มา); ซุสเป็นแบบอย่างที่มากกว่า
การจราจรตาม
หากคุณอยู่ภายใต้ DoS ที่อิงกับการรับส่งข้อมูลคุณจะพบว่ามีการรับส่งข้อมูลจำนวนมากที่มาถึงเซิร์ฟเวอร์ของคุณซึ่งการเชื่อมต่อกับอินเทอร์เน็ตนั้นอิ่มตัวอย่างสมบูรณ์ มีอัตราการสูญเสียแพ็คเก็ตสูงเมื่อส่งเซิร์ฟเวอร์ของคุณจากที่อื่นและ (ขึ้นอยู่กับวิธีการกำหนดเส้นทางที่ใช้) บางครั้งคุณก็เห็นว่าเวลาแฝงที่สูงมาก (ping สูง) การโจมตีแบบนี้มักจะเป็น DDoS
ในขณะที่การโจมตีนี้ "ดัง" จริง ๆ และชัดเจนว่าเกิดอะไรขึ้นมันเป็นเรื่องยากสำหรับผู้ดูแลระบบเซิร์ฟเวอร์ที่จะบรรเทา (และเป็นไปไม่ได้โดยทั่วไปสำหรับผู้ใช้ที่ใช้พื้นที่การแชร์เพื่อลด) คุณจะต้องการความช่วยเหลือจาก ISP ของคุณ บอกให้พวกเขารู้ว่าคุณอยู่ภายใต้ DDoS และพวกเขาอาจช่วยได้
อย่างไรก็ตาม ISP และผู้ให้บริการขนส่งส่วนใหญ่จะทราบล่วงหน้าว่าเกิดอะไรขึ้นและเผยแพร่เส้นทาง Blackholeสำหรับเซิร์ฟเวอร์ของคุณ สิ่งนี้หมายความว่าพวกเขาเผยแพร่เส้นทางไปยังเซิร์ฟเวอร์ของคุณด้วยค่าใช้จ่ายน้อยที่สุดเท่าที่จะเป็นไปได้ผ่าน0.0.0.0
: พวกเขาทำให้ปริมาณการใช้งานไปยังเซิร์ฟเวอร์ของคุณไม่สามารถกำหนดเส้นทางได้บนอินเทอร์เน็ตอีกต่อไป เส้นทางเหล่านี้มักจะเป็น / 32s และในที่สุดพวกเขาจะถูกลบออก มันไม่ได้ช่วยอะไรคุณเลย วัตถุประสงค์คือเพื่อป้องกันเครือข่ายของ ISP จากน้ำท่วม ในช่วงเวลาที่เซิร์ฟเวอร์ของคุณจะสูญเสียการเข้าถึงอินเทอร์เน็ตอย่างมีประสิทธิภาพ
วิธีเดียวที่ ISP ของคุณ (หรือคุณมี AS ของคุณเอง) จะสามารถช่วยได้หากพวกเขาใช้ shapers การจราจรอัจฉริยะที่สามารถตรวจจับและ จำกัด ปริมาณการใช้ DDoS ที่เป็นไปได้ ไม่ใช่ทุกคนที่มีเทคโนโลยีนี้ อย่างไรก็ตามหากการรับส่งข้อมูลมาจากหนึ่งหรือสองเครือข่ายหรือหนึ่งโฮสต์พวกเขาอาจสามารถปิดกั้นการรับส่งข้อมูลล่วงหน้าได้
กล่าวโดยย่อมีน้อยมากที่คุณสามารถแก้ไขปัญหานี้ได้ ทางออกระยะยาวที่ดีที่สุดคือการโฮสต์บริการของคุณในหลาย ๆ สถานที่บนอินเทอร์เน็ตซึ่งจะต้องมี DDoSed แยกต่างหากและพร้อมกันทำให้ DDoS มีราคาแพงกว่ามาก กลยุทธ์สำหรับสิ่งนี้ขึ้นอยู่กับบริการที่คุณต้องการปกป้อง DNS สามารถป้องกันด้วยเนมเซิร์ฟเวอร์ที่เชื่อถือได้หลายตัว, SMTP พร้อมเรคคอร์ด MX สำรองและตัวแลกเปลี่ยนเมลและ HTTP ที่มี DNS แบบโรบินรอบหรือมัลติแฮงค์ (แต่การย่อยสลายบางอย่างอาจสังเกตได้ในช่วงเวลานั้น
โหลดบาลานเซอร์เป็นวิธีแก้ปัญหาที่ไม่ค่อยมีประสิทธิภาพสำหรับปัญหานี้เพราะบาลานเซอร์โหลดเองนั้นขึ้นอยู่กับปัญหาเดียวกันและสร้างคอขวดเพียงอย่างเดียว IPTables หรือกฎไฟร์วอลล์อื่น ๆจะไม่ช่วยเพราะปัญหาคือว่าไปป์ของคุณอิ่มตัว เมื่อการเชื่อมต่อจะเห็นโดยไฟร์วอลล์ของคุณก็สายเกินไปแล้ว ; แบนด์วิดท์ในไซต์ของคุณถูกใช้ไปแล้ว ไม่สำคัญว่าคุณทำอะไรกับการเชื่อมต่อ การโจมตีจะลดลงหรือสิ้นสุดลงเมื่อปริมาณการรับส่งข้อมูลที่เข้ามากลับสู่ปกติ
หากคุณสามารถทำได้ให้ลองใช้เครือข่ายการกระจายเนื้อหา (CDN) เช่น Akamai, Limelight และ CDN77 หรือใช้บริการขัดถู DDoS เช่น CloudFlare หรือ Prolexic บริการเหล่านี้ใช้มาตรการที่ใช้งานเพื่อลดการโจมตีประเภทนี้และยังมีแบนด์วิดท์ที่มีอยู่มากมายในสถานที่ต่าง ๆ มากมายที่น้ำท่วมพวกเขาโดยทั่วไปไม่เป็นไปได้
หากคุณตัดสินใจที่จะใช้ CloudFlare (หรือ CDN / พร็อกซีอื่น ๆ ) อย่าลืมซ่อน IP ของเซิร์ฟเวอร์ของคุณ หากผู้โจมตีค้นพบ IP เขาสามารถ DDoS เซิร์ฟเวอร์ของคุณอีกครั้งโดยตรงผ่าน CloudFlare หากต้องการซ่อน IP เซิร์ฟเวอร์ของคุณไม่ควรสื่อสารโดยตรงกับเซิร์ฟเวอร์ / ผู้ใช้รายอื่นเว้นแต่ว่าปลอดภัย ตัวอย่างเช่นเซิร์ฟเวอร์ของคุณไม่ควรส่งอีเมลถึงผู้ใช้โดยตรง สิ่งนี้ใช้ไม่ได้หากคุณโฮสต์เนื้อหาทั้งหมดของคุณใน CDN และไม่มีเซิร์ฟเวอร์ของคุณเอง
นอกจากนี้ VPS และผู้ให้บริการโฮสติ้งบางรายยังสามารถลดการโจมตีเหล่านี้ได้ดีกว่าผู้อื่น โดยทั่วไปยิ่งมีขนาดใหญ่เท่าใดก็ยิ่งดีเท่านั้น ผู้ให้บริการที่ได้รับการตอบรับเป็นอย่างดีและมีแบนด์วิดท์จำนวนมากจะมีความยืดหยุ่นมากขึ้นตามธรรมชาติและผู้ให้บริการรายหนึ่งที่มีทีมงานปฏิบัติการเครือข่ายที่มีความกระตือรือร้นและพร้อมที่จะตอบสนองได้เร็วขึ้น
โหลดตาม
เมื่อคุณประสบกับ DDoS ที่ขึ้นอยู่กับการโหลดคุณสังเกตเห็นว่าค่าเฉลี่ยการโหลดสูงผิดปกติ (หรือการใช้งาน CPU, RAM หรือดิสก์ขึ้นอยู่กับแพลตฟอร์มและข้อมูลเฉพาะของคุณ) แม้ว่าเซิร์ฟเวอร์จะไม่ทำสิ่งใดที่มีประโยชน์ แต่ก็ยุ่งมาก บ่อยครั้งที่จะมีรายการจำนวนมากในบันทึกที่แสดงถึงสภาวะผิดปกติ บ่อยกว่านี้มาจากสถานที่ต่าง ๆ มากมายและเป็น DDoS แต่นั่นไม่ใช่กรณี ไม่จำเป็นต้องมีโฮสต์ที่แตกต่างกันมากมาย
การโจมตีนี้ขึ้นอยู่กับการให้บริการของคุณทำสิ่งที่มีราคาแพงมาก นี่อาจเป็นสิ่งที่ต้องการเปิดการเชื่อมต่อ TCP จำนวนมากและบังคับให้คุณรักษาสถานะไว้สำหรับพวกเขาหรืออัปโหลดไฟล์ขนาดใหญ่หรือไฟล์จำนวนมากไปยังบริการของคุณหรืออาจทำการค้นหาที่มีราคาแพงมากหรือทำสิ่งที่มีราคาแพง การจราจรภายในขอบเขตของสิ่งที่คุณวางแผนและสามารถใช้ใน แต่ประเภทของการร้องขอการทำมีราคาแพงเกินไปที่จะจัดการจำนวนมากดังนั้นของ
ประการแรกการโจมตีประเภทนี้เป็นไปได้มักจะบ่งบอกถึงปัญหาการกำหนดค่าหรือข้อบกพร่องในการบริการของคุณ ตัวอย่างเช่นคุณอาจเปิดใช้งานการบันทึก verbose มากเกินไปและอาจจัดเก็บบันทึกในบางสิ่งที่เขียนได้ช้ามาก หากมีคนตระหนักถึงสิ่งนี้และทำสิ่งต่างๆมากมายซึ่งเป็นสาเหตุให้คุณเขียนบันทึกจำนวนมหาศาลบนดิสก์เซิร์ฟเวอร์ของคุณจะช้าในการรวบรวมข้อมูล ซอฟต์แวร์ของคุณอาจกำลังทำบางสิ่งบางอย่างที่ไม่มีประสิทธิภาพอย่างยิ่งสำหรับกรณีที่ป้อนข้อมูลบางอย่าง สาเหตุมีมากมายตามที่มีโปรแกรม แต่สองตัวอย่างจะเป็นสถานการณ์ที่ทำให้บริการของคุณไม่ปิดเซสชันที่เสร็จสิ้นเป็นอย่างอื่นและสถานการณ์ที่ทำให้เกิดการวางกระบวนการลูกและทิ้งไว้ หากคุณจบลงด้วยการเชื่อมต่อแบบเปิดที่มีสถานะเป็นหมื่นเพื่อติดตามหรือกระบวนการลูกที่มีอยู่เป็นหมื่นคุณจะพบปัญหา
สิ่งแรกที่คุณอาจจะสามารถที่จะทำคือการใช้ไฟร์วอลล์จะลดลงการจราจร นี่เป็นไปไม่ได้เสมอไป แต่ถ้ามีคุณลักษณะที่คุณสามารถค้นหาได้ในทราฟฟิกขาเข้า (tcpdump สามารถทำได้ดีสำหรับสิ่งนี้หากทราฟฟิกอ่อน) คุณสามารถวางมันไว้ที่ไฟร์วอลล์และมันจะไม่ทำให้เกิดปัญหาอีกต่อไป อีกสิ่งที่ต้องทำคือแก้ไขข้อบกพร่องในบริการของคุณ (ติดต่อผู้ขายและเตรียมพร้อมสำหรับการสนับสนุนที่ยาวนาน)
แต่ถ้าหากมันเป็นปัญหาการกำหนดค่าเริ่มต้นมี ปิดการบันทึกในระบบการผลิตให้อยู่ในระดับที่เหมาะสม (ขึ้นอยู่กับโปรแกรมซึ่งโดยปกติจะเป็นค่าเริ่มต้นและมักจะเกี่ยวข้องกับการตรวจสอบให้แน่ใจว่า "debug" และ "verbose" ระดับการบันทึกถูกปิดหากทุกอย่างที่ผู้ใช้ทำถูกต้อง รายละเอียดที่ดีการบันทึกของคุณนั้นละเอียดเกินไป) นอกจากนี้ตรวจสอบกระบวนการเด็กและขอข้อ จำกัดอาจเค้นร้องขอเข้ามาเชื่อมต่อต่อ IP และจำนวนของกระบวนการที่เด็กที่ได้รับอนุญาตตามความเหมาะสม
มันไปโดยไม่บอกว่าการกำหนดค่าที่ดีขึ้นและการจัดสรรเซิร์ฟเวอร์ของคุณให้ดีขึ้นคือการโจมตีประเภทนี้จะยากขึ้น หลีกเลี่ยงการตระหนี่กับ RAM และ CPU โดยเฉพาะ ตรวจสอบให้แน่ใจว่าการเชื่อมต่อของคุณกับสิ่งต่าง ๆ เช่นฐานข้อมูลแบ็กเอนด์และที่เก็บดิสก์นั้นรวดเร็วและเชื่อถือได้
ใช้ประโยชน์ตาม
หากบริการของคุณเกิดปัญหาอย่างรวดเร็วอย่างรวดเร็วหลังจากที่ถูกนำขึ้นมาโดยเฉพาะอย่างยิ่งถ้าคุณสามารถกำหนดรูปแบบของคำขอที่นำหน้าข้อผิดพลาดและคำขอนั้นผิดปกติหรือไม่ตรงกับรูปแบบการใช้ที่คาดไว้คุณอาจประสบกับ DoS สิ่งนี้สามารถมาจากโฮสต์เพียงไม่กี่โฮสต์ (มีการเชื่อมต่ออินเทอร์เน็ตทุกประเภท) หรือโฮสต์จำนวนมาก
สิ่งนี้คล้ายกับ DoS ที่อ้างอิงกับโหลดในหลายประการและมีสาเหตุและการบรรเทาแบบเดียวกัน ข้อแตกต่างก็คือในกรณีนี้ข้อผิดพลาดไม่ทำให้เซิร์ฟเวอร์ของคุณสิ้นเปลือง แต่จะตาย ผู้โจมตีมักโจมตีช่องโหว่ความผิดพลาดจากระยะไกลเช่นอินพุตที่อ่านไม่ออกซึ่งทำให้เกิดช่องโหว่หรือสิ่งใด ๆ ในบริการของคุณ
จัดการสิ่งนี้ในลักษณะเดียวกันกับการโจมตีจากระยะไกลที่ไม่ได้รับอนุญาต ไฟร์วอลล์กับโฮสต์ที่มาและประเภทของการรับส่งหากสามารถตรึงไว้ได้ ใช้การตรวจสอบพร็อกซีย้อนกลับถ้ามี รวบรวมหลักฐานทางนิติวิทยาศาสตร์ (ลองจับการจราจรบางส่วน) ยื่นตั๋วบั๊กกับผู้ขายและพิจารณายื่นเรื่องร้องเรียนการละเมิด (หรือการร้องเรียนทางกฎหมาย) กับต้นกำเนิดด้วย
การโจมตีเหล่านี้ค่อนข้างถูกถ้าหากมีการหาช่องโหว่และสามารถโจมตีได้ แต่ก็ค่อนข้างง่ายที่จะติดตามและหยุด อย่างไรก็ตามเทคนิคที่มีประโยชน์ต่อ DDoS ที่อิงกับการจราจรนั้นโดยทั่วไปแล้วจะไม่มีประโยชน์อะไรกับ DoS-based exploit