Tôi bị tấn công hay chỉ là ngu ngốc?


11

Tôi chạy một máy chủ bằng cách sử dụng Debian Squeeze với một số thùng chứa OpenVZ. Các container chạy chủ yếu là Squeeze, một số Lenny và một số đã được cập nhật lên Wheezy. Các máy chủ không làm điều đó vượt quá iptables và DHCP. Các máy chủ tệp, proxy, máy chủ thư, kerberos, LDAP, ... đều được đưa vào các thùng chứa. Hệ thống chạy ổn định trong nhiều năm và không có thay đổi lớn ngoại trừ một số quy tắc tường lửa trong hơn một năm.

2 ngày trước đột nhiên hệ thống bị sập. Tôi đã có rất nhiều vấn đề đưa nó lên một lần nữa. Lúc đầu, nó sẽ không cho phép tôi đăng nhập qua ssh. đăng nhập root đã bị từ chối bởi 'Bạn không tồn tại. Biến đi!' Đăng nhập địa phương là tốt. Một thời gian sau ssh làm việc lại. Do trùng hợp, tôi đã không sử dụng lại dòng từ lịch sử bash, nhưng đã gõ một lệnh mới, được kiểm tra ba lần giống hệt với dòng, trước đây không hoạt động nhưng hoạt động trước khi sự cố.

Sau đó, hệ thống đã chạy, nhưng lưu lượng mạng trên hầu hết các giao thức đã bị chặn sau SYN ACK. DNS, Telnet và SSH đều ổn, nhưng phần còn lại là một mớ hỗn độn. Sau vài giờ câu cá trong bóng tối và tải lại tường lửa nhiều lần, mọi thứ đột nhiên trở lại tốt đẹp. Tôi không thể tìm thấy bất cứ điều gì đáng ngờ trong nhật ký - nhưng tôi không phải là chuyên gia pháp y.

Hôm nay, nscd của máy chủ tệp đã hết ổ cắm để liên hệ với LDAP do hạn ngạch container. Một điều chưa từng xảy ra trước đây. Tôi cũng đã thấy rất nhiều (& gt; 30) ổ cắm được yêu cầu bởi smbd.

/ var / log / message trông khá giống với nhật ký hệ thống . /var/log/kern.log có thông tin bổ sung này về lý do sự cố:

/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.

Sự cố 'sendmail' cuối cùng là sau khi khởi động lại máy. Kể từ đó không có sự kiện như vậy xảy ra. 'imapd' và 'postgres' chắc chắn chạy trong các thùng chứa khác nhau.

Chà, tôi không thấy bất kỳ khẩu súng hút thuốc nào, nhưng có lẽ tôi chỉ bị mù. Thiết lập hệ thống từ các bản sao lưu tốt đã biết / được cho là sẽ khiến tôi quá khó để thử nó mà không có lý do chính đáng.

Tôi sẽ đánh giá cao bất kỳ lời khuyên nào để kiểm tra tiếp theo.

Cảm ơn bạn đã giúp đỡ.

Cập nhật : Đặt nhiều nỗ lực hơn trong việc tìm kiếm một số con trỏ trước của sự cố tôi đã tìm thấy phần sau trong 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)

Tôi biết điều này được coi là không văn bản, nhưng nó dường như là một sự kiện hiếm. Cắt gói chỉ tồn tại vào ngày xảy ra sự cố thứ hai. Không nơi nào khác trong tất cả các tệp nhật ký có sẵn.

Câu trả lời:


2

Điều này trông giống như DoS, rất có thể có nguồn gốc từ nework hoặc từ bên trong một trong các container bị xâm nhập.

Tôi sẽ xem xét vmstat, chạy liên tục cứ sau 5 giây: vmstat 5 và ghi chú lại nơi sử dụng tài nguyên. Bạn cũng có thể sử dụng màn hình và chạy vmstat 60 (mỗi phút) trong một cửa sổ riêng - bằng cách này bạn có thể nhận thấy các đột biến khi chúng xảy ra trong khoảng thời gian dài hơn.

Trong tình huống này CPU hệ thống cao / tăng tốc (sy), tốc độ chuyển đổi ngữ cảnh cao (cs) và IO cao (nó hiển thị cả mạng và đĩa) sẽ biểu thị 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

Đồng thời theo dõi lưu lượng mạng trên máy chủ, tôi khuyên bạn nên ntop, tức là:

$ nload -t 10000 -u H eth0

0

Có vẻ như lỗi I / O của Đĩa. Chạy fsck và kiểm tra lỗi.


Tôi sẽ cố gắng sắp xếp thời gian chết cho điều đó. Tuy nhiên, không có nhật ký liên quan đến lỗi đĩa I / O ở bất cứ đâu. Hay bạn đã nhìn thấy bất kỳ?
Lars Hanke

0

Có thể bạn không có bất kỳ lỗi hệ thống tệp nào, nhưng tôi chắc chắn bạn thấy các cảnh báo đó trong nhật ký của mình, vì bạn có nhiều quy trình ở trạng thái D (chờ I / O) và hạt nhân thông báo cho bạn về sự chờ đợi lâu.


Tôi đoán rằng đây là trường hợp. Nhưng tại sao? Trong điều kiện bình thường không có quá trình ở trạng thái D. Nếu thực sự mạng bị sập, nó có thể giải thích điều đó. Nhưng tại sao nó chỉ đi xuống cho một số dịch vụ? Tại sao điều kiện đó tồn tại khởi động lại? Và tại sao nó lại xuất hiện?
Lars Hanke

0

Lỗi chỉ ra rằng các quy trình của bạn đang chờ quá lâu (120 giây) để truy cập đĩa; điều này xảy ra trên các máy chủ rất đông, nơi các đĩa quá bận để đáp ứng các quy trình.

Bạn có thể đảm bảo bằng cách kiểm tra "Chờ" trong vmstat.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.