Những gì thiết lập phát hiện / thông báo xâm nhập tự động là tốt cho sử dụng máy tính để bàn tại nhà?


27

Tôi đã sử dụng Linux được một thời gian và tôi luôn cảm thấy cần phải thiết lập phần mềm / tập lệnh thụ động, có thể cảnh báo cho tôi về bất kỳ hoạt động mạng đáng ngờ nào như quét, thử đăng nhập thất bại, v.v. thông báo hình ảnh / âm thanh.

Tôi biết làm thế nào để tìm kiếm thông qua các bản ghi và công cụ nhưng phần lớn nó là một quá trình thủ công, tốn thời gian. Tôi đang tìm kiếm thứ gì đó bán tự động / hoàn toàn với một số khả năng phân tích cú pháp nhật ký tốt.

Tôi biết các hệ thống IDS để theo dõi các mạng như Snort, v.v. nhưng chúng là quá mức cần thiết cho người dùng gia đình trung bình và là một quá trình đau đớn để bắt đầu và chạy.

Một lựa chọn tốt cho tôi như một người dùng gia đình là gì?


Làm thế nào để bạn xác định 'thụ động'? Như trong, một cái gì đó bạn chạy một lần một mình để xem nếu một cái gì đó tanh đang xảy ra?
Nanne

Câu trả lời:


15

Một giải pháp chung đơn giản và hiệu quả là sử dụng logcheck .

sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]

logcheck định kỳ quét tất cả các bản ghi một cách hiệu quả (bắt đầu từ nơi nó rời đi lần trước), lọc những gì nó thấy để loại bỏ bất cứ thứ gì được coi là bình thường và tùy chọn gửi email cảnh báo với bất kỳ thứ gì không phù hợp với mẫu thông thường / thông thường.

Ý tưởng chính là đề phòng sự xuất hiện của bất kỳ mục nghiêm trọng nào trong các tệp nhật ký của bạn, tất cả chúng, mọi lúc, vì vậy bạn không cần phải làm vậy.

logcheck có cấu hình cao (man logcheck). Bạn có thể định cấu hình mọi thứ, bao gồm:

  • tần suất kiểm tra
  • tập tin nhật ký nào được kiểm tra
  • những gì được coi là bình thường so với không
  • nơi gửi email thông báo (sự kiện bất thường) đến

và hơn thế nữa. Các mẫu bỏ qua (bình thường / thường lệ) của bạn nằm trong nhiều tệp trong /etc/logcheck/ignore.d.* và bạn có thể tùy chỉnh chúng theo nhu cầu của mình; chủ yếu bạn có thể muốn thêm các mẫu của riêng bạn để bỏ qua. Gói Ubuntu mặc định đi kèm với một tập hợp các tệp rộng lớn với các mẫu bỏ qua cho nhiều dịch vụ, vì vậy không có gì nhiều để thêm trừ khi hệ thống của bạn không bình thường trong những gì nó chạy. Có 3 bộ hồ sơ tệp bỏ qua được cấu hình sẵn: ign.d.workstation , ign.d.serverign.d.paranoid mà bạn có thể chọn.

Ý tưởng chính đằng sau logcheck là các dịch vụ khác nhau chạy trên một hệ thống, đã ghi lại các sự kiện bất thường. Ví dụ: sshd hoặc pam đã đăng nhập thất bại xác thực. Vì vậy, các thành phần bị thiếu chính là:

  • lọc những gì bình thường
  • Các cảnh báo dịch vụ

Cả hai đều được cung cấp bởi logcheck trong một gói tiện lợi. Bạn có thể kết hợp logcheck với bất kỳ đăng nhập khác. Ví dụ: iptables có thể được cấu hình để syslog mọi nỗ lực kết nối mạng không được phép rõ ràng bằng cách thêm các quy tắc:

 iptables -A input -j LOG
 iptables -A input -j DROP

ngay sau khi tất cả các quy tắc cho phép.

Tôi thấy logcheck hữu ích hơn nhiều so với logwatch (được đề xuất trong các câu trả lời khác) bởi vì nó được đóng gói sẵn với một số lượng rất lớn các quy tắc để bỏ qua những gì được coi là hoạt động bình thường. Kết quả là tỷ lệ tín hiệu / nhiễu cao hơn nhiều trong các cảnh báo mà nó gửi qua email. YMMV.

Một ưu điểm khác của logcheck là nó trực giao với bất kỳ dịch vụ nào ghi nhật ký, do đó không có sự trùng lặp về chức năng. Bất cứ khi nào bạn thêm một dịch vụ mới sử dụng syslogđể ghi nhật ký sự kiện, bất thường hay không, vào bất kỳ tệp nào dưới /var/logbạn sẽ bắt đầu nhận thông báo cho dịch vụ đó một cách tự động.

LÀM THẾ NÀO ĐỂ:

logcheckđã được cấu hình sẵn, hai dòng ở đầu câu trả lời này về cơ bản bao gồm tất cả những gì bạn cần để bắt đầu. Chỉ cần cài đặt nó và đi qua tệp cấu hình trên cùng: /etc/logcheck/logcheck.confđể thay đổi địa chỉ email của bạn để logcheckemail thông báo cho bạn.

Đây là một tài liệu tham khảo thân thiện đi qua bước thứ hai chi tiết hơn . Vì Ubuntu dựa trên Debian, các hướng dẫn này cũng sẽ hoạt động trên Ubuntu. Đây là một tài liệu tham khảo tốt .

Sau khi bạn cài đặt, quá trình cải tiến liên tục bắt đầu. Theo thời gian, bạn tinh chỉnh các quy tắc của mình để bỏ qua bất cứ điều gì bạn đã biết và cảm thấy không nên quan tâm. Quá trình sàng lọc này đơn giản như việc thêm các dòng văn bản vào một tệp trong trình soạn thảo văn bản yêu thích của bạn.

