ฉันถูกโจมตีหรือแค่โง่?


11

ฉันเรียกใช้เซิร์ฟเวอร์โดยใช้ Debian Squeeze พร้อมด้วย OpenVZ container หลาย ๆ ตัว ภาชนะส่วนใหญ่ใช้ Squeeze บาง Lenny และบางส่วนได้รับการปรับปรุงเป็น Wheezy โฮสต์ไม่ได้ทำอะไรมากไปกว่า iptables และ DHCP ไฟล์เซิร์ฟเวอร์พร็อกซีเซิร์ฟเวอร์เมล kerberos, LDAP, ... ล้วน แต่ใส่ลงในคอนเทนเนอร์ ระบบทำงานอย่างเสถียรเป็นเวลาหลายปีและไม่มีการเปลี่ยนแปลงที่สำคัญยกเว้นกฎไฟร์วอลล์บางอย่างมานานกว่าหนึ่งปี

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

จากนั้นระบบจะรัน แต่ทราฟฟิกเครือข่ายบนโปรโตคอลส่วนใหญ่จะถูกบล็อคหลังจากซิงค์ ACK DNS, Telnet และ SSH นั้นใช้ได้ แต่ส่วนที่เหลือเป็นระเบียบ หลังจากสองสามชั่วโมงตกปลาในที่มืดและโหลดไฟร์วอลล์ซ้ำหลายครั้งทุกอย่างก็ดีขึ้นอีกครั้ง ฉันไม่พบสิ่งที่น่าสงสัยในบันทึก - แต่ฉันไม่ใช่ผู้เชี่ยวชาญด้านนิติเวช

ทุกวันนี้ nscd ของไฟล์เซิร์ฟเวอร์ออกจากซ็อกเก็ตเพื่อติดต่อ LDAP เนื่องจากโควต้าคอนเทนเนอร์ สิ่งที่ไม่เคยเกิดขึ้นมาก่อน ฉันเห็นซ็อคเก็ตที่อ้างสิทธิ์โดย smbd จำนวนมาก (> 30)

/ var / log / ข้อความมองมากเช่นเดียวกับsyslog /var/log/kern.log มีข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุความผิดพลาด:

/var/log/kern.log:2950:Sep 19 10:46:57 asgard kernel: [6529441.320086] INFO: task sendmail:32181 blocked for more than 120 seconds.
/var/log/kern.log:2982:Sep 19 10:48:57 asgard kernel: [6529561.324525] INFO: task kdmflush:1932 blocked for more than 120 seconds.
/var/log/kern.log:3005:Sep 19 10:48:57 asgard kernel: [6529561.324694] INFO: task xfssyncd:10162 blocked for more than 120 seconds.
/var/log/kern.log:3027:Sep 19 10:48:57 asgard kernel: [6529561.324934] INFO: task postgres:16827 blocked for more than 120 seconds.
/var/log/kern.log:3060:Sep 19 10:49:51 asgard kernel: [6529561.325129] INFO: task imapd:31749 blocked for more than 120 seconds.
/var/log/kern.log:3084:Sep 19 10:49:51 asgard kernel: [6529561.325248] INFO: task cleanup:32194 blocked for more than 120 seconds.
/var/log/kern.log:3106:Sep 19 10:50:57 asgard kernel: [6529681.324028] INFO: task flush-253:3:3216 blocked for more than 120 seconds.
/var/log/kern.log:3142:Sep 19 10:50:57 asgard kernel: [6529681.324224] INFO: task kjournald:6859 blocked for more than 120 seconds.
/var/log/kern.log:3166:Sep 19 10:50:57 asgard kernel: [6529681.324366] INFO: task syslogd:11720 blocked for more than 120 seconds.
/var/log/kern.log:3198:Sep 19 10:50:57 asgard kernel: [6529681.324574] INFO: task postgres:16827 blocked for more than 120 seconds.
/var/log/kern.log:7152:Sep 19 19:29:41 asgard kernel: [ 1440.617090] INFO: task sendmail:11892 blocked for more than 120 seconds.

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

ฉันไม่เห็นปืนสูบบุหรี่ แต่ฉันอาจตาบอด การตั้งค่าระบบจากการสำรองข้อมูลที่ดี / เป็นที่รู้จักหรือสันนิษฐานว่าจะทำให้ฉันยากเกินกว่าจะลองโดยไม่มีเหตุผลที่ดี

