Các dấu hiệu nhận biết rằng máy chủ Linux đã bị hack là gì? Có công cụ nào có thể tạo và gửi email báo cáo kiểm toán theo lịch trình không?
Các dấu hiệu nhận biết rằng máy chủ Linux đã bị hack là gì? Có công cụ nào có thể tạo và gửi email báo cáo kiểm toán theo lịch trình không?
Câu trả lời:
Bạn không.
Tôi biết, tôi biết - nhưng đó là sự thật hoang tưởng, đáng buồn, thực sự;) Có rất nhiều gợi ý tất nhiên, nhưng nếu hệ thống được nhắm mục tiêu cụ thể - có thể không thể nói được. Thật tốt khi hiểu rằng không có gì là hoàn toàn an toàn. Nhưng chúng ta cần phải làm việc để an toàn hơn, vì vậy tôi sẽ chỉ vào tất cả các câu trả lời khác thay thế;)
Nếu hệ thống của bạn bị xâm phạm, không có công cụ hệ thống nào của bạn có thể được tin cậy để tiết lộ sự thật.
Tripwire là một công cụ thường được sử dụng - nó thông báo cho bạn khi các tệp hệ thống đã thay đổi, mặc dù rõ ràng bạn cần phải cài đặt nó trước. Mặt khác, các mục như tài khoản người dùng mới mà bạn không biết, các quy trình và tệp lạ mà bạn không nhận ra hoặc tăng mức sử dụng băng thông mà không có lý do rõ ràng là những dấu hiệu thông thường.
Các hệ thống giám sát khác như Zabbix có thể được cấu hình để cảnh báo bạn khi các tệp như / etc / passwd bị thay đổi.
Một số điều đã cho tôi biết trong quá khứ:
ls
(điều này có thể xảy ra với bộ root bị hỏng)/
hoặc /var/
(hầu hết các kiddies script quá ngu ngốc hoặc lười biếng để che dấu vết của chúng)netstat
hiển thị các cổng mở không nên ở đóbind
nhưng bạn luôn sử dụng djbdns
)Ngoài ra, tôi đã tìm thấy một dấu hiệu đáng tin cậy cho thấy một hộp bị xâm phạm: nếu bạn có cảm giác xấu về sự siêng năng (với các bản cập nhật, v.v.) của quản trị viên mà bạn đã kế thừa một hệ thống, hãy theo dõi chặt chẽ!
Có một phương pháp kiểm tra máy chủ bị hack thông qua kill
-
Về cơ bản, khi bạn chạy "kill -0 $ PID", bạn đang gửi tín hiệu nop để xử lý mã định danh $ PID. Nếu quá trình đang chạy, lệnh kill sẽ thoát bình thường. (FWIW, vì bạn đang truyền tín hiệu tiêu diệt nop, sẽ không có gì xảy ra với quy trình). Nếu một quá trình không chạy, lệnh kill sẽ thất bại (trạng thái thoát nhỏ hơn 0).
Khi máy chủ của bạn bị hack / rootkit được cài đặt, một trong những điều đầu tiên nó làm là bảo kernel ẩn các tiến trình bị ảnh hưởng khỏi các bảng quy trình, v.v. Tuy nhiên, nó có thể thực hiện tất cả các thứ hay ho trong không gian kernel để xử lý các quá trình. Và điều này có nghĩa là
a) Kiểm tra này không phải là kiểm tra mở rộng, vì các rootkit thông minh / được mã hóa tốt sẽ đảm bảo rằng kernel sẽ trả lời với câu trả lời "quá trình không tồn tại" làm cho kiểm tra này trở nên dư thừa. b) Dù bằng cách nào, khi một máy chủ bị tấn công có quá trình "xấu" đang chạy, thì nó thường không hiển thị dưới / Proc.
Vì vậy , nếu bạn ở đây cho đến bây giờ, phương pháp là giết -0 mọi quy trình có sẵn trong hệ thống (mọi thứ từ 1 -> / Proc / sys / kernel / pid_max) và xem liệu có các quy trình đang chạy nhưng không được báo cáo trong / Proc.
Nếu một số quy trình xuất hiện dưới dạng đang chạy, nhưng không được báo cáo trong / Proc, có lẽ bạn có vấn đề với bất kỳ cách nào bạn nhìn vào nó.
Đây là một tập lệnh bash thực hiện tất cả những điều đó - https://gist.github.com/1032229 . Lưu nó trong một số tập tin và thực hiện nó, nếu bạn tìm thấy một quá trình xuất hiện không được báo cáo trong Proc, bạn nên có một số khách hàng tiềm năng để bắt đầu đào sâu.
HTH.
Tôi sẽ thứ hai các câu trả lời được đưa ra ở đây và thêm một trong những câu trả lời của riêng tôi.
find /etc /var -mtime -2
Điều này sẽ cung cấp cho bạn một dấu hiệu nhanh nếu bất kỳ tệp máy chủ chính nào của bạn thay đổi trong 2 ngày qua.
Đây là từ một bài viết về phát hiện hack Làm thế nào để phát hiện nếu máy chủ của bạn đã bị hack.
Từ Làm cách nào tôi có thể phát hiện các xâm nhập không mong muốn trên máy chủ của mình?
Sử dụng IDS
SNORT® là một hệ thống phát hiện và ngăn chặn xâm nhập mạng nguồn mở sử dụng ngôn ngữ dựa trên quy tắc, kết hợp các lợi ích của chữ ký, giao thức và phương pháp kiểm tra dựa trên bất thường. Với hàng triệu lượt tải xuống cho đến nay, Snort là công nghệ phát hiện và ngăn chặn xâm nhập được triển khai rộng rãi nhất trên toàn thế giới và đã trở thành tiêu chuẩn thực tế cho ngành công nghiệp.
Snort đọc lưu lượng truy cập mạng và có thể tìm kiếm những thứ như "lái xe bằng cách kiểm tra bút" trong đó ai đó chỉ thực hiện quét toàn bộ metasploit đối với máy chủ của bạn. Tốt để biết những thứ này, theo ý kiến của tôi.
Sử dụng nhật ký ...
Tùy thuộc vào cách sử dụng của bạn, bạn có thể thiết lập nó để bạn biết bất cứ khi nào người dùng đăng nhập hoặc đăng nhập từ một IP lẻ hoặc bất cứ khi nào root đăng nhập hoặc bất cứ khi nào ai đó cố gắng đăng nhập. Tôi thực sự có máy chủ gửi email cho tôi mỗi thông điệp tường trình cao hơn Debug. Có, thậm chí Thông báo. Tôi lọc một số trong số họ tất nhiên, nhưng mỗi sáng khi tôi nhận được 10 email về những thứ nó khiến tôi muốn sửa nó để nó ngừng xảy ra.
Theo dõi cấu hình của bạn - Tôi thực sự giữ toàn bộ / etc của mình trong lật đổ để tôi có thể theo dõi các phiên bản.
Chạy quét. Các công cụ như Lynis và Rootkit Hunter có thể cung cấp cho bạn thông báo về các lỗ hổng bảo mật có thể có trong các ứng dụng của bạn. Có những chương trình duy trì cây băm hoặc cây băm của tất cả các thùng của bạn và có thể cảnh báo bạn về những thay đổi.
Giám sát máy chủ của bạn - Giống như bạn đã đề cập đến không gian đĩa - biểu đồ có thể cho bạn một gợi ý nếu có gì đó bất thường. Tôi sử dụng xương rồng để giữ một mắt trên CPU, lưu lượng mạng, không gian đĩa, nhiệt độ, vv Nếu một cái gì đó trông lẻ nó là lẻ và bạn nên tìm hiểu lý do tại sao nó là lẻ.
Tôi chỉ muốn thêm vào đây:
Kiểm tra lịch sử bash của bạn, nếu nó trống và bạn chưa đặt hoặc bỏ trống nó, có khả năng ai đó đã xâm phạm máy chủ của bạn.
Kiểm tra lần cuối. Hoặc bạn sẽ thấy IP không xác định hoặc nó sẽ trông rất trống rỗng.
Sau đó, như câu trả lời được chấp nhận đã nêu, các tệp hệ thống thường được thay đổi, kiểm tra ngày sửa đổi. Tuy nhiên, họ thường làm xáo trộn ngày sửa đổi.
Họ thường cài đặt một phiên bản khác của ssh chạy trên một cổng ngẫu nhiên. Điều này thường được ẩn ở một số nơi thực sự kỳ lạ. Lưu ý rằng thông thường nó sẽ được đổi tên thành một cái gì đó khác với ssh. Vì vậy, hãy kiểm tra netstat (có thể không hoạt động vì chúng thường thay thế nó) và sử dụng iptables để chặn bất kỳ cổng không xác định nào.
Trong mọi trường hợp, đây là một tình huống mà phòng bệnh hơn chữa bệnh. Nếu bạn đã bị xâm phạm, tốt nhất là chỉ định dạng và bắt đầu lại. Gần như không thể xác nhận bạn đã dọn dẹp thành công vụ hack.
Hãy lưu ý những điều sau để ngăn máy chủ của bạn bị xâm nhập.
Thật đáng giá khi lưu ý rằng một khi họ vào một máy chủ, họ sẽ kiểm tra lịch sử bash của bạn và tìm kiếm các máy chủ khác mà bạn đã kết nối thông qua ssh từ máy chủ đó. Sau đó, họ sẽ cố gắng kết nối với các máy chủ đó. Vì vậy, nếu bạn bị ép buộc vì mật khẩu kém, rất có thể họ sẽ có thể kết nối với máy chủ khác và thỏa hiệp chúng.
Đó là một thế giới xấu xí ngoài kia, tôi nhắc lại phòng bệnh hơn chữa bệnh.
Sau khi tìm kiếm xung quanh một chút, cũng có cái này, nó thực hiện những gì tôi đã liệt kê ở trên, trong số một số nội dung khác: http://www.chkrootkit.org/ và http://www.rootkit.nl/projects/rootkit_hunter.html
Bạn nên kiểm tra GuardRail. Nó có thể quét máy chủ của bạn hàng ngày và cho bạn biết những gì đã thay đổi theo cách trực quan tốt đẹp. Nó không yêu cầu một đại lý và có thể kết nối qua SSH, do đó bạn không cần phải dọn rác máy và tài nguyên của mình với một đại lý.
Trên hết, nó miễn phí cho tối đa 5 máy chủ.
Kiểm tra nó ở đây: