เซิร์ฟเวอร์ภายใต้การโจมตี DDOS - วิธีการหา IP?


20

เซิร์ฟเวอร์ของฉันอยู่ภายใต้การโจมตี DDOS และฉันต้องการบล็อกไอพีที่กำลังทำอยู่ไฟล์ใดที่ฉันควรค้นหาเพื่อตรวจสอบ IP ของผู้โจมตี


2
เป็นอย่างไรบ้างที่คุณระบุว่าเซิร์ฟเวอร์อยู่ภายใต้การโจมตี ดูเหมือนว่าคุณจะต้องดูตารางเซสชัน TCP (netstat บน Windows) บางประเภทเพื่อทำการตัดสินใจนี้และในการทำเช่นนั้นจะเห็นที่อยู่ IP ของโฮสต์ที่เชื่อมต่อกับเซิร์ฟเวอร์ของคุณซึ่งจะทำให้คำถามของคุณ ดำริ
joeqwerty

คำตอบ:


43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

ดูที่อยู่ IP อันดับต้น ๆ ถ้าสิ่งใดโดดเด่นกว่าสิ่งอื่นใดสิ่งเหล่านั้นก็จะเป็นไฟร์วอลล์

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

สิ่งนี้จะดูที่การเชื่อมต่อที่ใช้งานอยู่ในปัจจุบันเพื่อดูว่ามีการเชื่อมต่อ IP กับพอร์ต 80 หรือไม่คุณอาจต้องเปลี่ยน cut -c 45- เนื่องจากที่อยู่ IP อาจไม่เริ่มต้นที่คอลัมน์ 45 หากมีใครบางคนกำลังทำ UDP เว็บเซิร์ฟเวอร์ของคุณจะรับมันด้วย

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

GET /index.php? HTTP/1.0

หากคุณตรวจสอบบันทึกการเข้าถึงสำหรับเว็บไซต์ของคุณคุณอาจทำสิ่งต่อไปนี้

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

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

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

จะช่วยให้คุณเห็น UserAgents ทั่วไป เป็นไปได้ว่าพวกเขากำลังใช้ UserAgent เดียวในการโจมตีของพวกเขา

เคล็ดลับคือการค้นหาสิ่งที่เหมือนกันกับทราฟฟิกการโจมตีที่ไม่มีอยู่ในทราฟฟิกปกติของคุณจากนั้นกรองผ่าน iptables, mod_rewrite หรืออัปสตรีมด้วยเว็บโฮสต์ของคุณ หากคุณได้รับผลกระทบจาก Slowloris ตอนนี้ Apache 2.2.15 จะมีโมดูล reqtimeout ซึ่งช่วยให้คุณกำหนดการตั้งค่าบางอย่างเพื่อป้องกัน Slowloris ได้ดียิ่งขึ้น


ขอบคุณมากฉันจะตรวจสอบอย่างแน่นอนในสุดสัปดาห์นี้
Webnet

ยอดเยี่ยม มีประโยชน์มากและยอดเยี่ยมมาก .... ให้ทันและพระเจ้าอวยพรคุณ Allinonescript.com ( allinonescript.com ) ความรู้สำหรับนักพัฒนาทั่วโลกได้รับความรู้
Vadivel S

ตราบใดที่คุณตั้งค่า access_log ของคุณอย่างถูกต้อง: tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d '' | sort | uniq -c | sort -nr | มากกว่านี้ควรใช้งานได้ ทำงานให้ฉัน
dustbuster

7

FYI - คุณควรพยายามทำงานกับ ISP ของคุณเพื่อดูว่าพวกเขาสามารถปิดกั้นต้นน้ำของคุณได้หรือไม่


4

เคล็ดลับดี ๆ ที่นี่ ฉันต้องการเพิ่มสิ่งนี้:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

วางสิ่งนี้ไว้ใต้นามแฝง (ตัวอย่างเช่น nn) สิ่งนี้จะทำให้คุณมีมุมมอง "กราฟิก" ของ ips ที่มีการเชื่อมต่อที่กำหนด

หวังว่านี่จะช่วยได้