Mỗi dòng trong tệp bỏ qua là một biểu thức chính quy mở rộng (xem man 7 regex), nhưng bạn có thể sử dụng các chuỗi đơn giản miễn là chúng khớp với dòng nhật ký bạn muốn bỏ qua. Chỉ cần nhớ rằng nhân vật thích *, ?, '+', [], ()là đặc biệt trong một biểu thức chính quy, vì vậy nếu họ thực sự xuất hiện trong dòng nhật ký, bạn sẽ phải thoát khỏi chúng với một dấu chéo ngược \trong bỏ qua tập tin.

Nói cách khác: nếu bạn nhận được một cảnh báo mà bạn không muốn nhận, hãy xem dòng nhật ký được gửi qua email cho bạn và thêm một mẫu phù hợp với nó, như một dòng vào bất kỳ tệp bỏ qua nào bạn chọn. Tôi đề nghị sử dụng /etc/logcheck/ignore.d.<yourloglevel>/my-ignoresnhư tập tin bỏ qua cá nhân của bạn. Trong trường hợp <yourloglevel>là một trong những paranoid, serverhoặc workstation(như bạn đã chọn trong tập tin cấu hình chính: /etc/logcheck/logcheck.conf). Xem các ví dụ trong các tệp bỏ qua khác để xem cách hạch toán văn bản thay đổi mọi lúc như ID quá trình hoặc dấu thời gian. Có rất nhiều ví dụ hiện có để học hỏi.

Một mẹo cuối cùng: logcheckđi kèm với một tiện ích nhỏ hữu ích được gọi logcheck-testlà rất tiện dụng để thử nghiệm các quy tắc mới. man logcheck-testđể biết chi tiết.


Xin chào, tôi thích ý tưởng đằng sau logcheck ... bạn có thể chỉ cho tôi một hướng dẫn chuyên sâu cho điều đó không? Cảm ơn :)
irenicus09

1
@ irenicus09: Chỉ cần thêm phần hướng dẫn với một liên kết tùy chọn để tham khảo.
thân

Congratz về chiến thắng tiền thưởng, người đàn ông trả lời bằng văn bản rất tốt. Cảm ơn :)
irenicus09

3

Nếu bạn không có nhiều hệ thống trên mạng, việc thiết lập IDS như Snort có thể là quá mức cần thiết (đặc biệt là nếu bạn không có bất kỳ dịch vụ mạng nào trên máy của mình). Tôi khuyên bạn nên bắt đầu bằng cách định cấu hình logwatch để gửi cho mình bản báo cáo về những gì đang diễn ra trên hệ thống của bạn. Khi bạn đã có nó, hãy cấu hình nhật ký hệ thống của bạn để bạn có được càng nhiều thông tin liên quan càng tốt.


Xin chào, tôi thích câu trả lời của bạn ... nhưng bạn có thể vui lòng chia sẻ thêm một chút chi tiết về cách thực hiện điều đó. Lộn xộn với cấu hình có thể khá khó khăn, đặc biệt đối với người dùng thiếu kinh nghiệm. Nhưng tôi đánh giá cao nếu bạn có thể chỉ cho tôi một hướng dẫn chuyên sâu cho điều đó. Cảm ơn.
irenicus09

@ irenicus09 Tôi nghĩ rằng điều này là đủ: Cách thiết lập Logwatch trên các hệ thống dựa trên Ubuntu
AndrewX192

cảm ơn đã hướng dẫn, tôi đã thiết lập thành công logwatch và tôi thích nó. Đối với màn hình quét cổng, tôi cũng đã thiết lập portentry và tôi sẽ thử các công cụ và công cụ khác trước khi tôi hoàn thành công cụ nào tốt nhất cho mình :)
irenicus09

1

Chắc chắn phát hiện xâm nhập là cần thiết khi bạn chạy các dịch vụ (ftp, web, nfs, ssh, v.v.) trong mạng của bạn. Điều này là do chúng được hiển thị trên internet và do:

  • lỗi cấu hình
  • lỗ hổng phần mềm

họ cần giám sát hàng ngày bởi một quản trị viên mạng có kinh nghiệm. Nếu bạn chạy dịch vụ này, có lẽ bạn đã có kiến ​​thức tối thiểu để tránh vấn đề này.

Nếu bạn không chạy bất kỳ dịch vụ nào trong số này, thì tường lửa bộ định tuyến internet của bạn, đã chặn mọi kết nối đến trên các cổng. Để quét bộ định tuyến mạng của bạn

Nếu bạn là tất cả các màu xanh lá cây, thì tất cả các bạn là tốt.

Cuối cùng nhưng không kém phần quan trọng, có lẽ bộ định tuyến của bạn có hệ thống phát hiện xâm nhập tích hợp (vì 99% tất cả các bộ định tuyến chạy máy chủ linux bị sọc). Đối với điều này, bạn phải kiểm tra hướng dẫn của nhà sản xuất bộ định tuyến của bạn.


Xin chào, cảm ơn câu trả lời của bạn. Nó khá sâu sắc và tôi nhận thức được mọi thứ mà bạn đang nói. Nhưng quan điểm của tôi là giả sử tôi đang chạy các dịch vụ khác nhau trên hệ thống của mình, làm thế nào để tôi theo dõi chính xác các hoạt động từ góc độ bảo mật. Tôi cần một giải pháp đơn giản, dễ sử dụng như một người dùng gia đình và tôi nghĩ rằng bạn đã tránh được phần đó :)
irenicus09
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.