หลักการโจมตี CC
ส่วนใหญ่จะใช้เพื่อโจมตีเพจ ทุกคนมีประสบการณ์นี้ กล่าวคือ เมื่อเข้าชมฟอรั่มหากฟอรั่มมีขนาดค่อนข้างใหญ่และมีผู้เยี่ยมชมมากขึ้น ความเร็วในการเปิดเพจก็จะช้าลงใช่ไหม? โดยทั่วไปแล้ว ยิ่งมีผู้เยี่ยมชมฟอรั่มมากเท่าไร ฐานข้อมูลก็จะยิ่งมากขึ้นเท่านั้น ความถี่ในการเข้าชมก็จะยิ่งสูงขึ้น และทรัพยากรระบบก็มีความสำคัญมาก ตอนนี้ ฉันรู้แล้วว่าทำไมผู้ให้บริการพื้นที่หลายรายถึงบอกว่าคุณควรทำ ไม่อัปโหลดฟอรั่ม รอห้องสนทนากันก่อน
เพจแบบคงที่ไม่ต้องการทรัพยากรเซิร์ฟเวอร์จำนวนมาก มันสามารถอ่านได้โดยตรงจากหน่วยความจำและส่งถึงคุณ เพื่อตัดสินในฐานข้อมูล ฉันมีสิทธิ์ในการอ่านโพสต์หรือไม่ หากเป็นเช่นนั้น ให้อ่านเนื้อหาในโพสต์แล้วแสดง - ฐานข้อมูลมีการเข้าถึงอย่างน้อย 2 ครั้ง หากฐานข้อมูลมีขนาด 200MB มีแนวโน้มที่จะจัดเก็บข้อมูล 200MB ต้องใช้ทรัพยากร CPU และเวลาในการค้นหาพื้นที่เท่าใด
ตัวอย่างเช่นการอนุญาตของผู้ใช้จะตรวจสอบตารางผู้ใช้และโพสต์เนื้อหาเท่านั้น เพียงตรวจสอบตารางโพสต์แล้วคุณ
สามารถหยุดการค้นหาได้ทันทีเมื่อคุณพบมัน การค้นหาจะตัดสินข้อมูลทั้งหมดเพียงครั้งเดียวซึ่งใช้เวลานานมาก
ใช้ประโยชน์จากคุณสมบัตินี้อย่างเต็มที่เพื่อจำลองผู้ใช้หลายราย (มีกี่เธรด มีผู้ใช้กี่คน) ที่กำลังเข้าถึงอยู่ตลอดเวลา (เข้าถึงเพจที่ต้องใช้การดำเนินการข้อมูลจำนวนมาก นั่นคือ เวลา CPU จำนวนมาก)
ปรากฏการณ์การโจมตี:
การรับส่งข้อมูลของ เซิร์ฟเวอร์สามารถเข้าถึง M มากกว่าสิบรายการได้ในทันที และไม่สามารถเปิดเว็บไซต์ได้ รีสตาร์ท iis แล้วคุณจะพบว่าการรับส่งข้อมูลจะลดลงทันที เมื่อดูบันทึกของ IIS คุณจะพบว่า IP ต่างๆ จำนวนมากเข้าถึงไฟล์เดียวกันซ้ำๆ ตรวจสอบ C:WINDOWSsystem32LogFilesHTTPERR และคุณจะพบบันทึกข้อผิดพลาด IIS มากมาย ดังนี้:
2007-08-22 06:05:28 61.140.127.206 61905 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit pool2 1
22-08-2550 06:05:28 221.8.137.99 3916 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
503 30 ConnLimit pool21
22-08-2550 06:05:28 220.187.143.183 4059 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit พูล21
22-08-2550 06:05:28 218.18.42.231 1791 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit พูล21
22-08-2550 06:05:28 125.109.129.32 3030 61.139.129.56 80 HTTP/1.1 GET /list.asp?
ProdId=0961 503 30 ConnLimit พูล21
22-08-2550 06:05:28 58.216.2.232 1224 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
503 30 ConnLimit pool21
...
จะเห็นได้ว่า IP ที่แตกต่างกันจำนวนมากกำลังเข้าถึงไฟล์ list.asp ปรากฏการณ์ข้างต้นเป็นลักษณะของการโจมตีแบบ CC ขึ้นอยู่กับจำนวนเครื่องจักรที่ใช้โจมตี CC การโจมตีขนาดเล็กอาจทำให้เว็บไซต์ช้าหรือไม่เสถียร และการโจมตีขนาดใหญ่อาจทำให้ไม่สามารถเปิดเว็บไซต์ได้ตลอดเวลา
เนื่องจากการโจมตีประเภทนี้จำลองผู้ใช้ปกติให้ขอหน้าเว็บอย่างต่อเนื่อง ดังนั้นจึงเป็นเรื่องยากที่จะป้องกันไฟร์วอลล์ธรรมดา ด้านล่างนี้จากประสบการณ์การทำงานจริง เราจะพูดถึงวิธีแก้ปัญหาการโจมตีนี้โดยไม่ต้องใช้ไฟร์วอลล์
เนื่องจากการโจมตี CC ใช้เครื่องเนื้อหรือพร็อกซีในการเข้าถึงเซิร์ฟเวอร์ของเรา การโจมตีเหล่านี้จึงแตกต่างจากการโจมตีแบบซินฟลัด synfoold เป็น IP ปลอมที่เปลี่ยนแปลงตลอดเวลา ในขณะที่ IP ที่ใช้ในการโจมตี CC นั้นเป็น IP จริงทั้งหมดและโดยพื้นฐานแล้วไม่มีการเปลี่ยนแปลง ตราบใดที่เราใช้นโยบายความปลอดภัยเพื่อบล็อก IP เหล่านี้ทั้งหมด ก็ไม่เป็นไร
ฉันได้เห็นวิธีการที่ชาวเน็ตบางคนแนะนำแล้ว แต่มันเป็นเพียงการบล็อกแบบแมนนวลทีละรายการ และ IP การโจมตีมักจะเป็น IP ที่แตกต่างกันหลายพันรายการ การบล็อก IP ด้วยตนเองนั้นยุ่งยากเกินไป ต่อไปเราจะใช้โปรแกรมบล็อก IP เหล่านี้โดยอัตโนมัติ!
โปรแกรมจะอ่านบันทึก IIS ของเว็บไซต์นี้เป็นหลัก วิเคราะห์ที่อยู่ IP และบล็อกโดยอัตโนมัติโดยใช้นโยบายความปลอดภัย รหัส VBS จะเป็นดังนี้:
'โค้ดเริ่มต้น
Set fileobj=CreateObject("Scripting.FileSystemObject")
logfilepath="E:w3logW3SVC237ex070512old.log" 'ให้ความสำคัญกับการระบุเส้นทางบันทึกของเว็บไซต์ที่ถูกโจมตี
'หากเป็นโฮสต์เสมือน หากต้องการทราบว่าเว็บไซต์ใดถูกโจมตี คุณสามารถตรวจสอบ: C:WINDOWSsystem32LogFilesHTTPERR
ซึ่งง่ายต่อการวิเคราะห์ตามบันทึกข้อผิดพลาด
writelog "ชื่อนโยบายการเพิ่มคงที่ netsh ipsec = XBLUE"
writelog "netsh ipsec เพิ่มรายการตัวกรองแบบคงที่ชื่อ = Denyip"
overip = ""
f_name=logfilepath
ระบุไฟล์บันทึก
': แยก IP ในไฟล์บันทึกเป็นรูปแบบการกรองที่ ipsec ต้องการ และนำเข้าไปยัง ipsec เพื่อกรอง เหมาะสำหรับสถานการณ์ที่เว็บไซต์ถูกโจมตีด้วย CC จำนวนมาก
' โดย China Webmaster Data Center http://www.ixzz.com ผู้ให้บริการโฮสต์เสมือนที่ใหญ่ที่สุดของจีน พื้นที่อเนกประสงค์ 12G ราคา 350 หยวน!
'2007-5-12
'โปรแกรมนี้เป็นต้นฉบับของไซต์นี้ หากคุณต้องการอ้างอิง โปรดเก็บ URL ของเราไว้'
set fileobj88=CreateObject("Scripting.FileSystemObject")
ตั้งค่า MYFILE=fileobj88.OpenTextFile(f_name,1,false)
contentover=MYFILE.ReadAll()
contentip=lcase(เนื้อหา)
MYFILE.ปิด
ตั้งค่าไฟล์obj88=ไม่มีอะไรเลย
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
myline=split(เนื้อหา,chr(13))
สำหรับ i=0 ถึง ubound(myline)-1
myline2=split(myline(i)," ")
newip=myline2(6)
'ระบุสตริงการระบุแยกต่างหาก!
ถ้า instr(overip,newip)=0 ให้ 'ลบ IP ที่ซ้ำกัน'
overip=overip&newip
dsafasf=split(newip,".")
ถ้า ubound(dsafasf)=3 แล้ว
writelog "netsh ipsec เพิ่มตัวกรองแบบคงที่ filterlist=denyip srcaddr="&newip&" dstaddr=Me
dstport=80 protocol=TCP"
สิ้นสุดถ้า
อื่น
wscript.echo newip &" ออกแล้ว!"
สิ้นสุดถ้า
ต่อไป
writelog "netsh ipsec เพิ่มตัวกรองการกระทำแบบคงที่ชื่อ = การกระทำที่ปฏิเสธ = บล็อก"
writelog "ชื่อกฎการเพิ่มคงที่ netsh ipsec = kill3389 นโยบาย = XBLUE filterlist = Denyip
filteraction = Denyact"
writelog "ชื่อนโยบายชุดคงที่ netsh ipsec = XBLUE มอบหมาย = y"
Sub writelog(errmes) 'ส่งออกไฟล์นโยบาย IPsec ไปยังไฟล์ bat'
ipfilename="denyerrorip.bat"
ตั้งค่า logfile=fileobj.opentextfile(ipfilename,8,true)
logfile.writeline ผิดพลาด
logfile.ปิด
ตั้งค่า logfile=nothing
End Sub
'ที่ท้ายโค้ด
ให้บันทึกโค้ดด้านบนเป็นไฟล์ .vbs และกำหนดเส้นทางของบันทึก เพียงดับเบิลคลิกเพื่อรัน หลังจากรัน ไฟล์ denyerrorip.bat จะถูกสร้างขึ้น นี่คือไฟล์นโยบายที่ ipsec ต้องการ
หลังจากรันแล้ว ปัญหาการโจมตี CC สามารถแก้ไขได้