สำหรับผู้ที่ไม่สามารถทำงานนี้ฉันได้แก้ไขไวยากรณ์เพื่อให้ทำงานภายใต้ Ubuntu:

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'

3

ไฟล์บันทึกที่ชื่นชอบเพื่อตรวจสอบการโจมตีของ DOS คือ / var / log / secure (ภายใต้ Redhat / Centos / Fedora .... ) และ /var/log/auth.log (ภายใต้ ubuntu, debian ... ) คุณจะเห็นความพยายามในการเข้าสู่ระบบที่ล้มเหลวจาก IP ต้นทางของผู้โจมตีซึ่งส่วนใหญ่เป็นการโจมตีด้วยพจนานุกรม


1

เพื่อปกป้องเซิร์ฟเวอร์ของฉันฉันใช้Fail2Banสคริปต์ง่าย ๆ

สแกนไฟล์บันทึกเช่น / var / log / pwdfail หรือ / var / log / apache / error_log และแบน IP ที่ทำให้รหัสผ่านล้มเหลวมากเกินไป มันปรับปรุงกฎไฟร์วอลล์เพื่อปฏิเสธที่อยู่ IP

http://www.fail2ban.org/wiki/index.php/Main_Page


0

Distro ไหน?

ฉันคิดว่าบันทึกอยู่ภายใต้ /var/log/apache2/access.log กับ Ubuntu ... อาจเป็น Debian ก็ได้เช่นกัน

เรียกใช้ updatedb เป็น sudo แล้วค้นหา access.log จากบรรทัดคำสั่ง

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


0

คุณสามารถใช้ tcpdump เพื่อดูว่าที่อยู่ใดคือ $ tcpdump -vv port X หากคุณสงสัยว่าพอร์ตใดพอร์ตหนึ่ง


0

หากคุณอยู่ภายใต้ DOS แบบกระจายมีมากกว่าหนึ่ง IP ที่จะบล็อกและ IP อาจถูกปลอมแปลงคุณควรถาม ISP ของคุณตามที่mfinniพูด นอกจากนี้อาจเป็นมากกว่า DOS ต่อเซิร์ฟเวอร์ของคุณ แต่อุปกรณ์ลวงเพื่อซ่อนการโจมตีที่แท้จริงจากการถูกตรวจพบดังนั้นตรวจสอบว่าบริการที่เปิดเผยทั้งหมดของคุณนั้นทำงานด้วยซอฟต์แวร์ล่าสุด คุณอาจสนใจ mod_dosevasive สำหรับ apache


2
IP นั้นยากที่จะปลอมแปลงสำหรับการโจมตีเว็บ เนื่องจากการเชื่อมต่อเว็บที่ถูกต้องต้องใช้การจับมือซิงค์ / รับคุณจึงต้องโชคดีพอที่จะมีที่อยู่ IP ปลอมแปลงด้วยหมายเลขลำดับที่ถูกต้องสำหรับเพย์โหลดของคุณจากไซต์โจมตีที่ปลอมแปลงเพื่อให้ทำงานได้ ทราฟฟิก UDP / ICMP นั้นไม่มีการเชื่อมต่อและอนุญาตการปลอมแปลงแพ็กเก็ต แต่โฮสต์ส่วนใหญ่จะปิดกั้นแพ็กเก็ตเหล่านั้น
6738237482

0

ก่อนอื่นคุณต้องกำหนดประเภทของ DOS การโจมตีบางครั้งจะหลบ ๆ ซ่อน ๆ แต่มีประสิทธิภาพ (ช้า) ซึ่งบางครั้งก็หนักมากที่สามารถทำให้ ISP ล้มเหลว (ICMP มีน้ำท่วมจากแบนด์วิธที่สูงกว่าแหล่ง ISP ของคุณ)

หลังจากที่คุณกำหนดประเภทของ DOS ให้โทร ISP ของคุณและถามพวกเขาว่าสามารถกรองปริมาณการใช้งานได้หรือไม่

ฉันเห็นน้ำท่วม ICMP หนักมากจนเราต้องขอ ISP อัปสตรีมเพื่อกรอง IP ปลายทางผ่านชุมชน BGP

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.