Máy chủ linux của tôi đã bị hack. Làm thế nào để tôi tìm ra làm thế nào và khi nào nó được thực hiện?


11

Tôi có một máy chủ gia đình đang chạy một bản phân phối Ubuntu trên máy tính để bàn. Tôi tìm thấy cái này trong crontab của tôi

* * * * * /home/username/ /.access.log/y2kupdate >/dev/null 2>&1

và khi tìm trong thư mục đó (khoảng trắng sau tên người dùng / là tên thư mục) tôi đã tìm thấy rất nhiều tập lệnh rõ ràng đang làm điều gì đó mà họ không nên làm.

Trước khi tôi xóa máy tính đó và cài đặt lại công cụ, tôi muốn tìm hiểu nguyên nhân gây ra vi phạm bảo mật và khi nào nó được thực hiện. Vì vậy, tôi không mở cùng một lỗ một lần nữa.

Tôi nên xem tập tin nhật ký nào? Các máy chủ duy nhất mà tôi biết rằng đang chạy trên máy tính là sshd và lighttpd.

Tôi nên làm gì để phát hiện nếu những điều như thế này xảy ra lần nữa?


@Person người đã bỏ phiếu để chuyển sang SU: Bạn nghĩ virus / hack pháp y liên quan đến Siêu người dùng nhiều hơn so với Lỗi máy chủ như thế nào ??
Chris S

3
Tôi rất vui khi biết rằng kế hoạch là quét sạch máy tính và cài đặt lại công cụ. Đó hoàn toàn là điều đúng đắn để làm bất kể bạn tìm thấy gì, bởi vì luôn có một cơ hội tốt có điều gì đó tồi tệ hơn mà bạn không tìm thấy.
mattdm

Bạn thực sự nên bỏ phiếu để chuyển sang Bảo mật CNTT ( security.stackexchange.com ), không phải SU hoặc Serverfault!
Rory Alsop

Câu trả lời:


4

Đầu tiên, đảm bảo máy tính bị ngắt kết nối với bất kỳ mạng nào.
Thứ hai, đảm bảo bạn nhận được bất kỳ dữ liệu quan trọng nào khỏi các ổ đĩa trước khi khởi động lại hệ điều hành bị hack.

Bắt đầu với việc kiểm tra tem thời gian trên các tập tin được đề cập. Thường thì chúng chính xác.
Tham chiếu chéo những người có nhật ký httpd và nhật ký xác thực nếu họ không xóa. Nếu một cái khác bị xóa, bạn có thể đặt cược đó là phương tiện nhập cảnh. Nếu họ vẫn còn trong chiến lược, bạn có thể thu thập thêm thông tin về cách họ truy cập từ nhật ký.

Nếu tất cả đều bị xóa sạch, bạn sẽ rất khó chịu. Nó có thể sẽ mất nhiều thời gian hơn để tìm hiểu những gì đã xảy ra hơn giá trị của nó.

Bạn đã đề cập đến hai dịch vụ đang chạy, có một tường lửa tốt để ngăn chặn mọi thứ khác được truy cập không? Bạn đã cho phép SSH trên cổng 22; đăng nhập của bạn hợp lý dễ dàng để đoán; bạn đã cho phép đăng nhập mật khẩu; bạn đã có bất kỳ loại giới hạn tỷ lệ thực cho đăng nhập mật khẩu? Bạn đã có phần mềm bổ sung nào được cài đặt với lighttpd chưa; perl; php; cgi; một CMS hoặc tương tự? Bạn đã chạy phiên bản cập nhật của tất cả các phần mềm; Bạn có đăng ký thông báo bảo mật cho tất cả phần mềm bạn chạy và đánh giá cẩn thận tất cả các thông báo để xem liệu chúng có áp dụng cho phần mềm bạn chạy / tiếp xúc với công chúng không?


Bản cài đặt là Ubuntu Desktop Edition 10.x tiêu chuẩn, không có gì đặc biệt được thực hiện để bảo mật. Tôi giả định rằng có một tường lửa đủ tốt theo mặc định. Điều đó có đúng không? Tôi đã cho phép đăng nhập mật khẩu trên cổng 22, nhưng mật khẩu là một chuỗi 8 ký tự ngẫu nhiên. Có nên đủ tốt?
Jonatan Kallus

Tôi tin rằng tường lửa mặc định là "Mở rộng - Không tường lửa". Trừ khi bạn cẩn thận cấu hình nó, nó sẽ không làm gì cả.
Chris S

