Làm cách nào để kiểm tra xem máy chủ Linux có sạch từ rootkit / backreen / botnet không, v.v.?


9

Trong trường hợp máy chủ Linux tiếp xúc với internet với chính sách bảo mật cực thấp (r / w thư mục Samba ẩn danh, máy chủ cơ sở dữ liệu Firebird với mật khẩu quản trị mặc định, không có tường lửa, v.v.) trong một tuần, làm cách nào để đảm bảo hệ thống không bị xâm phạm mà không có định dạng đầy đủ và cài đặt lại, chỉ truy cập từ xa thông qua SSH?

Câu trả lời:


7

Thông thường tôi đề nghị kiểm tra cục bộ bằng một công cụ như chkrootkit nhưng nếu cách duy nhất để chạy kiểm tra là thực hiện từ xa, thì tôi khuyên bạn nên thử dùng Rootkit Hunter .

Rookit Hunter kiểm tra rootkit và các hoạt động khác như vậy bằng cách chạy các thử nghiệm như sau (xem Thông tin dự án để biết thêm chi tiết):

  • So sánh băm MD5
  • Tìm kiếm các tập tin mặc định được sử dụng bởi rootkit
  • Quyền truy cập tệp sai cho nhị phân
  • Tìm kiếm các chuỗi nghi ngờ trong các mô-đun LKM và KLD
  • Tìm tập tin ẩn

Tôi muốn nói thêm rằng như những người khác đã nói, cách chắc chắn duy nhất để đảm bảo không có sự giả mạo nào với dịch vụ của bạn là xây dựng lại nó. Những công cụ này hoạt động tốt, nhưng chúng không đảm bảo 100% thành công.



2

Tôi biết câu trả lời này không phải là những gì bạn muốn nghe nhưng ở đây chúng tôi đi. Có một số công cụ có thể kiểm tra hệ thống cách tốt nhất để đảm bảo hệ thống sạch sẽ là quét sạch máy chủ và xây dựng lại. Tôi sẽ làm như sau:

  • Hủy bỏ máy tính từ internet
  • Sao lưu dữ liệu và cấu hình thông tin để xóa thiết bị
  • Định dạng lưu trữ
  • Cài đặt lại Base / Standard Setup / Cập nhật
  • Cấu hình lại máy chủ bằng cách sử dụng dữ liệu cũ làm tài liệu tham khảo
  • Phục hồi dữ liệu người dùng

Đây là một số tài nguyên tôi sẽ bắt đầu đọc nếu bạn chưa có.

[văn bản liên kết] [1] văn bản liên kết văn bản liên kết văn bản liên kết văn bản

[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevent-removal_901 "Người mới bắt đầu Linux Rootkits"


2

Cũng không phải là câu trả lời bạn muốn nhưng nếu có khả năng một hệ thống đã được root, có thể rất khó để chắc chắn 100% hệ thống sạch sẽ. Rootkit được thiết kế để khó phát hiện. Nếu bạn chạy các trình kiểm tra gốc khác nhau và nó kiểm tra sạch, thì "rất có thể" hệ thống của bạn đã sạch.

Nếu bảo mật là một mối quan tâm, tôi sẽ xem xét xây dựng lại nó như trên poster vừa nói hoặc khôi phục nó từ bản sao lưu tốt.


1

Bạn thực sự cần phải chủ động ở đây. Không có cách nào đáng tin cậy để phát hiện rootkit trên máy, do đó bạn cần ngăn chúng đến đó ngay từ đầu và tìm cách phát hiện chúng khi nhập cảnh (ví dụ: thông qua tripwire và giao diện bị khóa).

Nếu bạn nghĩ rằng một máy đã bị khai thác theo bất kỳ cách nào, bạn thực sự cần phải cài đặt lại - không có cách nào đảm bảo để dọn sạch nó ngay sau khi cài đặt lại. Cho đến nay các lựa chọn an toàn nhất.


1

RKhunter, Tripwire v.v ... rất tuyệt, nhưng thực sự chỉ có lợi nếu chúng được cài đặt trước sự cố - điều này là do chúng rất tuyệt để phát hiện xem các tệp chính có bị thay đổi hay không. Nếu bạn cài đặt RKHunter ngay bây giờ và chạy nó, nó sẽ phát hiện sự bao gồm của nhiều rootkit, nhưng nó sẽ không phát hiện bất kỳ backtime nào mà kẻ tấn công đã mở trong HĐH hoặc các ứng dụng bạn sử dụng.

Ví dụ: bạn có thể lẻn vào máy tính, tạo người dùng mới, cấp cho họ quyền SSH và sudo, sau đó dọn dẹp sau đó để lại một cấu hình tìm kiếm hợp pháp và không có rootkit - sau đó quay lại và thực hiện hành vi xấu xa của bạn.

Điều tốt nhất để làm là xem các cổng nào có dịch vụ lắng nghe chúng, sau đó xem cấu hình của tất cả các dịch vụ đó và đảm bảo tất cả chúng đều hợp pháp. Sau đó nhìn vào cấu hình tường lửa của bạn và khóa các cổng mà bạn không cần, cả trong và ngoài. Sau đó cài đặt RKHunter, v.v. để xem nếu một số script-kiddie làm rơi một bộ root trong đó một cách lộn xộn.

Thành thật mà nói, có lẽ sẽ ít việc để làm những gì JJ đề xuất và xây dựng lại hơn là đảm bảo chắc chắn rằng máy tính đã không bị xâm phạm. Đó là dữ liệu có giá trị, không phải hệ điều hành và cấu hình (ngoài giờ làm việc để thiết lập).

Bạn sẽ không bao giờ chắc chắn rằng nó không bị bẻ khóa bởi một người thông minh hơn bạn.


0

Bước đầu tiên thực sự phải là rkhunter / chkrootkit, tuy nhiên trước đây tôi cũng đã gặp may mắn với các tính năng được tích hợp trong một số trình quản lý gói nhất định, ví dụ: 'rpmverify' sẽ đi qua tất cả các gói trên hệ thống của bạn và kiểm tra xem MD5Sums của các tệp mà chúng bao gồm không khác với các tệp trên đĩa.

Các tệp nhị phân lõi thực sự phải có MD5 giống hệt với những gì được chỉ định trong cơ sở dữ liệu RPM hoặc DPKG, vì vậy nếu chúng khác nhau, bạn sẽ biết có điều gì đó kỳ lạ đang xảy ra.


-1

Cách hiệu quả nhất để xác định xem hệ thống đang chạy của bạn có bị xâm nhập hay không là sử dụng Giao diện thứ hai . Nó sẽ xác minh kernel và tất cả các phần mềm đang chạy trong bộ nhớ để đảm bảo chúng phù hợp với những gì nhà cung cấp phân phối đã vận chuyển. Đây là một cách tiếp cận tốt hơn nhiều so với rkhunter, chkrootkit, v.v., tìm kiếm các tạo tác của các bệnh nhiễm trùng đã biết cụ thể . Cái nhìn thứ hai không đưa ra giả định nào về tính toàn vẹn của hệ điều hành, vì vậy bạn không cần phải sử dụng hoặc cài đặt nó trước khi xảy ra sự cố.

(Tuyên bố miễn trừ trách nhiệm: Tôi là nhà phát triển chính của Cái nhìn thứ hai.)

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.