ฉันขอขอบคุณคำแนะนำว่าควรตรวจสอบอะไรต่อไป

ขอบคุณสำหรับความช่วยเหลือของคุณ.

ปรับปรุง : ใช้ความพยายามมากขึ้นในการค้นหาเคอร์เซอร์ล่วงหน้าของความผิดพลาดฉันพบสิ่งต่อไปนี้ใน syslog:

Sep 19 10:09:56 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)
Sep 19 10:09:56 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)
Sep 19 10:09:56 asgard ntop[7965]:   **WARNING** packet truncated (10490->8232)
Sep 19 10:09:56 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)
Sep 19 10:09:56 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)
Sep 19 10:09:56 asgard ntop[7965]:   **WARNING** packet truncated (17442->8232)
Sep 19 10:11:02 asgard ntop[7965]:   **WARNING** packet truncated (11650->8232)
Sep 19 10:11:02 asgard ntop[7965]:   **WARNING** packet truncated (10202->8232)
Sep 19 10:11:29 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)
Sep 19 10:13:27 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)
Sep 19 10:20:33 asgard ntop[7965]:   **WARNING** packet truncated (8754->8232)

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

คำตอบ:


2

ดูเหมือนว่า DoS ส่วนใหญ่มีต้นกำเนิดมาจาก nework หรือจากภายในคอนเทนเนอร์ที่ถูกบุกรุก

ฉันจะดู vmstat เรียกใช้อย่างต่อเนื่องทุก ๆ 5 วินาที: vmstat 5 และจดบันทึกที่ใช้ทรัพยากร นอกจากนี้คุณยังสามารถใช้หน้าจอและเรียกใช้ vmstat 60 (ทุกนาที) ในหน้าต่างแยก - วิธีนี้คุณสามารถสังเกตเห็นหนามเมื่อเกิดขึ้นในช่วงเวลานาน

ในสถานการณ์นี้ CPU ระบบสูง / เร็ว (sy), อัตราการสลับบริบทสูง (cs) และ IO สูง (จะแสดงทั้งเครือข่ายและดิสก์) จะระบุ DoS:

$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0   9584   6820 132432  23256    1    1   136    12    1    1 83  1 15  0  0
 0  0   9584   6696 132432  23256    0    0     0     0   20   32  0  0 99  0  1

ในขณะเดียวกันตรวจสอบปริมาณการใช้เครือข่ายบนโฮสต์ฉันแนะนำ ntop เช่น:

$ nload -t 10000 -u H eth0

0

ดูเหมือนว่าข้อผิดพลาดของดิสก์ I / O เรียกใช้ fsck และตรวจสอบข้อผิดพลาด


ฉันจะพยายามกำหนดเวลาหยุดทำงานสำหรับสิ่งนั้น อย่างไรก็ตามไม่มีดิสก์ I / O ที่ล้มเหลวที่เกี่ยวข้องกับบันทึกใด ๆ หรือคุณเห็นอะไร
Lars Hanke

0

บางทีคุณอาจไม่มีข้อผิดพลาดของระบบไฟล์ แต่ฉันแน่ใจว่าคุณเห็นคำเตือนในบันทึกของคุณเนื่องจากคุณมีกระบวนการหลายอย่างในสถานะ D (กำลังรอ I / O) และเคอร์เนลแจ้งให้คุณทราบถึงการรอคอยที่ยาวนาน


ฉันเดาว่านี่เป็นกรณี แต่ทำไม ภายใต้สภาวะปกติไม่มีกระบวนการในสถานะ D หากเครือข่ายจริงลดลงอาจอธิบายได้ว่า แต่ทำไมมันลงไปสำหรับบริการบางอย่างเท่านั้น? เหตุใดเงื่อนไขดังกล่าวจึงสามารถรีบูตได้ แล้วทำไมมันถึงเกิดขึ้นอีกครั้ง?
Lars Hanke

0

ข้อผิดพลาดบ่งชี้ว่ากระบวนการของคุณกำลังรอนานเกินไป (120sec) ในการเข้าถึงดิสก์ สิ่งนี้เกิดขึ้นในเซิร์ฟเวอร์ที่มีผู้คนหนาแน่นซึ่งดิสก์นั้นไม่ว่างที่จะตอบสนองต่อกระบวนการ

คุณสามารถตรวจสอบได้โดยการตรวจสอบ "กำลังรอ" ภายใต้ vmstat

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