Câu hỏi đặt ra là dịch vụ nào bạn chạy nhiều hơn tường lửa. Trừ khi tường lửa được thiết lập để định cấu hình IP cụ thể để truy cập, tường lửa tốt nhất là không chạy các dịch vụ không cần thiết ở nơi đầu tiên. Và thiết lập mạng của bạn là gì? Mở Internet? Bên trong một mạng riêng? Bạn không có tường lửa tại thời điểm mạng nội bộ của bạn truy cập Internet hay máy chủ của bạn ở DMZ?
Bart Silverstrim

Máy chủ được kết nối trực tiếp với internet. Tôi đã sử dụng nó như một bộ định tuyến quá. Nếu tường lửa mặc định mở rộng, thì tôi nghĩ rằng tôi có đủ giải thích cho việc này có thể xảy ra như thế nào ..
Jonatan Kallus

4

Đây là một loại chủ đề trong chính nó; bạn có thể google cho pháp y linux để biết thêm thông tin. Về cơ bản, trước tiên bạn phải tạo một hình ảnh cho các ổ đĩa của mình để phân tích ngoại tuyến, sau đó xóa sạch máy tính và cài đặt từ bản rõ ràng.

Và nhớ tất cả các sự cố. Bất cứ ai sử dụng máy tính đều có thể bị xâm nhập mật khẩu. Thay đổi mật khẩu, giữ ngoại tuyến, v.v. cho đến khi bạn nhận được nó trong "phòng sạch" (VM bị cô lập).

Mặt khác, đó là rất nhiều nhật ký kiểm tra (có thể bị làm giả) và kiểm tra các ứng dụng của bạn (tập lệnh php? Cơ sở dữ liệu? Cập nhật cho các bản sửa lỗi mới nhất? Người dùng khác đưa ra mật khẩu?)

Thực sự không có cách nào dễ dàng để trả lời câu hỏi của bạn vì bạn cần thực hiện công việc pháp y trên máy chủ và kiểm tra các lỗ hổng. Bạn có thể sử dụng một số công cụ tự động nhưng hãy ghi nhớ nếu kẻ tấn công có quyền riêng tư Root mà bạn không thể tin tưởng vào hệ thống nhị phân nữa và bạn không thể tin vào nhật ký.

Đối với các cuộc tấn công trong tương lai, tùy thuộc vào mức độ an toàn mà bạn muốn thực hiện, bạn có thể bắt đầu bằng cách chuyển hướng nhật ký của mình đến một hệ thống chỉ được sử dụng để lưu nhật ký hệ thống. Không có quyền truy cập khác, để giảm dấu chân tấn công.

Bạn cũng sẽ chạy phần mềm tổng kiểm tra trên hệ thống của mình như Tripwire để kiểm tra tính toàn vẹn của các tệp của bạn.

Và tất nhiên luôn cập nhật các bản cập nhật và chạy phần mềm quét để kiểm tra rootkit.

Một lần nữa, bảo mật không phải là một thứ dễ dàng. Nó có thể là một đặc sản trong chính nó quá. Bảo mật được xếp lớp có thể chặt chẽ như kiểm tra các máy chủ / IP không thuộc mạng của bạn, mã hóa tất cả quyền truy cập vào hệ thống, có nhật ký thay đổi hàng ngày được tìm thấy trên hệ thống của bạn và gửi một honeypot trên mạng của bạn tìm kiếm hoạt động lạ (tại sao máy chủ của tôi cố gắng kết nối với cổng 25 trên máy tính honeypot?)

Đầu tiên và quan trọng nhất nếu bạn muốn kiểm tra hoạt động, lấy hình ảnh đĩa và cài đặt lại phần mềm máy chủ. Từ đầu. Các tệp nhị phân của máy chủ không thể tin cậy được nữa.

EDIT - một số thứ khác xảy ra với tôi vì bạn đang chạy SSH - cài đặt denyhosts. Nó có thể được cấu hình để các cuộc tấn công tự động chống lại hệ thống của bạn trên SSHD sẽ bị khóa sau số lần thử X. Nó cũng có thể được cấu hình để cập nhật từ các máy chủ denyhost khác trong một "đám mây" để chia sẻ IP bị khóa để giúp giảm thiểu các cuộc tấn công tự động. Bạn cũng có thể di chuyển cổng mà nó đang nghe; Nhiều người chỉ ra rằng đó chỉ là bảo mật thông qua che khuất, nhưng với số lượng bot quét, điều này cắt giảm đáng kể các nỗ lực ngẫu nhiên để đột nhập.


Cảm ơn! Bạn thực sự đã trả lời một nửa câu hỏi, tôi ước tôi có thể đánh dấu cả hai là câu trả lời được chấp nhận.
Jonatan Kallus
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.